core.gradients
Submodules
core.gradients.chirpscan_z_error_gradients module
- core.gradients.chirpscan_z_error_gradients.Z_gradient_shg(pulse_t_dispersed, difference_signal_t, sk, rn, n)[source]
- core.gradients.chirpscan_z_error_gradients.Z_gradient_thg(pulse_t_dispersed, difference_signal_t, sk, rn, n)[source]
- core.gradients.chirpscan_z_error_gradients.Z_gradient_pg(pulse_t_dispersed, difference_signal_t, sk, rn, n)[source]
- core.gradients.chirpscan_z_error_gradients.Z_gradient_nhg(pulse_t_dispersed, difference_signal_t, sk, rn, n)[source]
- core.gradients.chirpscan_z_error_gradients.calculate_Z_gradient(pulse_t_dispersed, signal_t, signal_t_new, phase_matrix, measurement_info)[source]
Calculates the analytical Z-error gradient of a chirp-scan method and a given nonlinear method. The gradient is calculated in the frequency domain.
- Parameters:
pulse_t_dispersed (jnp.array) – the current guess after phase_matrix was applied
signal_t (jnp.array) – the signal field of the current guess
signal_t_new (jnp.array) – the signal field after projection onto the measured intensity
phase_matrix (jnp.array) – the phase matrix which was applied
measurement_info (Pytree) – contains measurement data and parameters
- Returns:
jnp.array, the Z-error gradient
core.gradients.frog_z_error_gradients module
- core.gradients.frog_z_error_gradients.Z_gradient_shg(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_thg(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_pg(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_sd(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_nhg(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_cross_correlation_pulse(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_shg_cross_correlation_gate(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_thg_cross_correlation_gate(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_pg_cross_correlation_gate(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_sd_cross_correlation_gate(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_nhg_cross_correlation_gate(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_shg_interferometric(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_thg_interferometric(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_pg_interferometric(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_nhg_interferometric(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_shg_interferometric_cross_correlation_pulse(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_thg_interferometric_cross_correlation_pulse(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_pg_interferometric_cross_correlation_pulse(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_nhg_interferometric_cross_correlation_pulse(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_shg_interferometric_cross_correlation_gate(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_thg_interferometric_cross_correlation_gate(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_pg_interferometric_cross_correlation_gate(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.Z_gradient_nhg_interferometric_cross_correlation_gate(deltaS, pulse_t, pulse_t_shifted, gate_shifted, exp_arr, sk, rn, n)[source]
- core.gradients.frog_z_error_gradients.calculate_Z_gradient_pulse(signal_t, signal_t_new, pulse_t, pulse_t_shifted, gate_shifted, tau_arr, measurement_info, is_tdp)[source]
- core.gradients.frog_z_error_gradients.calculate_Z_gradient_gate(signal_t, signal_t_new, pulse_t, pulse_t_shifted, gate_shifted, tau_arr, measurement_info, is_tdp)[source]
- core.gradients.frog_z_error_gradients.calculate_Z_gradient(signal_t, signal_t_new, pulse_t, pulse_t_shifted, gate_shifted, tau_arr, measurement_info, pulse_or_gate, is_tdp=False)[source]
Calculates the Z-error gradient with respect to the pulse or the gate-pulse for a given FROG measurement. The gradient is calculated in the frequency domain.
- Parameters:
signal_t (jnp.array) – the current signal field
signal_t_new (jnp.array) – the current signal field projected onto the measured intensity
pulse_t (jnp.array) – the current guess
pulse_t_shifted (jnp.array) – the current guess translated on the time axis
gate_shifted (jnp.array) – the current gate translated on the time axis
tau_arr (jnp.array) – the delays
measurement_info (Pytree) – contains measurement data and parameters
pulse_or_gate (str) – whether the gradient is calculated with respect to the pulse or the gate-pulse
- Returns:
jnp.array, the Z-error gradient
core.gradients.streaking_z_error_gradients module
- core.gradients.streaking_z_error_gradients.Z_gradient_EUV_pulse(signal_t, signal_t_new, tau_arr, measurement_info)[source]
- core.gradients.streaking_z_error_gradients.Z_gradient_vectorpotential(signal_t, signal_t_new, tau_arr, measurement_info)[source]
Grad contains product-rule. Thus two terms are calculcated and then added up. First the part where A appears in the shift of the DTME, then the part where A appears in the volkov phase.
- core.gradients.streaking_z_error_gradients.Z_gradient_DTME(signal_t, signal_t_new, tau_arr, measurement_info)[source]
- core.gradients.streaking_z_error_gradients.calculate_Z_gradient(signal_t, signal_t_new, tau_arr, measurement_info, pulse_or_gate)[source]
Calculates the Z-error gradient with respect to the pulse, gate-pulse or the DTME for a given Streaking measurement. The gradient is calculated in the frequency domain.
- Parameters:
signal_t (jnp.array) – the current signal field
signal_t_new (jnp.array) – the current signal field projected onto the measured intensity
tau_arr (jnp.array) – the delays
measurement_info (Pytree) – contains measurement data and parameters
pulse_or_gate (str) – whether the gradient is calculated with respect to the pulse or the gate-pulse
- Returns:
jnp.array, the Z-error gradient
core.gradients.tdp_z_error_gradients module
- core.gradients.tdp_z_error_gradients.calculate_Z_gradient(signal_t, signal_t_new, pulse_t, pulse_t_shifted, gate_shifted, tau_arr, measurement_info, pulse_or_gate, is_tdp=True)[source]
Calculates the Z-error gradient with respect to the pulse or the gate-pulse for a given Time-Domain-Ptychography measurement. The gradient is calculated in the frequency domain.
- Parameters:
signal_t (jnp.array) – the current signal field
signal_t_new (jnp.array) – the current signal field projected onto the measured intensity
pulse_t (jnp.array) – the current guess
pulse_t_shifted (jnp.array) – the current guess translated on the time axis
gate_shifted (jnp.array) – the current gate translated on the time axis
tau_arr (jnp.array) – the delays
measurement_info (Pytree) – contains measurement data and parameters
pulse_or_gate (str) – whether the gradient is calculated with respect to the pulse or the gate-pulse
- Returns:
jnp.array, the Z-error gradient
core.gradients.twodsi_z_error_gradients module
- core.gradients.twodsi_z_error_gradients.Z_gradient_shg_pulse(deltaS, pulse_t, gate_pulses, gate, exp_arr, sk, rn, n)[source]
- core.gradients.twodsi_z_error_gradients.Z_gradient_thg_pulse(deltaS, pulse_t, gate_pulses, gate, exp_arr, sk, rn, n)[source]
- core.gradients.twodsi_z_error_gradients.Z_gradient_pg_pulse(deltaS, pulse_t, gate_pulses, gate, exp_arr, sk, rn, n)[source]
- core.gradients.twodsi_z_error_gradients.Z_gradient_sd_pulse(deltaS, pulse_t, gate_pulses, gate, exp_arr, sk, rn, n)[source]
- core.gradients.twodsi_z_error_gradients.Z_gradient_nhg_pulse(deltaS, pulse_t, gate_pulses, gate, exp_arr, sk, rn, n)[source]
- core.gradients.twodsi_z_error_gradients.Z_gradient_cross_correlation_pulse(deltaS, pulse_t, gate_pulses, gate, exp_arr, sk, rn, n)[source]
- core.gradients.twodsi_z_error_gradients.Z_gradient_shg_cross_correlation_gate(deltaS, pulse_t, gate_pulses, gate, exp_arr, sk, rn, n)[source]
- core.gradients.twodsi_z_error_gradients.Z_gradient_thg_cross_correlation_gate(deltaS, pulse_t, gate_pulses, gate, exp_arr, sk, rn, n)[source]
- core.gradients.twodsi_z_error_gradients.Z_gradient_pg_cross_correlation_gate(deltaS, pulse_t, gate_pulses, gate, exp_arr, sk, rn, n)[source]
- core.gradients.twodsi_z_error_gradients.Z_gradient_sd_cross_correlation_gate(deltaS, pulse_t, gate_pulses, gate, exp_arr, sk, rn, n)[source]
- core.gradients.twodsi_z_error_gradients.Z_gradient_nhg_cross_correlation_gate(deltaS, pulse_t, gate_pulses, gate, exp_arr, sk, rn, n)[source]
- core.gradients.twodsi_z_error_gradients.calculate_Z_gradient_pulse(signal_t, signal_t_new, pulse_t, gate_pulses, gate, tau_arr, measurement_info, is_vampire)[source]
- core.gradients.twodsi_z_error_gradients.calculate_Z_gradient_gate(signal_t, signal_t_new, pulse_t, gate_pulses, gate, tau_arr, measurement_info, is_vampire)[source]
- core.gradients.twodsi_z_error_gradients.calculate_Z_gradient(signal_t, signal_t_new, pulse_t, gate_pulses, gate, tau_arr, measurement_info, pulse_or_gate, is_vampire=False)[source]
Calculates the Z-error gradient with respect to the pulse or the gate-pulse for a given 2DSI measurement. The gradient is calculated in the frequency domain.
- Parameters:
signal_t (jnp.array) – the current signal field
signal_t_new (jnp.array) – the current signal field projected onto the measured intensity
pulse_t (jnp.array) – the current guess
gate_pulses (jnp.array) – the current gate-pulse guess
gate (jnp.array) – the current gate
tau_arr (jnp.array) – the delays
measurement_info (Pytree) – contains measurement data and parameters
pulse_or_gate (str) – whether the gradient is calculated with respect to the pulse or the gate-pulse
- Returns:
jnp.array, the Z-error gradient
core.gradients.vampire_z_error_gradients module
- core.gradients.vampire_z_error_gradients.calculate_Z_gradient(signal_t, signal_t_new, pulse_t, gate_pulses, gate, tau_arr, measurement_info, pulse_or_gate, is_vampire=True)[source]
Calculates the Z-error gradient with respect to the pulse or the gate-pulse for a given VAMPIRE measurement. The gradient is calculated in the frequency domain.
- Parameters:
signal_t (jnp.array) – the current signal field
signal_t_new (jnp.array) – the current signal field projected onto the measured intensity
pulse_t (jnp.array) – the current guess
gate_pulses (jnp.array) – the current gate-pulse guess
gate (jnp.array) – the current gate
tau_arr (jnp.array) – the delays
measurement_info (Pytree) – contains measurement data and parameters
pulse_or_gate (str) – whether the gradient is calculated with respect to the pulse or the gate-pulse
- Returns:
jnp.array, the Z-error gradient