Goals
- Develop a tool to construct Camera objects from collections of fits files (or MEFs).
Background and strategic fit
The camera team would like to use the DM stack to analyze their test data. They can do this using obs_file, or by defining Camera objects by hand, but it would be much nicer to have a tool to create the appropriate Camera object from the data directly.
Requirements
# | Title | User Story | Importance | Notes |
---|---|---|---|---|
1 | Support both amp per file and sensor per file with amps in extensions. There are actually 4 cases:
| The data are currently in MEFs, one per sensor. This could change so should be flexible. | Must have | |
2 | Should use a minimum of external ancillary information. | The goal will be to create the Camera only using information in the FITS headers. | Must have |
|
User interaction and design
The current design of the image format from the camera team is here: https://confluence.slac.stanford.edu/display/LSSTCAM/Draft+File+Specification+for+EO+Test+Images
Also see the notes from an Oct 8 meeting
This could be informed by the DM effort to implement this tool
Amp info mapping
This is the tricky part, I think.
Header Key | AmpInfo | Description | Default |
---|---|---|---|
| name | Name of Amp: '0,1' | |
BBox | Bounding box of physical pixels in in assembled coordinates | ||
Gain | Gain value of this amp e-/count | 1. | |
ReadNoise | Read noise in counts | 0. | |
Saturation | Value of saturation threshold in counts | ||
ReadCorner | Location of first pixel read in assembled coordinates | LLC | |
LinearityCoeffs | Coefficients of linearity fit | 0., 1. | |
LinearityType | Type of linearity: This could map to a method for applying non-linearity correction | POLY | |
RawBBox | Bounding box of raw data (including prescan, overscan regions) in raw coordinates | ||
RawDataBBox | Bounding box of raw data in the raw frame | ||
FlipX | Flip x axis when assembling? | False | |
FlipY | Flip y axis when assembling? | False | |
RawXYOffset | Offset of to apply to assemble raw frames in a mosaic | 0,0 | |
HOverscan | Bounding box of horizontal overscan in raw coordinates | ||
VOverscan | Bounding box of vertical overscan in raw coordinates | Empty BBox | |
Prescan | Bounding box of prescan region in raw coordinates | Empty BBox |
Detector info mapping
Header Key | Detector Config | Description | Default |
---|---|---|---|
Name | Name of detector slot: R:22, S:11 | ||
id | Integer identifier for the slot | ||
BBox | Bounding box of physical pixels | ||
detectorType | Type of detector: SCIENCE, GUDER This can be extended. | SCIENCE | |
serial | String serial identifier for the installed device | ||
offset_[xy] | Offset of the chip from the origin in physical coordinates (mm) | 0.0 | |
refpos_[xy] | Position on the chip to which the offset refers | LLC | |
yawDeg | rotation of the detector about z axis | 0.0 | |
pitchDeg | rotation of the detector about y axis | 0.0 | |
rollDeg | rotation of the detector about y axis | 0.0 | |
pixelSize_[xy] | Size of a nominal pixel in physical coordinates (mm) | ||
transposeDetector | Transpose the pixel grid before orienting in the focal plane? | False |
Camera info mapping
Header Key | Camera Config | Description | Default |
---|---|---|---|
name | Name of the camera | FileCamera | |
plateScale | plate scale at the focal plane (arcsec/mm) | 1. | |
radialCoeffs | radial coefficents that describe a radial polynomial distortion | I think the following produces no distortion [0, 1, 0] |
Questions
Below is a list of questions to be addressed as a result of this requirements document:
Question | Outcome |
---|---|