AmiAnalyzeStep

class jwst.ami.ami_analyze_step.AmiAnalyzeStep(name=None, parent=None, config_file=None, _validate_kwds=True, **kws)[source]

Bases: JwstStep

Performs analysis of an AMI mode exposure by applying the LG algorithm.

Create a Step instance.

Parameters:
namestr

The name of the Step instance. Used in logging messages and in cache filenames. If not provided, one will be generated based on the class name.

parentStep

The parent step of this step. Used to determine a fully-qualified name for this step, and to determine the mode in which to run this step.

config_filestr or pathlib.Path

The path to the config file that this step was initialized with. Use to determine relative path names of other config files.

_validate_kwdsbool

Validate given kws against specs/config.

**kwsdict

Additional parameters to set. These will be set as member variables on the new Step instance.

Attributes Summary

class_alias

reference_file_types

spec

Methods Summary

override_affine2d()

Read user-input affine transform from ASDF file.

override_bandpass()

Read bandpass from asdf file and use it to override the default.

process(input_data)

Perform analysis of an AMI mode exposure by applying the LG algorithm.

save_model(model, *args, **kwargs)

Override save_model to change suffix based on list of results.

Attributes Documentation

class_alias = 'ami_analyze'
reference_file_types: ClassVar = ['throughput', 'nrm']
spec
oversample = integer(default=3, min=1) # Oversampling factor
rotation = float(default=0.0) # Rotation initial guess [deg]
psf_offset = string(default='0.0 0.0') # PSF offset values to use to create the model array
rotation_search = string(default='-3 3 1') # Rotation search parameters: start, stop, step
bandpass = string(default=None) # ASDF file containing array to override filter/source
usebp = boolean(default=True) # If True, exclude pixels marked DO_NOT_USE from fringe fitting
firstfew = integer(default=None) # If not None, process only the first few integrations
chooseholes = string(default=None) # If not None, fit only certain fringes e.g. ['B4','B5','B6','C2']
affine2d = string(default='commissioning') # ASDF file containing user-defined affine parameters OR 'commssioning'
run_bpfix = boolean(default=True) # Run Fourier bad pixel fix on cropped data

Methods Documentation

override_affine2d()[source]

Read user-input affine transform from ASDF file.

Makes an Affine2d object (see utils.Affine2D class). Input should contain mx,my,sx,sy,xo,yo,rotradccw.

Returns:
affine2dobj

User-defined affine transform (jwst.ami.utils.Affine2d).

override_bandpass()[source]

Read bandpass from asdf file and use it to override the default.

Expects an array of [effstims, wave_m] (i.e. np.array((effstims,wave_m)).T) stored as ‘bandpass’ in asdf file, where effstims are normalized countrates (unitless) and wave_m are the wavelengths across the filter at which to compute the model (meters).

Returns:
bandpassarray

Array of [countrates, wavelengths]

process(input_data)[source]

Perform analysis of an AMI mode exposure by applying the LG algorithm.

Parameters:
input_datastr or datamodel

Input file name or datamodel

Returns:
oifitsmodelAmiOIModel object

AMI tables of median observables from LG algorithm fringe fitting in OIFITS format

oifitsmodel_multiAmiOIModel object

AMI tables of observables for each integration from LG algorithm fringe fitting in OIFITS format

amilgmodelAmiLGFitModel object

AMI cropped data, model, and residual data from LG algorithm fringe fitting

save_model(model, *args, **kwargs)[source]

Override save_model to change suffix based on list of results.

Parameters:
modeldata model

The model to save

*args, **kwargstuple, dict

Arguments to pass to the stpipe Step.save_model method

Returns:
output_paths[str[, …]]

List of output file paths the model(s) were saved in.