as_built#
- esis.flights.f1.optics.as_built(grid=None, axis_channel='channel', num_distribution=11)[source]#
Load the as-built optical model, focused and pointed at the sensor.
The measured radii leave the as-built model imaging the O V line about eight pixels from where the design puts it.
_as_built_focused()moves each grating along the optic axis until the spots are as small as the design’s, which happens to carry the line most of the way back, since the same error in the radius causes both the defocus and the displacement. It stops a pixel or two short.The instrument which flew was aligned as well as focused, so this model rotates each grating about \(y\) afterwards, by a few arcseconds, until the center of the field of view lands where
esis.optics.Sensor.position_imagesays it should.This is the model of the instrument that flew, and the one to use.
as_built_unfocused()and_as_built_focused()are the steps on the way to it, kept for comparison rather than for use.- Parameters:
grid (None | ObjectVectorArray) – sampling of wavelength, field, and pupil positions that will be used to characterize the optical system.
axis_channel (str) – The name of the logical axis corresponding to changing camera channel.
num_distribution (int) – number of Monte Carlo samples to draw when computing uncertainties
- Return type:
Examples
Confirm the O V line lands where the sensor says it should.
import astropy.units as u import named_arrays as na import esis instrument = esis.flights.f1.optics.as_built(num_distribution=0) error = instrument.position_line( esis.flights.f1.spectrum.O_V.wavelength, ) - instrument.camera.sensor.position_image na.nominal(error.length.to(u.um))
ScalarArray( ndarray=[0.54460087, 0.57571499, 0.57800339, 0.52791335] um, shape={'channel': 4}, )References to
esis.flights.f1.optics.as_built