Class Amplifier¶
Defined in File Amplifier.h
Inheritance Relationships¶
Derived Type¶
public lsst::afw::cameraGeom::Amplifier::Builder
(Class Amplifier::Builder)
Class Documentation¶
-
class
Amplifier
¶ 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
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.
Public Static Functions
Protected Functions
-
Amplifier
()¶
-
class
Builder
: public lsst::afw::cameraGeom::Amplifier¶ A mutable Amplifier subclass class that can be used to incrementally construct or modify Amplifiers.
Public Functions
-
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
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.
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.
-
-
struct
Fields
¶ Public Members
-
std::string
name
¶
-
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
¶
-
bool
rawFlipX
= false¶
-
bool
rawFlipY
= false¶
-
std::string