Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ DOCNUMBER = 117
DOCNAME = $(DOCTYPE)-$(DOCNUMBER)

tex = $(filter-out $(wildcard *acronyms.tex) , $(wildcard *.tex))
section_tex = $(wildcard sections/*.tex) $(wildcard sections/processing/*.tex)
section_tex = $(wildcard sections/*.tex) $(wildcard sections/*/*.tex)

GITVERSION := $(shell git log -1 --date=short --pretty=%h)
GITDATE := $(shell git log -1 --date=short --pretty=%ad)
Expand Down
3 changes: 2 additions & 1 deletion RTN-117.tex
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
% Local commands go here.
\newcommand{\docRef}{RTN-117}
\newcommand{\docUpstreamLocation}{\url{https://github.com/lsst/rtn-117}}
\newcommand{\todo}[1]{\textcolor{red}{\textbf{TODO:} #1}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
Expand All @@ -41,7 +42,7 @@
%%
%% You can add a light gray and diagonal water-mark to the first page
%% with this command:
%% \watermark{text}
\watermark{DRAFT}
%% where "text", e.g. DRAFT, is the text to appear. If the text is
%% long you can control the water-mark size with:
%% \setwatermarkfontsize{dimension}
Expand Down
6 changes: 2 additions & 4 deletions body.tex
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,8 @@
\input{sections/3_data}


\input{sections/4_processing/41_calibration-production-and-application}


\input{sections/4_processing/42_isr-science}
\input{sections/4_processing/41_isr-science}
\input{sections/4_processing/42_calibration-production-and-application}


\input{sections/5_discussion}
Expand Down
Binary file modified figures/calib-dependency.pdf
Binary file not shown.
Binary file added figures/calibration-epochs-timeline.pdf
Binary file not shown.
Binary file removed figures/calibration_epochs.png
Binary file not shown.
Binary file modified figures/isr-pipeline.pdf
Binary file not shown.
42 changes: 32 additions & 10 deletions figures/src/to-make-isr-pipeline.tex
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,15 @@
static/.style={base, fill=staticfill, draw=staticline},
dynamic/.style={base, fill=dynamicfill, draw=dynamicline},
input/.style={base, fill=inputfill, draw=inputline},
optional/.style={base, fill=staticfill, draw=staticline, dash pattern=on 3pt off 2pt},
statistic/.style={dash pattern=on 3pt off 2pt},
% Compact interstitial statistic box (fits in the existing inter-row gap).
statbox/.style={
text width=2.6cm,
minimum height=0pt,
inner xsep=2.5pt,
inner ysep=0.5pt,
font=\fontsize{6}{7}\selectfont,
},
% arr/.style={
% -{Stealth[length=5pt, width=4pt]},
% line width=0.7pt,
Expand Down Expand Up @@ -60,8 +68,8 @@
\node[input] (raw) {\shortstack[c]{Raw image\\\texttt{raw}}};

% Row 1 (left to right): steps 1--5
\stepnode[dynamic, below=2.2em of raw]{n01}{1}{Convert\\integer\\to float};
\stepnode[dynamic, right=0.7em of n01]{n02}{2}{Dither counts\\Uniform\\$[-0.5,\,0.5)$};
\stepnode[dynamic, statistic, below=2.2em of raw]{n01}{1}{Convert\\integer\\to float};
\stepnode[dynamic, statistic, right=0.7em of n01]{n02}{2}{Dither counts\\Uniform\\$[-0.5,\,0.5)$};
\stepnode[dynamic, right=0.7em of n02]{n03}{3}{Serial\\overscan\\correction};
\stepnode[static, right=0.7em of n03]{n04}{4}{Mask\\saturated\\\& suspect pixels};
\stepnode[static, right=0.7em of n04]{n05}{5}{Apply gain};
Expand All @@ -73,6 +81,19 @@
\stepnode[static, left=0.7em of n08]{n09}{9}{Deferred\\charge\\correction};
\stepnode[dynamic, left=0.7em of n09]{n10}{10}{E2V\\edge-bleed\\mask};

% Inter-row statistic box: branched from serial overscan; does not change row spacing.
\coordinate (gapmid) at ($(n03.south)!0.5!(n08.north)$);
\coordinate (n03n04mid) at ($(n03)!0.75!(n04)$);
\node[
dynamic,
statistic,
statbox,
minimum height=1.5em,
anchor=center,
] (osstats) at (gapmid -| n03n04mid) {%
\shortstack[c]{Overscan statistics}%
};

% Row 3 (left to right): steps 11--15
\stepnode[dynamic, below=2.4em of n10]{n11}{11}{ITL dip,\\SatSag \&\\edge-bleed masks};
\stepnode[static, right=0.7em of n11]{n12}{12}{Bias correction};
Expand All @@ -82,10 +103,10 @@

% Row 4 (right to left): steps 16--20
\stepnode[static, below=2.4em of n15]{n16}{16}{BFE\\correction};
\stepnode[static, left=0.7em of n16]{n17}{17}{Variance\\plane\\estimation};
\stepnode[static, statistic, left=0.7em of n16]{n17}{17}{Variance\\plane\\estimation};
\stepnode[static, left=0.7em of n17]{n18}{18}{Flat correction};
\stepnode[dynamic, left=0.7em of n18]{n19}{19}{Interpolate\\masked\\pixels};
\stepnode[optional, left=0.7em of n19]{n20}{20}{Amplifier\\offsets\\(optional)};
\stepnode[static, left=0.7em of n19]{n20}{20}{Amplifier\\offsets};

% Row 5 (left to right):
\node[input, below=2.4em of n20] (n21) {\shortstack[c]{Post-ISR image\\\texttt{post\_isr\_image}}};
Expand All @@ -98,7 +119,7 @@
line width=0.8pt,
rounded corners=5pt,
inner sep=10pt,
fit=(n01)(n02)(n03)(n04)(n05)(n06)(n07)(n08)(n09)(n10)(n11)(n12)(n13)(n14)(n15)(n16)(n17)(n18)(n19)(n20),
fit=(n01)(n02)(n03)(n04)(n05)(n06)(n07)(n08)(n09)(n10)(n11)(n12)(n13)(n14)(n15)(n16)(n17)(n18)(n19)(n20)(osstats),
] (isrframe) {};
\end{scope}
\node[
Expand All @@ -112,6 +133,7 @@
% Row 1 (L->R)
\foreach \a/\b in {n01/n02, n02/n03, n03/n04, n04/n05}
{\draw[arr] (\a.east) -- (\b.west);}
\draw[arr, rounded corners=3pt] (n03.south) |- (osstats.west);
\draw[arr] (n05.south) -- (n06.north); % turn 1->2
% Row 2 (R->L)
\foreach \a/\b in {n06/n07, n07/n08, n08/n09, n09/n10}
Expand All @@ -133,14 +155,14 @@
lbl/.style={font=\footnotesize, inner sep=2pt},
]
\coordinate (legbr) at ($(n16.south east)+(0,-1.5em)$);
\node[lbl, anchor=north east] (l1) at (legbr) {Static (pre-computed calibration inputs)};
\node[lbl, anchor=north east] (l1) at (legbr) {Static (uses pre-computed calibration inputs)};
\node[swatch, fill=staticfill, draw=staticline, anchor=east, left=2pt of l1.west] (s1) {};
\coordinate (l2pos) at ($(l1.south east)+(0,-0.35em)$);
\node[lbl, anchor=north east] (l2) at (l1.east |- l2pos) {Exposure-dependent application};
\node[lbl, anchor=north east] (l2) at (l1.east |- l2pos) {Dynamic};
\node[swatch, fill=dynamicfill, draw=dynamicline, anchor=east, left=2pt of l2.west] (s2) {};
\coordinate (l3pos) at ($(l2.south east)+(0,-0.35em)$);
\node[lbl, anchor=north east] (l3) at (l1.east |- l3pos) {Optional};
\node[swatch, fill=staticfill, draw=staticline, dash pattern=on 3pt off 2pt, anchor=east, left=2pt of l3.west] (s3) {};
\node[lbl, anchor=north east] (l3) at (l1.east |- l3pos) {Computation};
\node[swatch, fill=none, draw=black, dash pattern=on 3pt off 2pt, anchor=east, left=2pt of l3.west] (s3) {};
\end{scope}

\end{tikzpicture}
Expand Down
8 changes: 4 additions & 4 deletions sections/1_intro.tex
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ \section{Introduction} \label{sec:intro}
\begin{enumerate}
\item \textbf{Instrument complexity:} The LSST Camera (LSSTCam) is the largest digital camera built for astronomy.
Its 3.2-gigapixel focal plane consists of 205 fully depleted, backside-illuminated charge-coupled devices (CCDs) from two vendors (Teledyne e2v and Imaging Technology Laboratory, hereafter E2V and ITL).
Detector-to-detector and amplifier-level variations require calibration and processing algorithms robust to heterogeneous sensor behavior.
\item \textbf{Data volume and cadence:} LSSTCam typically acquires 30~s exposures with $\leq$3~s readout, yielding about 1000 exposures per night and nightly data rates of approximately 10~TB. The need for fast, efficient processing speed is driven by Prompt Processing for the alert database and the active optics system.
Detector and amplifier variations require calibration and removal algorithms robust to heterogeneous sensor behavior.
\item \textbf{Data volume and cadence:} LSSTCam typically acquires 30~s exposures with $\leq$3~s readout, yielding about 1000 exposures per night and nightly data rates of approximately 20~TB. The need for fast, efficient processing speed is driven by the need for prompt alert production and the active optics system.
\item \textbf{Calibration system and optics:} The calibration system (flatfield screen, LEDs, tunable laser, and the Collimated Beam Projector or CBP) must provide uniform and repeatable illumination over a large focal plane through a fast converging ($f/1.2$) optical system.
\item \textbf{Coupled instrumental effects:} Instrument signature removal (ISR) must correct artifacts in the reverse chronological order in which they imprint in the photon transfer chain.
Calibration derivation follows the same ordering, since characterizing a given artifact requires that all effects imprinted before it have already been calibrated and removed.
This is further complicated by partial degeneracies among instrument artifacts, which necessitate iterative or ``bootstrapped'' approaches to converge on self-consistent calibration products.
\item \textbf{Evolving conditions and cadence:} Changing environmental conditions, multi-epoch calibration datasets, and evolving observing strategies require calibration production to be robust to non-uniform survey and telescope operations.
\item \textbf{Evolving conditions and cadence:} Changing environmental conditions, hardware and operating mode updates, and evolving observing strategies requires precise characterization of the sensors, daily tracking of ISR quality, well-defined calibration data-taking campaigns, and agreed upon triggers for new calibration epochs.
The datasets discussed in this paper were collected before the dome was completed, before stabilization of thermal regulation systems, and before finalization of the precise detector operating mode.
\item \textbf{Verification, provenance, and operational reproducibility:} Calibration products must be accompanied by quantitative diagnostics for rapid data quality assessment, cross-time and cross-version comparisons, and clear acceptance and certification decisions for downstream processing.
Products must be reproducible, versioned, and continuously validated as instruments and algorithms evolve.
Expand All @@ -32,8 +32,8 @@ \section{Introduction} \label{sec:intro}
This paper is organized as follows.
Section \S\ref{sec:lsstcam} introduces LSSTCam, its CCD readout architecture, and the electronic detector model that organizes calibration production and ISR.
Section \S\ref{sec:data} describes the DP2 calibration datasets, the calibration system (CalSys), and the criteria used to select input exposures and define calibration epochs.
Section \S\ref{sec:isr-science} describes instrument signature removal for DP2 science data and the order in which corrections are applied.
Section \S\ref{sec:calibration-production} describes calibration product production and application, including the algorithms and data products used in DP2.
Section \S\ref{sec:isr-science} integrates how those products compose during instrument signature removal for DP2 science data.
Section \S\ref{sec:discussion} discusses calibration-epoch differences and residual systematics relevant to DP2.
Section \S\ref{sec:verify-accept-certify} describes how calibration products are verified, accepted, certified, and deployed, and \S\ref{sec:limitations} summarizes known limitations for DP2.
Section \S\ref{sec:conclusion} summarizes the DP2 calibration quality and outlines expected improvements toward Data Release~1 (DR1).
18 changes: 9 additions & 9 deletions sections/2_lsstcam.tex
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ \section{The LSST Camera (LSSTCam)} \label{sec:lsstcam}
Its design, and the technical progress it demanded, were developed in order to meet the requirements set by the ambitious goals of LSST, as described in \cite{roodman2024lsst-9d4}.
We have thus created an ISR approach specifically for the analysis of LSSTCam images.
Figure \ref{fig:beforeafterISR} shows an example of the results from our ISR pipeline on an LSSTCam exposure, showing the corrections of large effects (such as the amplifier offset or crosstalk)
as well as more subtle effects (such as the brighter fatter effect) described in details in following sections.
We summarize here key points about LSSTCam and properties of its CCDs relevant to LSSTCam calibration in Rubin Data Management (DM).
as well as more subtle effects, such as the brighter-fatter effect, described in details in following sections.
We summarize here key points about LSSTCam and properties of its CCDs relevant to LSSTCam calibration in LSST Data Management (DM) and calibration production and the ISR data pipeline.

\begin{figure*}[t]
\centering
Expand All @@ -21,13 +21,13 @@ \section{The LSST Camera (LSSTCam)} \label{sec:lsstcam}
\end{figure*}


\subsection{LSSTCam CCDs} \label{sec:lsstcam:ccds}
\subsection{LSSTCam} \label{sec:lsstcam:ccds}

% Focal plane
LSSTCam is composed of 189 science CCDs organized in rafts of 9 CCDs (3x3), in a focal plane mosaic presented in CTN-001 \textcolor{red}{add citation}.
Each raft is composed of 3 Readout Electornics Boards (REB) providing the electronics of three neighboring CCDs.
In addition, 2 star guider CCDs and one split-wavefront CCD are at each four corners of the focal plane mosaic.
We will focus only on the science CCDs in the following as no requirements are set on the calibration of the corner sensors within DM, although some calibrations are provided for the star guiders.
LSSTCam is composed of 189 science CCDs organized in rafts of 9 CCDs (3x3), in a focal plane mosaic presented in CTN-001 \todo{ADD CITATION}.
Each raft is composed of three Readout Electornics Boards (REB) providing the electronics of three neighboring CCDs.
In addition, two star guider CCDs and one split-wavefront CCD are at each four corners of the focal plane mosaic.
Calibrations are produced and ISR is run on all detectors on the focal plane, however we will only focus on the science sensors in this paper as these are the only detectors that have science-informed constraints on ISR performance \todo{CITE THE SCI. REQ. DOC.}. The ISR for guider and wavefront sensors is the same pipeline, but stripped-down to balance computational speed and image quality necessary for their purposes.

% CCDs
LSSTCam CCDs are made of 16 segments each, 8 at the top and 8 at the bottom of the CCD, read out through an amplifier.
Expand All @@ -53,10 +53,10 @@ \subsection{Electronic Detector Model for LSSTCam} \label{sec:lsstcam:detector-m


The calibration and instrument signature removal (ISR) pipeline removes instrumental effects from science data.
For each effect observed in LSSTCam, the Rubin Science Pipelines define a calibration-generation task that produces the corresponding data product, and a correction task that applies that product during ISR.
For each effect observed in LSSTCam, the LSST Science Pipelines define a calibration-generation task that produces the corresponding data product, and a correction task that applies that product during ISR.
We have built on the ISR approach of past optical surveys \textcolor{red}{here add citations for ISR procedures for other CCD optical experiments}
to develop an ISR pipeline specifically designed for LSSTCam.
We have defined the electronic model of LSSTCam and associated effects in the photon to ADU signal chain.
We have defined the electronic model of LSSTCam and associated effects in the signal chain from photons to analog-to-digital units (ADU), the integer counts produced by the 18-bit analog-to-digital converter (ADC) at the end of the readout chain \citep{SITCOMTN-086}.
Figure \ref{fig:detector-boxes} depicts the different steps in this chain and their physical ordering from the detector
to the Readout Board (REB). \textcolor{red}{here add any citations that supports this description.}

Expand Down
Loading
Loading