Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DM-34332: Document ip_isr #243

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
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
3 changes: 0 additions & 3 deletions doc/SConscript

This file was deleted.

1 change: 1 addition & 0 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ ip_isr documentation preview
:maxdepth: 1

lsst.ip.isr/index
lsst.ip.isr.isrMock/index
51 changes: 51 additions & 0 deletions doc/lsst.ip.isr.isrMock/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
.. py:currentmodule:: lsst.ip.isr.isrMock

.. _lsst.ip.isr.isrMock:

###################
lsst.ip.isr.isrMock
###################

The ``lsst.ip.isr.isrMock`` module provides classes to simulate raw exposures and calibration products to allow for testing.

.. _lsst.ip.isr.isrMock-using:

Using lsst.ip.isr.isrMock
=========================

.. toctree::
:maxdepth: 1

.. _lsst.ip.isr.isrMock-contributing:

Contributing
============

``lsst.ip.isr.isrMock`` is developed at https://github.com/lsst/ip_isr.
You can find Jira issues for this module under the `ip_isr <https://jira.lsstcorp.org/issues/?jql=project%20%3D%20DM%20AND%20component%20%3D%20ip_isr>`_ component.

.. If there are topics related to developing this module (rather than using it), link to this from a toctree placed here.

.. .. toctree::
.. :maxdepth: 1

Task reference
==============

.. _lsst.ip.isr.isrMock-pipeline-tasks:

Tasks
-----

.. lsst-tasks::
:root: lsst.ip.isr.isrMock
:toctree: tasks

.. _lsst.ip.isr.isrMock-pyapi:

Python API reference
====================

.. automodapi:: lsst.ip.isr.isrMock
:no-main-docstr:
:no-inheritance-diagram:
48 changes: 48 additions & 0 deletions doc/lsst.ip.isr.isrMock/tasks/lsst.ip.isr.IsrMock.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
.. lsst-task-topic:: lsst.ip.isr.isrMock.IsrMock

#######
IsrMock
#######

``IsrMock`` creates a variety of simulated images and calibration products, for use in testing.

.. _lsst.ip.isr.isrMock.IsrMock-processing-summary:

Processing summary
==================

``IsrMock`` can generate simulated "raw" images (and the associated calibration products needed to correct them) that may contain any or all of the following:

#. A simulated sky with Poissonian noise.
#. A single Gaussian source.
#. A fringe signal.
#. Flat field correction.
#. Dark current and noise.
#. Bias offset and noise.
#. An overscan with a simple gradient functional form.
#. Crosstalk between amps.

The output exposure can be returned as a trimmed (overscan and prescan removed) single image, an untrimmed single image, or a dictionary containing each amplifier as a separate image indexed by the amplifier name. This allows testing of the various methods of assembly.

.. _lsst.ip.isr.isrMock.IsrMock-api:

Python API summary
==================

.. lsst-task-api-summary:: lsst.ip.isr.isrMock.IsrMock

.. _lsst.ip.isr.isrMock.IsrMock-subtasks:

Retargetable subtasks
=====================

.. lsst-task-config-subtasks:: lsst.ip.isr.isrMock.IsrMock

.. _lsst.ip.isr.isrMock.IsrMock-configs:

Configuration fields
====================

.. lsst-task-config-fields:: lsst.ip.isr.isrMock.IsrMock

.. _lsst.ip.isr.isrMock.IsrMock-debug:
14 changes: 14 additions & 0 deletions doc/lsst.ip.isr/configs/lsst.ip.isr.FringeStatisticsConfig.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.. lsst-config-topic:: lsst.ip.isr.fringe.FringeStatisticsConfig

######################
FringeStatisticsConfig
######################

``FringeStatisticsConfig`` provides configuration for the statistics method used to generate sample points for fringe measurement.

.. _lsst.ip.isr.fringe.FringeStatisticsConfig-configs:

Configuration fields
====================

.. lsst-config-fields:: lsst.ip.isr.fringe.FringeStatisticsConfig
14 changes: 14 additions & 0 deletions doc/lsst.ip.isr/configs/lsst.ip.isr.IsrQaConfig.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.. lsst-config-topic:: lsst.ip.isr.isrQa.IsrQaConfig

