InstrumentDefaults#

class muse.variables_schema.InstrumentDefaults(
*,
dx_pixel_CI=None,
dy_pixel_CI=None,
slit_sep_CI=None,
full_well_depth_CI=None,
dx_pixel_SG=None,
dy_pixel_SG=None,
slit_sep_SG=None,
pixels_SG=None,
number_of_slits_SG=None,
pixels_between_slits=None,
spectral_slit_separation_SG=None,
steps_per_raster_SG=None,
mesh_transmission=None,
oversample_x_SG=None,
oversample_y_SG=None,
center_diffraction=None,
lpi=None,
psf_fwhm=None,
psf_fwhm_x=None,
psf_fwhm_y=None,
data_compression=None,
ccd_gain=None,
sum_over_dims_synthesis=None,
main_lines_SG=None,
main_lines_SG_wavelength=None,
bands_SG=None,
fov_mode=None,
fov_restype=None,
fov_sub_interpolation=None,
exposure_times_SG=None,
exposure_times_CI=None,
electron_density=<Quantity 1.e+09 1 / cm3>,
electron_pressure=<Quantity 3.e+15 K / cm3>,
response_logT_min=4.8,
target_logT=None,
target_vdop=None,
minimum_abundance=None,
response_method='linear',
normalization=1e-27,
num_lines_keep=None,
sum_lines=None,
initial_wavelength_SG=None,
channel_spectral_order=None,
)#

Bases: object

Container of instrument properties used by functions and methods within the muse library; not a general-purpose instrument defaults class.

Every parameter is optional and defaults to None; populate the ones a given instrument needs (see muse.variables for the MUSE and AIA instances). Each field documents its meaning and the unit it is normalized to.

Fields are validated and normalized on construction. Instances prevent top-level attribute reassignment; create modified copies with attrs.evolve.

This is not a deeply immutable container. The converters copy input values and make common array buffers read-only, but some nested objects still expose mutable APIs:

  • xarray.DataArray fields can still have .data, coordinates, .attrs, and .encoding reassigned or mutated through xarray APIs.

  • Object-dtype arrays or custom objects stored inside mappings can still mutate their contained Python objects even when the outer array or mapping is read-only.

  • muse.variables_schema.FrozenDict prevents normal mapping mutation, but it is still a dict subclass for pickle compatibility.

Because nested state can change, instances are intentionally unhashable.

Method generated by attrs for class InstrumentDefaults.

Attributes Summary

bands_SG

Wavelength bands for the SG.

ccd_gain

CCD gain in electrons per DN.

center_diffraction

Centers the peak of the PSF before convolution.

channel_spectral_order

Spectral order of main line for each band (channel)

data_compression

Data compression level.

dx_pixel_CI

Spatial pixel size along x-axis for the CI.

dx_pixel_SG

Spatial pixel size along x-axis for the SG.

dy_pixel_CI

Spatial pixel size along y-axis for the CI.

dy_pixel_SG

Spatial pixel size along y-axis for the SG.

electron_density

Effective density for response creation.

electron_pressure

Effective pressure for response creation.

exposure_times_CI

Typical exposure times for the CI, keyed by solar condition.

exposure_times_SG

Typical exposure times for the SG, keyed by solar condition.

fov_mode

This is the pad method used by xarray.DataArray.pad

fov_restype

Type of tiling and resolution matching.

fov_sub_interpolation

Does a subgrid interpolation.

full_well_depth_CI

Full well depth in DN for the CI.

initial_wavelength_SG

Wavelength at SG_xpixel=0 for slit=0, in Angstroms.

instrumental_width_sg

Instrumental width sigma in Angstroms.

lpi

Lines per inch of mesh grid, keyed by diffraction channel.

main_lines_SG

Main spectral lines for the SG, grouped per channel.

main_lines_SG_wavelength

Center of the main spectral lines in angstrom, keyed by line name.

mesh_transmission

Mesh transmission coefficient, keyed by diffraction channel.

minimum_abundance

Minimum abundance considered for response creation.

normalization

Normalization in the response function.

num_lines_keep

Number of lines conserved independently for the response creation.

number_of_slits_SG

Number of slits in the SG.

oversample_x_SG

Oversampling factor along x-axis for the SG.

oversample_y_SG

Oversampling factor along y-axis for the SG.

pixels_SG

Number of pixels along the spectral dimension for the SG.

pixels_between_slits

Number of pixels between slits for the SG.

psf_fwhm

FWHM of the core PSF.

psf_fwhm_x

FWHM of the core PSF in x direction.

psf_fwhm_y

FWHM of the core PSF in y direction.

response_logT_min

Minimum logT for response creation.

response_method

Type of interpolation in the response creation.

slit_sep_CI

Slit separation in pixels to convert the CI into SG format.

slit_sep_SG

Slit separation in pixels for the SG.

