Processing Objects Summary

Processing objects for simulating AO system components. Total: 99 classes.

Class

Description

Inputs

Outputs

Coronagraph

Abstract coronagraph class processing object. This
class provides the basic structure for a
coronagraph processing object.

in_ef

out_ef

APPCoronagraph

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

AtmoEvolution

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

AtmoEvolutionUpDown

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

AtmoInfiniteEvolution

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

AtmoInfiniteEvolutionUpDown

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

AtmoPropagation

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

AtmoRandomPhase

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

AVC

Active Vibration Cancellation processing object.

in_measurement

out_comm

BaseFilter

Base filter processing object. Base class for
time-domain filters with delay support.

delta_comm, gain_mod (opt)

out_comm, out_comm_no_delay

BaseGenerator

Base Generator processing object. Base class for
function generators. All specific generators
inherit from this class and implement
trigger_code().

output

BaseInserter

Base Inserter processing object. Inserts a small
vector into a larger. Mirrors the BaseSlicer
interface, but for insertion.

in_value

out_value

BaseModalrec

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

BaseOperation

Base Operation processing object. Simple
operations with base value(s).

in_value1, in_value2 (opt)

out_value

BaseSlicer

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

BaseSprintEstimator

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

CCD

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

CiaoCiaoSensor

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

CiaoCiaoSlopec

Slope computer for the CiaoCiao WFS processing
object.

in_pixels

out_slopes,
out_flux_per_subaperture,
out_total_counts,
out_subap_counts

CurWfsSlopec

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

CurvatureSensor

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

DataBuffer

Data buffering processing object. Accumulates data
and outputs it every N steps.

DataPrint

Data print processing object. Print data values to
screen at regular intervals

in_value

DataSource

Data source processing object. Loads data from
files and outputs it based on the current time.

DataStore

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

Demodulator processing object for modal amplitude
estimation. Demodulates input signals using
carrier frequencies and outputs scalar values
representing modal amplitudes.

in_data

output

DisplayServer

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.

DistributedSH

SH class that distributes work on multiple
devices.

in_ef

out_i

DM

Deformable Mirror processing object. It receives a
command vector as input and produces a Layer
object representing the DM wavefront.

in_command

out_layer

DoubleRoofSlopec

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

DynamicDarkCalibrator

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

DynamicIirFilter

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

DynamicIntegrator

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

DynamicPyrPupdataCalibrator

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

ElectricFieldCombinator

Combines two input electric fields.

in_ef1, in_ef2, in_ef_list
(opt)

out_ef

ElectricFieldReflection

Reflects an input electric field (changes the sign
of the phase).

in_ef

out_ef

ExtSourcePyramid

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

ExtendedSource

Extended source processing object. Computes
extended sources (list of 3D points) for pyramid
wavefront sensing.

psf (opt)

coeff

FocalPlaneFilter

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

FourQuadrantCoronagraph

Focal plane mask processing object. Generates a
mask with four quadrants.

in_ef

out_ef

GainOptimizer

Gain optimizer processing object. Implements IIR
filters based on modal gain optimization (GENDRON
1994).
delta_comm, out_comm,
optical_gain (opt)

optimized_gain

IdealDerivativeSensor

Ideal derivative sensor processing object.
Computes slopes from wavefront derivatives.

in_ef

out_slopes

IirFilter

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

ImCalibrator

Interaction matrix calibrator processing object.

in_slopes, in_commands

out_intmat, out_single_im

ImShSynimGenerator

Interaction Matrix and Reconstruction Matrix
Generator processing object for Shack-Hartmann
WFS.

in_misreg_params

out_intmat, out_recmat

Integrator

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

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

WFS settings

LinearCombination

Linear combination processing objects. Combination
of multiple input vectors, specialized for
MORFEO-like systems

in_vectors_list

out_vector

LowPassFilter

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

LyotCoronagraph

Lyot coronograh processing object. Focal plane
mask implementing a Lyot coronagraph

in_ef

out_ef

MirrorCommandsCombinator

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

MmsePistonUnwrapper

MMSE piston unwrapper processing object.

in_comm

out_comm, out_ost

ModalAnalysis

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

Modalrec

Standard modal reconstructor processing object.
Performs pure matrix-vector multiplication: modes
= recmat @ slopes.
in_slopes (opt),
in_slopes_list (opt)

out_modes

ModalrecExplicitPolc

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

ModalrecImplicitPolc

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

ModalrecMultirate

Multirate Tomographic Reconstructor processing
object (for MORFEO-like systems).

in_slopes_list

out_modes_[sensor_idx]

ModulatedDoubleRoof

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

ModulatedPyramid

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

MultiImCalibrator

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

MultiRecCalibrator

Multiple reconstructor calibrator processing
object. Calibrates reconstruction matrices for
multiple sources/sensors pairs

intmat_list, full_intmat

MultirateComplementaryFilter

Multirate filter for differential sensor fusion
(Generalized Barycentric Approach).
in_yf, in_ys, in_vec, gain_mod
(opt)

out_comm, out_comm_no_delay

MVM

Matrix-Vector Multiplication processing object.
Simplified modal reconstructor for BaseValue
inputs

in_vector

out_vector

OpticalGainEstimator

Optical Gain Estimator processing object.
Estimates optical gain based on demodulated
signals.
in_demod_delta_command,
in_demod_command

optical_gain, output

PAPLCoronagraph

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

PhaseFlattening

Phase flattening processing object. Removes the
mean phase from an input electric field.

in_ef

out_ef

PhaseScreenCube

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

PolyChromSH

Polychromatic Shack-Hartmann sensor that wraps
multiple monochromatic SH sensors.

in_ef

out_i

PolyChromWFS

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

PolyCromPyramid

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

PowerLoss

Power Loss processing object. Computes power loss
in dB from the flux at the sensor and the receiver
diameter.

se_sr

out_power_loss

PSF

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

PsfCoronagraph

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

PupilstopController

Processing object that updates a Pupilstop object
over time.
in_rotation_deg (opt),
in_shift_xy_px (opt),
in_magnification (opt)

out_layer

PushPullGenerator

Push-Pull Generator processing object. Generates
push-pull signals for modal calibration.

output

PyrPupdataCalibrator

Pyramid PupData Calibrator processing object.
Calibrator for pyramid pupils.
in_i (opt), in_pixels
(opt)

out_pupdata

PyrSlopec

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

RandomGenerator

Random Generator processing object. Generates
random signals (normal or uniform distribution).

output

RecCalibrator

Reconstruction matrix calibrator processing
object. Analyzes an interaction matrix (Intmat) to
compute a reconstruction matrix (Rec).

in_intmat

ScheduleGenerator

Schedule Generator processing object. Generates
scheduled values which change at specified times.

output

SH

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

ShSlopec

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

ShSubapCalibrator

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)

Slopec

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

SnCalibrator

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

SpeculaInput

Specula input processing object. Handles
interactive inputs

SpotMonitor

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

SprintPyr

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

SprintShSynim

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

SsrFilter

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

TerminalInput

Terminal input processing object. Handles input
from a terminal.

TimeHistoryGenerator

Time History Generator processing object.
Generates signals from pre-computed time history
data.

output

VibrationGenerator

Vibration Generator processing object. Generates
vibration signals from PSD specifications.

output

VortexCoronagraph

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

WaveGenerator

Wave Generator processing object. Generates
periodic waveforms (SIN, SQUARE, TRIANGLE).

output

WindowedIntegration

Windowed Integration processing object. Implements
a simple windowed integration of a signal.

input

output

ZernikeSensor

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

ZwfsSlopec

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