###########
IsrQaConfig
###########

``IsrQaConfig`` provides configuration for quality-assurance measurements, including thumbnail images, created by IsrTask.

.. _lsst.ip.isr.isrQa.IsrQaConfig-configs:

Configuration fields
====================

.. lsst-config-fields:: lsst.ip.isr.isrQa.IsrQaConfig
14 changes: 14 additions & 0 deletions doc/lsst.ip.isr/configs/lsst.ip.isr.IsrQaFlatnessConfig.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.. lsst-config-topic:: lsst.ip.isr.isrQa.IsrQaFlatnessConfig

###################
IsrQaFlatnessConfig
###################

``IsrQaFlatnessConfig`` provides configuration for the quality assurance estimate of the image background.

.. _lsst.ip.isr.isrQa.IsrQaFlatnessConfig-configs:

Configuration fields
====================

.. lsst-config-fields:: lsst.ip.isr.isrQa.IsrQaFlatnessConfig
43 changes: 42 additions & 1 deletion doc/lsst.ip.isr/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,19 @@ lsst.ip.isr
###########

The ``lsst.ip.isr`` module provides instrument signature removal (ISR) related tasks.

ISR includes steps such as combining multiple amplifiers into one full CCD image, corrections for overscans, crosstalk, bias and dark frames, and the creation of variance and mask planes.

.. _lsst.ip.isr-using:

Using lsst.ip.isr
=================

.. toctree::
:maxdepth: 1

``lsst.ip.isr`` is generally used as the initial step of pipeline processing, performing the initial image processing for ``lsst.drp.pipe``, ``lsst.ap.pipe``, and ``lsst.cp.pipe``. This module also contains the definitions for calibration products that are not just a simple image. The final major component is a set of tasks designed to simulate raw data and calibration products, to allow for the functions and methods to be properly tested with known inputs.

.. _lsst.ip.isr-contributing:

Contributing
Expand All @@ -17,11 +28,30 @@ Contributing
``lsst.ip.isr`` is developed at https://github.com/lsst/ip_isr.
You can find Jira issues for this module under the `ip_isr <https://jira.lsstcorp.org/issues/?jql=project%20%3D%20DM%20AND%20component%20%3D%20ip_isr>`_ component.

.. _lsst.ip.isr-command-line-taskref:
.. If there are topics related to developing this module (rather than using it), link to this from a toctree placed here.

.. .. toctree::
.. :maxdepth: 1

Task reference
==============

.. _lsst.ip.isr-pipeline-tasks:

Pipeline tasks
--------------

.. lsst-pipelinetasks::
:root: lsst.ip.isr

.. _lsst.ip.isr-command-line-tasks:

Command-line tasks
------------------

.. lsst-cmdlinetasks::
:root: lsst.ip.isr

.. _lsst.ip.isr-tasks:

Tasks
Expand All @@ -31,8 +61,19 @@ Tasks
:root: lsst.ip.isr
:toctree: tasks

.. _lsst.ip.isr-configs:

Configurations
--------------
.. lsst-configs::
:root: lsst.ip.isr
:toctree: configs

.. _lsst.ip.isr-pyapi:

Python API reference
====================

.. automodapi:: lsst.ip.isr
:no-main-docstr:
:no-inheritance-diagram:
36 changes: 36 additions & 0 deletions doc/lsst.ip.isr/tasks/lsst.ip.isr.AmpOffsetTask.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
.. lsst-task-topic:: lsst.ip.isr.ampOffset.AmpOffsetTask

#############
AmpOffsetTask
#############

``AmpOffsetTask`` is designed to measure background levels at amplifier boundaries, using those values to calculate the optimal offsets needed to align the flux levels to remove remnant shifts between amplifiers that are not corrected by bias, dark, and flat correction.

.. _lsst.ip.isr.ampOffset.AmpOffsetTask-processing-summary:

Processing summary
==================

``AmpOffsetTask`` is a stub task that should be subclassed by camera-specific implementations that can correctly map the measurements into amp-to-amp shifts.

.. _lsst.ip.isr.ampOffset.AmpOffsetTask-api:

Python API summary
==================

.. lsst-task-api-summary:: lsst.ip.isr.ampOffset.AmpOffsetTask

