File Amplifier.h¶
-
namespace
lsst
Class for a simple mapping implementing a generic AstrometryTransform.
Remove all non-astronomical counts from the Chunk Exposure’s pixels.
Forward declarations for lsst::utils::Cache
For details on the Cache class, see the Cache.h file.
It uses a template rather than a pointer so that the derived classes can use the specifics of the transform. The class simplePolyMapping overloads a few routines.
A base class for image defects
Numeric constants used by the Integrate.h integrator routines.
Compute Image Statistics
- Note
Gauss-Kronrod-Patterson quadrature coefficients for use in quadpack routine qng. These coefficients were calculated with 101 decimal digit arithmetic by L. W. Fullerton, Bell Labs, Nov 1981.
- Note
The Statistics class itself can only handle lsst::afw::image::MaskedImage() types. The philosophy has been to handle other types by making them look like lsst::afw::image::MaskedImage() and reusing that code. Users should have no need to instantiate a Statistics object directly, but should use the overloaded makeStatistics() factory functions.
-
namespace
afw
-
namespace
cameraGeom
¶ Enums
-
enum
ReadoutCorner
Readout corner, in the frame of reference of the assembled image
Values:
-
LL
-
LR
-
UR
-
UL
-
-
enum
AssemblyState
Assembly state of the amplifier, used to identify bounding boxes and component existence.
Values:
-
RAW
-
SCIENCE
-
-
class
Amplifier
- #include <Amplifier.h>
Geometry and electronic information about raw amplifier images
The Amplifier class itself is an abstract base class that provides no mutation or copy interfaces. Typically Amplifiers are constructed via the Builder subclass, which can produce a shared_ptr to an immutable Amplifier instance.
Here is a pictorial example showing the meaning of flipX and flipY:
CCD with 4 amps Desired assembled output Use these parameters --x x-- y | amp1 amp2 | | flipX flipY y y | amp1 False True | CCD image amp2 True True y y | amp3 False False | amp3 amp4 | | amp4 True False --x x-- ----------- x
- Note
All bounding boxes are parent boxes with respect to the raw image.
The overscan and prescan bounding boxes represent the full regions; unusable regions are set via ISR configuration parameters.
xyOffset is not used for instrument signature removal (ISR); it is intended for use by display utilities. It supports construction of a raw CCD image in the case that raw data is provided as individual amplifier images (which is uncommon):
Use 0,0 for cameras that supply raw data as a raw CCD image (most cameras)
Use nonzero for cameras that supply raw data as separate amplifier images with xy0=0,0 (LSST)
This design assumes assembled X is always +/- raw X, which we require for CCDs (so that bleed trails are always along the Y axis).
Subclassed by lsst::afw::cameraGeom::Amplifier::Builder
Public Functions
-
virtual
~Amplifier
()
-
void
toRecord
(table::BaseRecord &record) const Copy the Amplifier’s fields into the given record.
- Parameters
[out] record
: Record to modify.record.getSchema().contains(this->getRecordSchema())
must be true.
-
Builder
rebuild
() const Return a Builder object initialized with the fields of this.
This is simply a shortcut for
Amplifier::Builder(*this)
.
-
std::string
getName
() const Name of the amplifier.
-
lsst::geom::Box2I
getBBox
() const Bounding box of amplifier pixels in the trimmed, assembled image.
-
double
getGain
() const Amplifier gain in e-/ADU.
-
double
getReadNoise
() const Amplifier read noise, in e-.
-
double
getSaturation
() const Level in ADU above which pixels are considered saturated; use
nan
if no such level applies.
-
double
getSuspectLevel
() const Level in ADU above which pixels are considered suspicious, meaning they may be affected by unknown systematics; for example if non-linearity corrections above a certain level are unstable then that would be a useful value for suspectLevel. Use
nan
if no such level applies.
-
ReadoutCorner
getReadoutCorner
() const Readout corner in the trimmed, assembled image.
-
ndarray::Array<double const, 1, 1>
getLinearityCoeffs
() const Vector of linearity coefficients.
-
std::string
getLinearityType
() const Name of linearity parameterization.
-
double
getLinearityThreshold
() const Level in ADU above which linearity should be applied. This should be set to 0.0 if no other value is known.
-
double
getLinearityMaximum
() const Level in ADU above which the linearity relation is poorly defined. Should be set to the saturation level if no other value is known.
-
std::string
getLinearityUnits
() const Units for the input to the linearity relation (DN).
-
bool
getHasRawInfo
() const Does this table have raw amplifier information?
-
lsst::geom::Box2I
getRawBBox
() const Bounding box of all amplifier pixels on untrimmed, assembled raw image.
-
lsst::geom::Box2I
getRawDataBBox
() const Bounding box of amplifier image pixels on untrimmed, assembled raw image.
-
bool
getRawFlipX
() const Flip row order in transformation from untrimmed, assembled raw image to trimmed, assembled post-ISR image?
-
bool
getRawFlipY
() const Flip column order in transformation from untrimmed, assembled raw image to trimmed, assembled post-ISR image?
-
lsst::geom::Extent2I
getRawXYOffset
() const Offset in transformation from pre-raw, unassembled image to trimmed, assembled post-ISR image: final xy0 - pre-raw xy0.
-
lsst::geom::Box2I
getRawHorizontalOverscanBBox
() const The bounding box of horizontal overscan pixels in the assembled, untrimmed raw image.
-
lsst::geom::Box2I
getRawVerticalOverscanBBox
() const The bounding box of vertical overscan pixels in the assembled, untrimmed raw image.
-
lsst::geom::Box2I
getRawPrescanBBox
() const The bounding box of (horizontal) prescan pixels in the assembled, untrimmed raw image.
Public Static Functions
Protected Functions
-
Amplifier
()
-
Amplifier
(Amplifier const&)
-
Amplifier
(Amplifier&&)
-
virtual Fields const &
getFields
() const = 0
-
class
Builder
: public lsst::afw::cameraGeom::Amplifier - #include <Amplifier.h>
A mutable Amplifier subclass class that can be used to incrementally construct or modify Amplifiers.
Public Functions
-
Builder
() Construct a Builder with default values for all fields.
-
Builder
(Builder const&) Standard copy constructor.
-
Builder
(Builder&&) Standard move constructor.
-
Builder
(Amplifier const &other) Construct a Builder with values initialized from the given Amplifier.
-
~Builder
()
-
std::shared_ptr<Amplifier const>
finish
() const Construct an immutable Amplifier with the same values as the Builder.
The derived type of the return instance is unspecified, and should be considered an implementation detail.
-
void
setName
(std::string const &name) Name of the amplifier.
-
void
setBBox
(lsst::geom::Box2I const &bbox) Bounding box of amplifier pixels in the trimmed, assembled image.
-
void
setGain
(double gain) Amplifier gain in e-/ADU.
-
void
setReadNoise
(double readNoise) Amplifier read noise, in e-.
-
void
setSaturation
(double saturation) Level in ADU above which pixels are considered saturated; use
nan
if no such level applies.
-
void
setSuspectLevel
(double suspectLevel) Level in ADU above which pixels are considered suspicious, meaning they may be affected by unknown systematics; for example if non-linearity corrections above a certain level are unstable then that would be a useful value for suspectLevel. Use
nan
if no such level applies.
-
void
setReadoutCorner
(ReadoutCorner readoutCorner) Readout corner in the trimmed, assembled image.
-
void
setLinearityCoeffs
(ndarray::Array<double const, 1, 1> const &coeffs) Vector of linearity coefficients.
-
void
setLinearityType
(std::string const &type) Name of linearity parameterization.
-
void
setLinearityThreshold
(double threshold) Level in ADU above which linearity should be applied. This should be set to 0.0 if no other value is known.
-
void
setLinearityMaximum
(double maximum) Level in ADU above which the linearity relation is poorly defined. Should be set to the saturation level if no other value is known.
-
void
setLinearityUnits
(std::string const &units) Units for the input to the linearity relation (DN).
-
void
setRawBBox
(lsst::geom::Box2I const &bbox) Bounding box of all amplifier pixels on untrimmed, assembled raw image.
-
void
setRawDataBBox
(lsst::geom::Box2I const &bbox) Bounding box of amplifier image pixels on untrimmed, assembled raw image.
-
void
setRawFlipX
(bool rawFlipX) Flip row order in transformation from untrimmed, assembled raw image to trimmed, assembled post-ISR image?
-
void
setRawFlipY
(bool rawFlipY) Flip column order in transformation from untrimmed, assembled raw image to trimmed, assembled post-ISR image?
-
void
setRawXYOffset
(lsst::geom::Extent2I const &xy) Offset in transformation from pre-raw, unassembled image to trimmed, assembled post-ISR image: final xy0 - pre-raw xy0.
-
void
setRawHorizontalOverscanBBox
(lsst::geom::Box2I const &bbox) The bounding box of horizontal overscan pixels in the assembled, untrimmed raw image.
-
void
setRawVerticalOverscanBBox
(lsst::geom::Box2I const &bbox) The bounding box of vertical overscan pixels in the assembled, untrimmed raw image.
-
void
setRawPrescanBBox
(lsst::geom::Box2I const &bbox) The bounding box of (horizontal) prescan pixels in the assembled, untrimmed raw image.
Public Static Functions
-
static Builder
fromRecord
(table::BaseRecord const &record) Construct a new Builder object from the fields in the given record.
- Parameters
[in] record
: Record to copy fields from.
Protected Functions
-
Fields const &
getFields
() const
-
-
struct
Fields
Public Members
-
std::string
name
-
lsst::geom::Box2I
bbox
-
double
gain
= 0.0
-
double
readNoise
= 0.0
-
double
saturation
= 0.0
-
double
suspectLevel
= 0.0
-
ReadoutCorner
readoutCorner
= ReadoutCorner::LL
-
ndarray::Array<double const, 1, 1>
linearityCoeffs
-
std::string
linearityType
-
double
linearityThreshold
-
double
linearityMaximum
-
std::string
linearityUnits
-
lsst::geom::Box2I
rawBBox
-
lsst::geom::Box2I
rawDataBBox
-
bool
rawFlipX
= false
-
bool
rawFlipY
= false
-
lsst::geom::Extent2I
rawXYOffset
-
lsst::geom::Box2I
rawHorizontalOverscanBBox
-
lsst::geom::Box2I
rawVerticalOverscanBBox
-
lsst::geom::Box2I
rawPrescanBBox
-
std::string
-
enum
-
namespace