Processing Objects Summary
Processing objects for simulating AO system components. Total: 99 classes.
Class |
Description |
Inputs |
Outputs |
|---|---|---|---|
Abstract coronagraph class processing object. This
class provides the basic structure for a
coronagraph processing object.
|
in_ef |
out_ef |
|
Apodizing Phase Plate (APP) coronagraph class.
This class implements an APP coronagraph, which
uses a phase-only mask in the pupil plane to
create a dark hole in the focal plane.
|
in_ef |
out_ef |
|
Atmospheric turbulence evolution processing
object. Generates and evolves atmospheric phase
screens based on input parameters such as seeing,
wind speed, and wind direction.
|
seeing, wind_speed,
wind_direction
|
layer_list |
|
Atmospheric turbulence evolution processing object
with separate layer lists for upward and downward
propagation. This class extends AtmoEvolution to
provide two independent layer lists with different
extra_delta_time values.
|
seeing, wind_speed,
wind_direction
|
layer_list, layer_list_down,
layer_list_up
|
|
Atmospheric infinite phase screens evolution
processing object. Generates and evolves
atmospheric phase screens based on input
parameters such as seeing, wind speed, and wind
direction.
|
seeing, wind_speed,
wind_direction
|
layer_list |
|
Atmospheric infinite phase screens evolution
processing object with separate layer lists for
upward and downward propagation. This class
extends AtmoInfiniteEvolution to provide two
independent layer lists with different
extra_delta_time values.
|
seeing, wind_speed,
wind_direction
|
layer_list, layer_list_down,
layer_list_up
|
|
Atmospheric propagation processing object. This
processing object simulates the propagation of
light through atmospheric turbulence layers. It
can perform both geometric and physical (Fresnel)
propagation, depending on the configuration.
|
atmo_layer_list (opt),
common_layer_list
|
out_[source_name]_ef |
|
Atmospheric random phase screen generator
processing object. Atmospheric phase screen
generator producing random (uncorrelated) phase
screens.
|
seeing, pupilstop |
out_[source_name_]layer,
out_[source_name_]ef
|
|
Active Vibration Cancellation processing object. |
in_measurement |
out_comm |
|
Base filter processing object. Base class for
time-domain filters with delay support.
|
delta_comm, gain_mod (opt) |
out_comm, out_comm_no_delay |
|
Base Generator processing object. Base class for
function generators. All specific generators
inherit from this class and implement
trigger_code().
|
output |
||
Base Inserter processing object. Inserts a small
vector into a larger. Mirrors the BaseSlicer
interface, but for insertion.
|
in_value |
out_value |
|
Base Modal Reconstructor processing object.
Handles common slope inputs, modal outputs, and
memory allocation for all modal reconstructors.
Specific algorithms implement trigger_code().
|
in_slopes (opt),
in_slopes_list (opt)
|
out_modes |
|
Base Operation processing object. Simple
operations with base value(s).
|
in_value1, in_value2 (opt) |
out_value |
|
Base Slicer processing object. Extracts a subset
of values from a BaseValue based on an index, list
of indices, or a slice.
|
in_value |
out_value |
|
Base SPRINT (System Parameters Recurrent Invasive
Tracking) Estimator. This class implements the
core logic for online estimation of WFS-DM
mis-registration parameters using slope
demodulation and iterative refinement.
|
in_slopes |
out_intmat, out_misreg_params,
out_convergence_error
|
|
Detector processing object simulating a CCD camera
from intensity field. It integrates the input
intensity over a given time (dt) and applies
various noise sources to simulate a realistic CCD
image.
|
in_i |
out_pixels, integrated_i |
|
Ciao-Ciao sensor (rotating shearing
interferometer) processing object. The object
duplicates the input electric field, rotates one
copy, applies a user-defined tip/tilt to the
rotated copy, then coherently sums the two complex
fields and outputs the resulting intensity.
|
in_ef |
out_i |
|
Slope computer for the CiaoCiao WFS processing
object.
|
in_pixels |
out_slopes,
out_flux_per_subaperture,
out_total_counts,
out_subap_counts
|
|
Slope Computer for Curvature Wavefront Sensor
processing object. Computes the normalized
difference between intra-focal and extra-focal
fluxes on a pixel-by-pixel basis using PupData
indices.
|
in_pixels1, in_pixels2 |
out_slopes,
out_flux_per_subaperture,
out_total_counts,
out_subap_counts, out_pupdata
|
|
Curvature Wavefront Sensor (CWFS) propagator
processing object. This class applies a Zernike
Focus aberration (defocus) to the input electric
field and propagates it to generate intra-focal
and extra-focal intensity images.
|
in_ef |
out_i1, out_i2 |
|
Data buffering processing object. Accumulates data
and outputs it every N steps.
|
|||
Data print processing object. Print data values to
screen at regular intervals
|
in_value |
||
Data source processing object. Loads data from
files and outputs it based on the current time.
|
|||
Data storage processing object. Stores input
values over time, optionally downsampling them on
a per-input basis, and saves them to disk at the
end of the run.
|
|||
Demodulator processing object for modal amplitude
estimation. Demodulates input signals using
carrier frequencies and outputs scalar values
representing modal amplitudes.
|
in_data |
output |
|
Display server processing object. Copies data
objects to a separate process using
multiprocessing queues. In this instance, the
separate process is a Flask web server, but this
class could be easily made generic to support
different kinds of export processes.
|
|||
SH class that distributes work on multiple
devices.
|
in_ef |
out_i |
|
Deformable Mirror processing object. It receives a
command vector as input and produces a Layer
object representing the DM wavefront.
|
in_command |
out_layer |
|
Double roof slope computer processing object. A
DoubleRoofSlopec is a standard pyramid slope
computer, customized for the double-roof case.
|
in_pixels |
out_slopes,
out_flux_per_subaperture,
out_total_counts,
out_subap_counts, out_pupdata
|
|
Dynamic dark frame calibrator for pixel streams. |
in_pixels, in_trigger (opt),
in_nframes (opt), in_load
(opt), in_save (opt),
in_reset (opt)
|
out_darkframe,
out_subtracted_pixels
|
|
Dynamic Infinite Impulse Response filter
processing object. Same as standard IIR filter,
with dynamic parameters.
|
delta_comm, gain_mod (opt),
in_ost (opt), reset (opt),
int_gain (opt)
|
out_comm, out_comm_no_delay |
|
Dynamic integrator with runtime-adjustable gain
and reset capability.
|
delta_comm, gain_mod (opt),
in_ost (opt), reset (opt),
int_gain (opt)
|
out_comm, out_comm_no_delay |
|
Dynamic Pyramid Pupdata Calibrator. Pyramid pupil
data calibrator with interactive control.
|
in_i (opt), in_pixels
(opt), in_save (opt),
in_dt (opt), in_thr1
(opt), in_thr2 (opt),
in_output_tag (opt)
|
out_pupdata, out_params |
|
Combines two input electric fields. |
in_ef1, in_ef2, in_ef_list
(opt)
|
out_ef |
|
Reflects an input electric field (changes the sign
of the phase).
|
in_ef |
out_ef |
|
Pyramid processing object for extended sources.
Extends the ModulatedPyramid processing object to
handle extended sources.
|
in_ef, ext_source_coeff |
out_i, out_psf_tot,
out_psf_bfm, out_transmission,
out_flux_frac_inside_detector
|
|
Extended source processing object. Computes
extended sources (list of 3D points) for pyramid
wavefront sensing.
|
psf (opt) |
coeff |
|
Basic focal plane filter processing object.
Consists of a round pupil with a given diameter
and optional obstruction in the center.
|
in_ef |
out_ef |
|
Focal plane mask processing object. Generates a
mask with four quadrants.
|
in_ef |
out_ef |
|
Gain optimizer processing object. Implements IIR
filters based on modal gain optimization (GENDRON
1994).
|
delta_comm, out_comm,
optical_gain (opt)
|
optimized_gain |
|
Ideal derivative sensor processing object.
Computes slopes from wavefront derivatives.
|
in_ef |
out_slopes |
|
Infinite Impulse Response filter processing
object. Implements IIR filtering with optional
integration control.
|
delta_comm, gain_mod (opt),
in_ost (opt)
|
out_comm, out_comm_no_delay |
|
Interaction matrix calibrator processing object. |
in_slopes, in_commands |
out_intmat, out_single_im |
|
Interaction Matrix and Reconstruction Matrix
Generator processing object for Shack-Hartmann
WFS.
|
in_misreg_params |
out_intmat, out_recmat |
|
Infinite Impulse Response filter processing
object. Implements IIR filtering with optional
integration control.
|
delta_comm, gain_mod (opt),
in_ost (opt)
|
out_comm, out_comm_no_delay |
|
LIFT algorithm processing object. Implements the
LIFT algorithm for phase estimation from a focal
plane image, as described in Meimon et al. 2010.
|
in_pixels |
out_pistons, out_zern |
|
WFS settings |
|||
Linear combination processing objects. Combination
of multiple input vectors, specialized for
MORFEO-like systems
|
in_vectors_list |
out_vector |
|
Low pass filter processing object. Specialization
of the IirFilter class, implementing a low pass
filter.
|
delta_comm, gain_mod (opt),
in_ost (opt)
|
out_comm, out_comm_no_delay |
|
Lyot coronograh processing object. Focal plane
mask implementing a Lyot coronagraph
|
in_ef |
out_ef |
|
Mirror commands combinator processing object,
Combines commands from multiple sources,
specialized for MORFEO-like systems
|
in_commandsHO, in_commandsLO,
in_commandsF, in_commandsP
|
out_result_commands1,
out_result_commands2,
out_result_commands3
|
|
MMSE piston unwrapper processing object. |
in_comm |
out_comm, out_ost |
|
Modal analysis processing object. Decomposition of
an input ElectricField into modes defined by an
influence function (e.g. Zernike polynomials).
|
in_ef, in_ef_list (opt) |
out_modes, rms, out_modes_list |
|
Standard modal reconstructor processing object.
Performs pure matrix-vector multiplication: modes
= recmat @ slopes.
|
in_slopes (opt),
in_slopes_list (opt)
|
out_modes |
|
Explicit Pseudo Open Loop Control (POLC) modal
reconstructor processing object.
|
in_slopes (opt),
in_slopes_list (opt),
in_commands (opt),
in_commands_list (opt)
|
out_modes, out_pseudo_ol_modes |
|
POLC modal reconstructor processing object. Uses
implicit Pseudo Open Loop Control (POLC) to reduce
computational cost.
|
in_slopes (opt),
in_slopes_list (opt),
in_commands (opt),
in_commands_list (opt)
|
out_modes |
|
Multirate Tomographic Reconstructor processing
object (for MORFEO-like systems).
|
in_slopes_list |
out_modes_[sensor_idx] |
|
Pyramid wavefront sensor with double roof
processing object. Includes tip-tilt modulation
and double roof.
|
in_ef |
out_i, out_psf_tot,
out_psf_bfm, out_transmission,
out_flux_frac_inside_detector
|
|
Pyramid wavefront sensor processing object.
Includes tip-tilt modulation.
|
in_ef |
out_i, out_psf_tot,
out_psf_bfm, out_transmission,
out_flux_frac_inside_detector
|
|
Multiple IM calibrator processing object.
Interaction matrix calibrator for multiple
sources/sensors pairs
|
in_slopes_list,
in_commands_list
|
out_intmat_list,
out_intmat_full
|
|
Multiple reconstructor calibrator processing
object. Calibrates reconstruction matrices for
multiple sources/sensors pairs
|
intmat_list, full_intmat |
||
Multirate filter for differential sensor fusion
(Generalized Barycentric Approach).
|
in_yf, in_ys, in_vec, gain_mod
(opt)
|
out_comm, out_comm_no_delay |
|
Matrix-Vector Multiplication processing object.
Simplified modal reconstructor for BaseValue
inputs
|
in_vector |
out_vector |
|
Optical Gain Estimator processing object.
Estimates optical gain based on demodulated
signals.
|
in_demod_delta_command,
in_demod_command
|
optical_gain, output |
|
Phase-apodized-pupil Lyot (PAPL) coronagraph
class. This class implements a PAPL coronagraph,
which uses a phase-only mask in the pupil plane to
create a dark hole in the focal plane.
|
in_ef |
out_ef |
|
Phase flattening processing object. Removes the
mean phase from an input electric field.
|
in_ef |
out_ef |
|
User-defined phase screen cube data object.
Applies a spatio-temporal phase screen cube on the
specified line of sight. The cube’s temporal
sampling does not need to match the simulation’s
sampling.
|
pupilstop |
out_layer, out_ef |
|
Polychromatic Shack-Hartmann sensor that wraps
multiple monochromatic SH sensors.
|
in_ef |
out_i |
|
Poly-chromatic WFS abstract processing object.
Base class for polychromatic wavefront sensors
which handles multiple wavelengths, flux factors,
tilts, and output normalization.
|
in_ef |
out_i |
|
Poly-chromatic Pyramid sensor processing object.
Wraps multiple monochromatic ModulatedPyramid
sensors, each of which can have its own
wavelength, flux factor, and differential tilt.
|
in_ef |
out_i |
|
Power Loss processing object. Computes power loss
in dB from the flux at the sensor and the receiver
diameter.
|
se_sr |
out_power_loss |
|
Point Spread Function (PSF) processing object.
Computes PSF, Strehl ratio (SR), integrated PSF
and SR, and PSF standard deviation over time from
an input ElectricField.
|
in_ef |
out_sr, out_psf, out_int_sr,
out_int_psf, out_std_psf,
out_psf_profile, out_psf_fwhm,
out_encircled_energy,
out_encircled_energy_at_radius,
out_int_psf_profile,
out_int_psf_fwhm,
out_int_encircled_energy,
out_int_encircled_energy_at_radius
|
|
Perfect coronagraph processing object.. The
implementation includes the standard PSF
calculation as it inherits from the PSF class.
|
in_ef |
out_sr, out_psf, out_int_sr,
out_int_psf, out_std_psf,
out_psf_profile, out_psf_fwhm,
out_encircled_energy,
out_encircled_energy_at_radius,
out_int_psf_profile,
out_int_psf_fwhm,
out_int_encircled_energy,
out_int_encircled_energy_at_radius,
out_coronagraph_psf,
out_int_coronagraph_psf,
out_std_coronagraph_psf,
out_coronagraph_psf_profile,
out_int_coronagraph_psf_profile,
out_std_coronagraph_psf_profile
|
|
Processing object that updates a Pupilstop object
over time.
|
in_rotation_deg (opt),
in_shift_xy_px (opt),
in_magnification (opt)
|
out_layer |
|
Push-Pull Generator processing object. Generates
push-pull signals for modal calibration.
|
output |
||
Pyramid PupData Calibrator processing object.
Calibrator for pyramid pupils.
|
in_i (opt), in_pixels
(opt)
|
out_pupdata |
|
Pyramid slopes computer processing object.
Computes pyramid slopes from pixel data using the
4 pupil intensities.
|
in_pixels |
out_slopes,
out_flux_per_subaperture,
out_total_counts,
out_subap_counts, out_pupdata
|
|
Random Generator processing object. Generates
random signals (normal or uniform distribution).
|
output |
||
Reconstruction matrix calibrator processing
object. Analyzes an interaction matrix (Intmat) to
compute a reconstruction matrix (Rec).
|
in_intmat |
||
Schedule Generator processing object. Generates
scheduled values which change at specified times.
|
output |
||
Shack-Hartmann wavefront sensor processing object.
Takes an electric field as input and produces an
intensity as output.
|
in_ef, sodium_altitude
(opt), sodium_intensity
(opt)
|
out_i |
|
Shack-Hartmann slopes computer processing object.
Computes Shack-Hartmann slopes from pixel data
using the subaperture intensities.
|
in_pixels |
out_slopes,
out_flux_per_subaperture,
out_total_counts,
out_subap_counts,
out_subapdata
|
|
Shack-Hartmann Subaperture Calibrator processing
object. Analyzes a calibration image to detect
subaperture positions and generate a SubapData
object.
|
in_i (opt), in_pixels
(opt)
|
||
Slope Computer abstract processing object. Base
class for processing objects that compute slopes
from pixel data, such as Shack-Hartmann or Pyramid
slopes.
|
in_pixels |
out_slopes,
out_flux_per_subaperture,
out_total_counts,
out_subap_counts
|
|
Slope null calibrator processing object. Analyzes
a set of slope measurements to compute an average
slope null, which is then saved as a Slopes
object.
|
in_slopes |
||
Specula input processing object. Handles
interactive inputs
|
|||
Spot Monitor processing object. Monitors wavefront
sensor spot quality by fitting a 2D Moffat
profile.
|
in_pixels |
out_sum_pixels,
out_model_pixels,
out_residual_pixels,
out_params
|
|
SPRINT (Pyramid WFS case) processing object.
Computes interaction matrices and sensitivity
matrices for Pyramid wavefront sensors, and
estimates mis-registration parameters by fitting
the measured interaction matrix.
|
in_slopes |
out_intmat, out_misreg_params,
out_convergence_error
|
|
SPRINT (Shack-Hartmann WFS case) processing
object. Uses SynIM library to computes interaction
matrices and sensitivity matrices for
Shack-Hartmann wavefront sensors and estimates
mis-registration parameters by fitting the
measured interaction matrix.
|
in_slopes |
out_intmat, out_misreg_params,
out_convergence_error
|
|
State Space Representation filter processing
object. Based on Time Control filter, which
implements discrete-time state-space filtering.
|
delta_comm, gain_mod (opt) |
out_comm, out_comm_no_delay |
|
Terminal input processing object. Handles input
from a terminal.
|
|||
Time History Generator processing object.
Generates signals from pre-computed time history
data.
|
output |
||
Vibration Generator processing object. Generates
vibration signals from PSD specifications.
|
output |
||
Vortex Coronagraph processing object. Implements a
vortex coronagraph, where the focal plane mask
applies an azimuthal phase delay that changes from
0 to 2 pi a number of times equal to the vortex
charge; the pupil plane mask can include an inner
and/or outer stop.
|
in_ef |
out_ef |
|
Wave Generator processing object. Generates
periodic waveforms (SIN, SQUARE, TRIANGLE).
|
output |
||
Windowed Integration processing object. Implements
a simple windowed integration of a signal.
|
input |
output |
|
Zernike Sensor processing object. Based on
phase-shifting focal-plane spot technique, the
class inherits from ModulatedPyramid but replaces
the pyramid structure with a π/2 (default value)
phase-shifting spot in the focal plane.
|
in_ef |
out_i, out_psf_tot,
out_psf_bfm, out_transmission,
out_flux_frac_inside_detector
|
|
Zernike WFS slopes computer processing object.
Computes Zernike WFS slopes from pixel data using
the pupil intensity.
|
in_pixels |
out_slopes,
out_flux_per_subaperture,
out_total_counts,
out_subap_counts, out_pupdata
|