.. _lsst.ip.isr.ampOffset.AmpOffsetTask-subtasks:

Retargetable subtasks
=====================

.. lsst-task-config-subtasks:: lsst.ip.isr.ampOffset.AmpOffsetTask

.. _lsst.ip.isr.ampOffset.AmpOffsetTask-configs:

Configuration fields
====================

.. lsst-task-config-fields:: lsst.ip.isr.ampOffset.AmpOffsetTask

47 changes: 47 additions & 0 deletions doc/lsst.ip.isr/tasks/lsst.ip.isr.AssembleCcdTask.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
.. lsst-task-topic:: lsst.ip.isr.assembleCcdTask.AssembleCcdTask

###############
AssembleCcdTask
###############

``AssembleCcdTask`` constructs a full detector image from individual segments. The end result can either be untrimmed (all overscan and prescan regions are retained), or trimmed (these sections are removed, producing an image of only the imaging region).

.. _lsst.ip.isr.assembleCcdTask.AssembleCcdTask-processing-summary:

Processing summary
==================

``AssembleCcdTask`` runs these operations:

#. The exposure detector is identified, and a loop over each amplifier trims and shifts each segment into the correct location of the assembled exposure.
#. The exposure metadata is filtered to remove keywords that have context in the raw amplifier data, but not in the assembled image.
#. The WCS, filter, and visit info are also transferred from the input exposure to the output.


.. _lsst.ip.isr.assembleCcdTask.AssembleCcdTask-api:

Python API summary
==================

.. lsst-task-api-summary:: lsst.ip.isr.assembleCcdTask.AssembleCcdTask

.. _lsst.ip.isr.assembleCcdTask.AssembleCcdTask-subtasks:

Retargetable subtasks
=====================

.. lsst-task-config-subtasks:: lsst.ip.isr.assembleCcdTask.AssembleCcdTask

.. _lsst.ip.isr.assembleCcdTask.AssembleCcdTask-configs:

Configuration fields
====================

.. lsst-task-config-fields:: lsst.ip.isr.assembleCcdTask.AssembleCcdTask

.. _lsst.ip.isr.assembleCcdTask.AssembleCcdTask-debug:

Debugging
=========

If the a debug frame for ``assembledExposure`` is ``True`` for ``lsst.ip.isr.assembleCcdTask``, then the final assembled exposure is displayed.
41 changes: 41 additions & 0 deletions doc/lsst.ip.isr/tasks/lsst.ip.isr.CrosstalkTask.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
.. lsst-task-topic:: lsst.ip.isr.crosstalk.CrosstalkTask

#############
CrosstalkTask
#############

``CrosstalkTask`` corrects the effects of crosstalk by subtracting scaled copies of the source amplifier images from the target amplifiers. This task uses the `lsst.ip.isr.crosstalk.CrosstalkCalib` to hold the crosstalk coefficients, as well as a number of the utility functions to ensure that the source and template amplifier images are aligned such that the readout corner is in the same location for both. Both intra- and inter- detector crosstalk signals can be corrected, although the latter that requires all the exposures for all potential source detectors be supplied.

.. _lsst.ip.isr.crosstalk.CrosstalkTask-processing-summary:

Processing summary
==================

``CrosstalkTask`` runs these operations:

#. Iterate over all potential source amplifier and target amplifiers, identifying which have significant crosstalk coefficients.
#. Flip amplifier images to match readout corners, and subtract the scaled version from the target amplifier.
#. Repeat this procedure for any inter-detector crosstalk signals that have supplied exposures.

.. _lsst.ip.isr.crosstalk.CrosstalkTask-api:

Python API summary
==================

.. lsst-task-api-summary:: lsst.ip.isr.crosstalk.CrosstalkTask

.. _lsst.ip.isr.crosstalk.CrosstalkTask-subtasks:

Retargetable subtasks
=====================

.. lsst-task-config-subtasks:: lsst.ip.isr.crosstalk.CrosstalkTask

.. _lsst.ip.isr.crosstalk.CrosstalkTask-configs:

Configuration fields
====================

.. lsst-task-config-fields:: lsst.ip.isr.crosstalk.CrosstalkTask

.. _lsst.ip.isr.crosstalk.CrosstalkTask-debug:
Loading
Loading