spectral_slit_separation_SG

Spectral slit separation for the SG.

steps_per_raster_SG

Number of steps per raster for the SG.

sum_lines

Sum all lines for response creation.

sum_over_dims_synthesis

Dimensions to sum over during synthesis/inversions.

target_logT

Target logT values for different solar conditions.

target_vdop

Target vdop values for different solar conditions.

Attributes Documentation

bands_SG: astropy.units.Quantity | None#

Wavelength bands for the SG.

Normalized to Angstroms.

ccd_gain: astropy.units.Quantity | None#

CCD gain in electrons per DN.

center_diffraction: bool | None#

Centers the peak of the PSF before convolution.

channel_spectral_order: DataArray | None#

Spectral order of main line for each band (channel)

data_compression: int | None#

Data compression level.

dx_pixel_CI: astropy.units.Quantity | None#

Spatial pixel size along x-axis for the CI.

Normalized to arcseconds.

dx_pixel_SG: astropy.units.Quantity | None#

Spatial pixel size along x-axis for the SG.

Normalized to arcseconds.

dy_pixel_CI: astropy.units.Quantity | None#

Spatial pixel size along y-axis for the CI.

Normalized to arcseconds.

dy_pixel_SG: astropy.units.Quantity | None#

Spatial pixel size along y-axis for the SG.

Normalized to arcseconds.

electron_density: astropy.units.Quantity#

Effective density for response creation.

Normalized to inverse cubic centimeters.

electron_pressure: astropy.units.Quantity#

Effective pressure for response creation.

Normalized to Kelvin per cubic centimeter.

exposure_times_CI: Mapping | None#

Typical exposure times for the CI, keyed by solar condition.

Values normalized to seconds.

exposure_times_SG: Mapping | None#

Typical exposure times for the SG, keyed by solar condition.

Values normalized to seconds.

fov_mode: str | None#

This is the pad method used by xarray.DataArray.pad

fov_restype: str | None#

Type of tiling and resolution matching.

fov_sub_interpolation: int | None#

Does a subgrid interpolation.

full_well_depth_CI: astropy.units.Quantity | None#

Full well depth in DN for the CI.

initial_wavelength_SG: DataArray | None#

Wavelength at SG_xpixel=0 for slit=0, in Angstroms.

Values normalized to Angstroms.

instrumental_width_sg#

Instrumental width sigma in Angstroms.

FWHM in pixels converted to 1 sigma in Angstroms. Value, .0815, provided by Paul B. Value has spectral plate scale baked in and should be calculated using a future property.

lpi: Mapping | None#

Lines per inch of mesh grid, keyed by diffraction channel.

The set of keys defines which channels have diffraction patterns.

main_lines_SG: tuple | None#

Main spectral lines for the SG, grouped per channel.

main_lines_SG_wavelength: Mapping | None#

Center of the main spectral lines in angstrom, keyed by line name.

Values normalized to Angstroms.

mesh_transmission: Mapping | None#

Mesh transmission coefficient, keyed by diffraction channel.

minimum_abundance: float | None#

Minimum abundance considered for response creation.

normalization: float#

Normalization in the response function.

num_lines_keep: int | None#

Number of lines conserved independently for the response creation.

number_of_slits_SG: int | None#

Number of slits in the SG.

oversample_x_SG: int | None#

Oversampling factor along x-axis for the SG.

oversample_y_SG: int | None#

Oversampling factor along y-axis for the SG.

pixels_SG: astropy.units.Quantity | None#

Number of pixels along the spectral dimension for the SG.

pixels_between_slits: astropy.units.Quantity | None#

Number of pixels between slits for the SG.

psf_fwhm: astropy.units.Quantity | None#

FWHM of the core PSF.

Normalized to arcseconds.

psf_fwhm_x: astropy.units.Quantity | None#

FWHM of the core PSF in x direction.

Normalized to arcseconds.

psf_fwhm_y: astropy.units.Quantity | None#

FWHM of the core PSF in y direction.

Normalized to arcseconds.

response_logT_min: float#

Minimum logT for response creation.

response_method: str#

Type of interpolation in the response creation.

slit_sep_CI: astropy.units.Quantity | None#

Slit separation in pixels to convert the CI into SG format.

slit_sep_SG: astropy.units.Quantity | None#

Slit separation in pixels for the SG.

spectral_slit_separation_SG: astropy.units.Quantity | None#

Spectral slit separation for the SG.

Normalized to Angstroms.

steps_per_raster_SG: int | None#

Number of steps per raster for the SG.

sum_lines: bool | None#

Sum all lines for response creation.

sum_over_dims_synthesis: tuple | None#

Dimensions to sum over during synthesis/inversions.

target_logT: Mapping | None#

Target logT values for different solar conditions.

target_vdop: Mapping | None#

Target vdop values for different solar conditions.

Values normalized to kilometers per second.