Control Strategy File Documentation
Overview
Control strategy files define the parameters used to adjust wavefront control performance during HOWFSC (High-Order Wavefront Sensing and Control) operations. These YAML-formatted files specify iteration-dependent settings that control the Electric Field Conjugation (EFC) algorithm behavior.
File Format
Control strategy files use YAML format with a specific structure for parameter definitions. Each parameter can be defined for different iteration ranges and contrast regimes.
Parameter Structure
Each parameter consists of one or more entries with the following fields:
first: First iteration number where this setting applies (1-indexed)
last: Last iteration number where this setting applies (use
Nonefor infinity, use last==first if only applicable for a single iteration)low: Lower bound (closest to zero) of mean total contrast where this setting applies (0 for all)
high: Upper bound (furthest from zero) of mean total contrast where this setting applies (use
Nonefor infinity)value: The parameter value to use in this range where low<=contrast<high and first<=iteration<last
Multiple entries allow parameters to change based on iteration number and achieved contrast level.
Parameter Definitions
regularization
Type: log10 of the value relative to square of the largest singular value of the weighted Jacobian.
Purpose: Used to vary the allowable strength of the EFC correction. Values closer to -infinity allow for larger DM stroke. -5 is considered agressive and -2 is mild.
Units: n/a
Typical Range: -2 – -5
Details:
Example Entry:
regularization:
- first: 1 # Iterations 1-4
last: 4
low: 0 # All contrast levels better than 1e-5
high: 1.0e-5
value: -2.0 # Mild stroke permitted
- first: 5 # Iteration 5 only
last: 5
low: 0
high: 1.0e-5 # All contrast levels better than 1e-5
value: -5.0 # Large stoke allowed for one iteration
Notes:
pixelweights
Type: Relative filepath string
Purpose:
File Format: FITS file containing N 2D weighting matrices, the first in its primary HDU and the remaining N-1 2D weighting sequentially in image HDUs. There should be one for each wavelength in an optical model, running from shortest to longest wavelength in order.
Details: Unweighted pixels should have weight = 1; weighting a pixel by Y implies that control will value the reduction in intensity at that pixel by Y^2.
Example Entry:
pixelweights:
- first: 1
last: None # Applied to all iterations
low: 0
high: None # Applied for all contrasts
value: '../../every_mask_config/pixelweights_ones_nlam3_nrow153.fits'
File Requirements:
Shape: [nlam, nrow, ncol]
Valid values: 1.0
Notes:
If using
path_overridesinscripts/default_params.yamlthen the path must be changed to an absolute path
dmmultgain
Type: Float
Purpose: Adjusts the output of EFC using the multiplicative gain provided in the value
Units: n/a
Typical Range: 0.5-2
Details: A dmmultgain = 1 does not change the relative DM setting produced by wavefront control. A dmmultgain of 0.5 reduces the applied DM change by half.
Example Entry:
dmmultgain:
- first: 1
last: None
low: 0
high: None
value: 1 # Use EFC output as-is for all scenarios
Notes:
unprobedsnr
Type: Float
Purpose: Signal-to-noise ratio target for unprobed measurements
Units: SNR
Typical Range: ~5, must be >0
Details:
Example Entry:
unprobedsnr:
- first: 1
last: None
low: 0
high: None
value: 5 #
Notes:
Needs to be high enough to have a good estimate of the contrast since the contrast is used to choose exposure times etc
probedsnr
Type: Float
Purpose: Signal-to-noise ratio target for probed measurements
Units: SNR
Typical Range: ~7, must be >0
Details:
Example Entry:
probedsnr:
- first: 1
last: None
low: 0
high: None
value: 7 #
Notes:
probeheight
Type: Float
Purpose: Amplitude of DM probes for pair-wise probing
Units: mean probe amplitude
Typical Range: 1e-5–1e-7, must be >0
Details:
Example Entry:
probeheight:
- first: 1
last: None
low: 0 # High contrast regime
high: 1.0e-7
value: 1.0e-7 #
- first: 1
last: None
low: 1.0e-7 # Medium contrast
high: 1.0e-6
value: 1.0e-6 #
- first: 1
last: None
low: 1.0e-6 # Low contrast regime
high: None
value: 1.0e-5 #
Notes:
Non-linearity concerns at deep contrast
Probe height relates to achievable contrast floor
Relationship to SNR requirements
fixedbp
Type: File path (single value, not range-based)
Purpose: Specifies fixed bad pixels to exclude
File Format: FITS file containing binary mask
Details: Bad pixels are identified as 1.
Example Entry:
fixedbp: '../../every_mask_config/fixedbp_zeros.fits'
File Requirements:
Shape: [nrow, ncol]
Valid values: 0 = good, 1 = bad
Notes:
If using
path_overridesinscripts/default_params.yamlthen the path must be changed to an absolute path
Usage Guidelines
File Path Conventions
Relative paths in control strategy files are resolved relative to the location of the cstrat file. If using path_overrides in scripts/default_params.yaml then the paths must be changed to absolute paths.
References
Change History
01/21/2026 - Initial documentation created