...
- cp_pipe (generates calibration products): https://github.com/lsst/cp_pipe
- ip_isr (applies calibration products): https://github.com/lsst/ip_isr
- "Inputs to primary method of IsrTask, run(), are a raw exposure to be corrected and the calibration data products. The raw input is a single chip sized mosaic of all amps including overscans and other non-science pixels."
- (from 'run()' in isrTask.py) ccdExposure, bias, linearizer (linearizing functor), dark, flat, defects (list of defects), fringes, bfKernel, camera (camera geometry, WCS?), opticsTransmission, filterTransmission, sensorTransmission, atmosphereTransmission, crosstalkSources (dictionary, default: DECam inter-CCD)
- Steps included, in order performed (from 'run()' in isrTask.py):
- saturation and suspect pixel masking, overscan subtraction, crosstalk masking/correction, CCD assembly of individual amplifiers, bias subtraction, variance image construction, linearization, crosstalk masking/correction, BF correction, dark subtraction, fringe correction, stray light subtraction, flat correction, masking of known effects and camera-specific features, vignette calculation, appending transmission curve and distortion model
- "Inputs to primary method of IsrTask, run(), are a raw exposure to be corrected and the calibration data products. The raw input is a single chip sized mosaic of all amps including overscans and other non-science pixels."
- Lists of effects made by different people:
- List by Chris Stubbs:
- (1) Calibration matrix of physical effects: https://confluence.slac.stanford.edu/pages/viewpage.action?spaceKey=LSSTCAM&title=calibration+matrix
- (2) Instrument Signature Removal Listing
- LSST DESC Sensor Anomalies Working Group
- (3) Known Sensor Effects and Anomalies: https://confluence.slac.stanford.edu/pages/viewpage.action?spaceKey=LSSTDESC&title=Known+Sensor+Effects+and+Anomalies
- Merlin's classification:
- List by Chris Stubbs:
...
ID | Name | Where is it listed? | Requirement | LSST Stack Code (ip_isr/python/lsst/ip/isr/) | eotest code (eotest/python/lsst/eotest/sensor/) | Comments |
---|---|---|---|---|---|---|
1 | Bias frames: 2D, row by row | 2,4 | None. Other effects rely on removal of the electronic bias offset per segment (LCA-10301). |
|
Bias offset is removed by computing a row by row correction using the data in the overscan columns. For each row in the segment, the mean value of the pixels in the serial overscan is computed. A cubic fit is then created for the function: overscan mean vs. row number. For each row of pixels in the image, a bias offset correction is calculated using the fit parameters. That value is then subtracted from that row in the segment (LCA-10301) | Master bias frame. Bias drift , 2-d Bias frame structure due to serial clock rail droop and other effects: temporal stability not known |
2 | Dark current | 4 | CCD-014: Dark current (95th percentile) shall not exceed 0.2 electrons per pixel per second. Measurement to be made at a detector temperature of -95±1° C with dark current integration time of no less than 500 seconds. (LCA-128) |
|
Dark current is measured by calculating the amount of charge collected in each pixel during a dark current integration of a given duration. In order to eliminate the effects of charge generated by cosmic ray impacts, the 5 images in each of the data set are medianed together to create clean dark current images. These images are then bias-offset corrected. Multiplication by the system gain constant (e-/DN), and division by the integration time (seconds) provides a measure of the dark current per pixel in electrons per second. These pixel values are then sorted and the 95th percentile value is calculated (LCA-10103) | Dark integrations are images acquired after the CCD has been cleared of charge and then dark current signal has been allowed to integrate as signal for a specified time in the absence of any photon flux. |
3 | Bad pixel mask. More generally, "Active imaging area and Cosmetic Quality" | CCD-012: Active imaging area and Cosmetic Quality: the active imaging area shall contain no fewer than 16,129,000 pixels. The active imaging area excludes the 9 pixels closest to any edge of the device. The active imaging area definition also excludes any pixel within 5 rows of any midline anti- bloom stop. Within this active imaging area a maximum of 0.5% of the pixels can be designated as defective. Defective pixels are defined as the following: (a) any pixel with more than 5e-/s of dark current; Any defective columns (according to defective pixel definitions d-e above) shall be separated by at least 10 columns. (LCA-128) | isrTask.py |
Class to handle masks for a full sensor. You can add mask planes, they will be combined with an "||" ("OR"), and you can get bits to be used with an afwMath.makeStatistics object. Note: The current "main" currently uses the following files: mask_files = ('bright_pix_mask.fits', 'CCD250_DEFECTS_mask.fits')
Bright pixel defects and bright column defects are detected using dark integration images. Find bright pixels and bright columns above a threshold specified in units of e- per second per pixel. The mask that is generated will be identified as mask_plane.
The mask that is generated will be identified as mask_plane.
| Includes: bright pixels in dark frames, dark pixels in flat frames, death pixels... Ask Jim:column defects (9.95 of LCA-10301): are they found by BrightPixels.py and DarkPixels.py? (that's probably the case) | |
4 | Full Well | CCD-008: Blooming Full well. Pixel charge capacity shall be no greater than 175,000 electrons. Note: Defined as the point at which the detector response (volts out divided by mean per pixel integrated photo-generated charge) saturates when illuminated by a flat field (LCA-128) |
Compute full well. Fit linear and quadratic functions to data, with constraint at inferred variance at 1000 e-. Full well obtains where the maximum fractional deviation between the linear and quadratic curves is greater than some maximum value, which is 10% as specified in LCA-128. DetectorResponse.py also has a full well calculation in "full_well()" function. | -Ask Jim about the difference. | ||
5 | (Non-)Linearity | CCD-009: Detector response (volts out divided by median per pixel integrated photo- generated charge) to flat field illumination shall be linear to within ±2% over the range of 1000 to 90,000 electrons. The response of the CCD is the mean detected signal vs. incident flux. (LCA-128) | isrTask.py (apply Function or LUT) |
Compute detector response vs incident flux for pairs of flats. | ||
6 | Analog overshoot in signal chain | |||||
7 | Missing codes in A/D converter output= ADC distortion | |||||
8 | Gain: drift over time and temperature | |||||
9 | Gain: variation between amplifiers |
| CS, ISR listing. | |||
10 | Parallel CTE | >0.999997 |
CTI is calculated by EPER in overscan using 500 nm superflat (see LCA-10103 9.5.3 for formula). | |||
11 | Serial CTE | >0.999995 |
CTI is calculated by EPER in overscan using 500 nm superflat (see LCA-10103 9.4.3 for formula). | |||
12 | CTE-like/trapping issues | Is this the same as "time-constant effect correction (often called CTE but it isn't) from (2)? | ||||
13 | Bleeding | |||||
14 | QE (ugrizY) | Quantum efficiency in the various LSST filter pass-bands is defined in 6 separate specifications. They are as follows. See LCA-128 for precise definitions of pass-bands and measurement wavelengths:
|
| |||
15 | Voltage Testing And Optimization | Optimal parameter space of voltages and clocks | ||||
16 | Cross talk | Output-to-output crosstalk shall not exceed 0.19% with a goal of 0.02% (CCD-013, LCA-128) | isrTask.py (correction) |
| "to be measured with a point or line source exposing the sensor to a peak signal of greater than 80,000 electrons of integrated photo-generated charge per exposed pixel in one segment (aggressor), other segments (victims) dark. Measurement to be made at a detector temperature of -95±1° C" LCA-10103. Need to measure system crosstalk (with no CCD, pulse generator creates a column as aggressor) and total crosstalk to get detector crosstalk = total crosstalk - system crosstalk. | |
17 | PRNU: Pixel Response Non-uniformity (LCA-10301) or Photoresponse non-uniformity (LCA-128) | LCA-10301 | CCD-027: PRNU. The measured variation in photoresponse at wavelengths of 350 nm, 450 nm, 500 nm, 620 nm, 750 nm, 870 nm, and 1000 nm shall be less than 5% rms across the CCD. (LCA-128) |
| ||
18 | Overscan Levels | isrTask.py | CCD Assembly: "trims out nonphysical pixels" | |||
19 | Tearing→rabbit ears; persistence |
| Q: Are persistence and tearing the same thing? e2V, Claire talked about T&RE during ISPA2018. Tearing/rabbit ears can be fixed by clocking things in a particular way. For DECam devices, persistence is fixed via the ERASE mechanism which operates the CCD in inversion for less than a second. Known as "skyline" in LBNL CCDS (according to Juan Estrada). | |||
20 | ||||||
21 | "Misc. video-chain badness" | |||||
22 | Dipoles | ITL | ||||
23 | PSF/surface brightness response | |||||
24 | PSF distortion with different cases of angular correlation | (2) | ||||
25 | Diffusion contribution to PSF | LCA-10301 | CCD-028: Point Spread Function. The PSF due to charge diffusion shall not exceed 5 μm rms. Note: The PSF measurement is via analysis of Fe55 x-ray generated charge packets. Algorithm for analysis shall be provided by LSST The PSF due to charge diffusion is measured using the Fe55 data set |
| ||
26 | Amplifier Glow | |||||
27 | Read Noise (incl. correlations) | |||||
28 | Fringing | isrTask.py | ||||
29 | Tree rings | None | lateral field effect (static). Should be part of astrometric model per filter (calibrate.py). Profiles can determined as in Plazas+14; applied as in Bernstein+17. NOTE: Plazas+14 determine radial profiles from flats, and then integrate them to get astrometric profiles. The tree rings centers were identified by hand in all the 62 science CCDs. Should the same be done for LSST? | |||
30 | Brighter-fatter | isrTask.py; cp_pipe, makeBrighterFatterKernel.py | lateral field effect (dynamic), Antilogus and Coulton corrections. | |||
31 | Edge distortions | None | lateral field effect (static). Should be part of astrometric model per filter (calibrate.py). DECam masks 30 pixels from the edge of each CCD, then measures the profiles directly with star flats. | |||
32 | Lateral field effects- micro-WCS distortions | same as pixel size variations? | ||||
33 | Midline | |||||
34 | Spider Legs | |||||
35 | Bamboo | |||||
36 | Flat fields | isrTask.py | ||||
37 | Filter Transmission | |||||
38 | Atmospheric Correction | |||||
39 | Ghost and ghouls (?) | |||||
40 | ADU Favoritism | Acquisition related issues (ARI), SAWG | ||||
41 | Pixel-to-pixel memory effect | Acquisition related issues (ARI), SAWG | ||||
42 | Jitter and jitter cleaner | Acquisition related issues (ARI), SAWG | ||||
43 | Misplaced pixels/ empty pixels | Acquisition related issues (ARI), SAWG | ||||
44 | ||||||
45 | ||||||
46 | ||||||
47 | ||||||
48 | ||||||
49 |