LSSTApplications  18.0.0+106,18.0.0+50,19.0.0,19.0.0+1,19.0.0+10,19.0.0+11,19.0.0+13,19.0.0+17,19.0.0+2,19.0.0-1-g20d9b18+6,19.0.0-1-g425ff20,19.0.0-1-g5549ca4,19.0.0-1-g580fafe+6,19.0.0-1-g6fe20d0+1,19.0.0-1-g7011481+9,19.0.0-1-g8c57eb9+6,19.0.0-1-gb5175dc+11,19.0.0-1-gdc0e4a7+9,19.0.0-1-ge272bc4+6,19.0.0-1-ge3aa853,19.0.0-10-g448f008b,19.0.0-12-g6990b2c,19.0.0-2-g0d9f9cd+11,19.0.0-2-g3d9e4fb2+11,19.0.0-2-g5037de4,19.0.0-2-gb96a1c4+3,19.0.0-2-gd955cfd+15,19.0.0-3-g2d13df8,19.0.0-3-g6f3c7dc,19.0.0-4-g725f80e+11,19.0.0-4-ga671dab3b+1,19.0.0-4-gad373c5+3,19.0.0-5-ga2acb9c+2,19.0.0-5-gfe96e6c+2,w.2020.01
LSSTDataManagementBasePackage
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
lsst::afw::cameraGeom::Amplifier::Builder Class Referencefinal

A mutable Amplifier subclass class that can be used to incrementally construct or modify Amplifiers. More...

#include <Amplifier.h>

Inheritance diagram for lsst::afw::cameraGeom::Amplifier::Builder:
lsst::afw::cameraGeom::Amplifier

Public Member Functions

 Builder ()=default
 Construct a Builder with default values for all fields. More...
 
 Builder (Builder const &)=default
 Standard copy constructor. More...
 
 Builder (Builder &&)=default
 Standard move constructor. More...
 
 Builder (Amplifier const &other)
 Construct a Builder with values initialized from the given Amplifier. More...
 
Builderoperator= (Builder const &)=default
 Standard copy assignment. More...
 
Builderoperator= (Builder &&)=default
 Standard move assignment. More...
 
Builderoperator= (Amplifier const &other)
 Set the Builder's fields to those of the given Amplifier. More...
 
 ~Builder () noexcept override=default
 
std::shared_ptr< Amplifier const > finish () const
 Construct an immutable Amplifier with the same values as the Builder. More...
 
void setName (std::string const &name)
 Name of the amplifier. More...
 
void setBBox (lsst::geom::Box2I const &bbox)
 Bounding box of amplifier pixels in the trimmed, assembled image. More...
 
void setGain (double gain)
 Amplifier gain in e-/ADU. More...
 
void setReadNoise (double readNoise)
 Amplifier read noise, in e-. More...
 
void setSaturation (double saturation)
 Level in ADU above which pixels are considered saturated; use nan if no such level applies. More...
 
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. More...
 
void setReadoutCorner (ReadoutCorner readoutCorner)
 Readout corner in the trimmed, assembled image. More...
 
void setLinearityCoeffs (ndarray::Array< double const, 1, 1 > const &coeffs)
 Vector of linearity coefficients. More...
 
void setLinearityType (std::string const &type)
 Name of linearity parameterization. More...
 
void setLinearityThreshold (double threshold)
 Level in ADU above which linearity should be applied. More...
 
void setLinearityMaximum (double maximum)
 Level in ADU above which the linearity relation is poorly defined. More...
 
void setLinearityUnits (std::string const &units)
 Units for the input to the linearity relation (DN). More...
 
void setRawBBox (lsst::geom::Box2I const &bbox)
 Bounding box of all amplifier pixels on untrimmed, assembled raw image. More...
 
void setRawDataBBox (lsst::geom::Box2I const &bbox)
 Bounding box of amplifier image pixels on untrimmed, assembled raw image. More...
 
void setRawFlipX (bool rawFlipX)
 Flip row order in transformation from untrimmed, assembled raw image to trimmed, assembled post-ISR image? More...
 
void setRawFlipY (bool rawFlipY)
 Flip column order in transformation from untrimmed, assembled raw image to trimmed, assembled post-ISR image? More...
 
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. More...
 
void setRawHorizontalOverscanBBox (lsst::geom::Box2I const &bbox)
 The bounding box of horizontal overscan pixels in the assembled, untrimmed raw image. More...
 
void setRawVerticalOverscanBBox (lsst::geom::Box2I const &bbox)
 The bounding box of vertical overscan pixels in the assembled, untrimmed raw image. More...
 
void setRawPrescanBBox (lsst::geom::Box2I const &bbox)
 The bounding box of (horizontal) prescan pixels in the assembled, untrimmed raw image. More...
 
void setRawSerialOverscanBBox (lsst::geom::Box2I const &bbox)
 The bounding box of serial overscan pixels (equivalent to horizontal overscan pixels) in the assembled, untrimmed raw image. More...
 
void setRawParallelOverscanBBox (lsst::geom::Box2I const &bbox)
 The bounding box of parallel overscan pixels (equivalent to vertical overscan pixels) in the assembled, untrimmed raw image. More...
 
void setRawSerialPrescanBBox (lsst::geom::Box2I const &bbox)
 The bounding box of horizontal/serial prescan pixels in the assembled, untrimmed raw image. More...
 
void setRawHorizontalPrescanBBox (lsst::geom::Box2I const &bbox)
 The bounding box of horizontal/serial prescan pixels in the assembled, untrimmed raw image. More...
 
void toRecord (table::BaseRecord &record) const
 Copy the Amplifier's fields into the given record. More...
 
Builder rebuild () const
 Return a Builder object initialized with the fields of this. More...
 
std::string getName () const
 Name of the amplifier. More...
 
lsst::geom::Box2I getBBox () const
 Bounding box of amplifier pixels in the trimmed, assembled image. More...
 
double getGain () const
 Amplifier gain in e-/ADU. More...
 
double getReadNoise () const
 Amplifier read noise, in e-. More...
 
double getSaturation () const
 Level in ADU above which pixels are considered saturated; use nan if no such level applies. More...
 
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. More...
 
ReadoutCorner getReadoutCorner () const
 Readout corner in the trimmed, assembled image. More...
 
ndarray::Array< double const, 1, 1 > getLinearityCoeffs () const
 Vector of linearity coefficients. More...
 
std::string getLinearityType () const
 Name of linearity parameterization. More...
 
double getLinearityThreshold () const
 Level in ADU above which linearity should be applied. More...
 
double getLinearityMaximum () const
 Level in ADU above which the linearity relation is poorly defined. More...
 
std::string getLinearityUnits () const
 Units for the input to the linearity relation (DN). More...
 
bool getHasRawInfo () const
 Does this table have raw amplifier information? More...
 
lsst::geom::Box2I getRawBBox () const
 Bounding box of all amplifier pixels on untrimmed, assembled raw image. More...
 
lsst::geom::Box2I getRawDataBBox () const
 Bounding box of amplifier image pixels on untrimmed, assembled raw image. More...
 
bool getRawFlipX () const
 Flip row order in transformation from untrimmed, assembled raw image to trimmed, assembled post-ISR image? More...
 
bool getRawFlipY () const
 Flip column order in transformation from untrimmed, assembled raw image to trimmed, assembled post-ISR image? More...
 
lsst::geom::Extent2I getRawXYOffset () const
 Offset in transformation from pre-raw, unassembled image to trimmed, assembled post-ISR image: final xy0 - pre-raw xy0. More...
 
lsst::geom::Box2I getRawHorizontalOverscanBBox () const
 The bounding box of horizontal overscan pixels in the assembled, untrimmed raw image. More...
 
lsst::geom::Box2I getRawVerticalOverscanBBox () const
 The bounding box of vertical overscan pixels in the assembled, untrimmed raw image. More...
 
lsst::geom::Box2I getRawPrescanBBox () const
 The bounding box of (horizontal) prescan pixels in the assembled, untrimmed raw image. More...
 
lsst::geom::Box2I getRawSerialOverscanBBox () const
 The bounding box of serial overscan pixels (equivalent to horizontal overscan pixels) in the assembled, untrimmed raw image. More...
 
lsst::geom::Box2I getRawParallelOverscanBBox () const
 The bounding box of parallel overscan pixels (equivalent to vertical overscan pixels) in the assembled, untrimmed raw image. More...
 
lsst::geom::Box2I getRawSerialPrescanBBox () const
 The bounding box of horizontal/serial prescan pixels in the assembled, untrimmed raw image. More...
 
lsst::geom::Box2I getRawHorizontalPrescanBBox () const
 The bounding box of horizontal/serial prescan pixels in the assembled, untrimmed raw image. More...
 

Static Public Member Functions

static Builder fromRecord (table::BaseRecord const &record)
 Construct a new Builder object from the fields in the given record. More...
 
static table::Schema getRecordSchema ()
 Return the schema used in the afw.table representation of amplifiers. More...
 

Protected Member Functions

Fields const & getFields () const override
 

Detailed Description

A mutable Amplifier subclass class that can be used to incrementally construct or modify Amplifiers.

Definition at line 280 of file Amplifier.h.

Constructor & Destructor Documentation

◆ Builder() [1/4]

Construct a Builder with default values for all fields.

◆ Builder() [2/4]

Standard copy constructor.

◆ Builder() [3/4]

Standard move constructor.

◆ Builder() [4/4]

Construct a Builder with values initialized from the given Amplifier.

Definition at line 273 of file Amplifier.cc.

273 : _fields(other.getFields()) {}
ItemVariant const * other
Definition: Schema.cc:56

◆ ~Builder()

lsst::afw::cameraGeom::Amplifier::Builder::~Builder ( )
overridedefaultnoexcept

Member Function Documentation

◆ finish()

std::shared_ptr< Amplifier const > lsst::afw::cameraGeom::Amplifier::Builder::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.

Definition at line 282 of file Amplifier.cc.

282  {
283  return std::make_shared<FrozenAmplifier>(_fields);
284 }

◆ fromRecord()

Amplifier::Builder lsst::afw::cameraGeom::Amplifier::Builder::fromRecord ( table::BaseRecord const &  record)
static

Construct a new Builder object from the fields in the given record.

Parameters
[in]recordRecord to copy fields from.

Definition at line 286 of file Amplifier.cc.

286  {
287  auto const helper = RecordSchemaHelper(record.getSchema());
288  Builder result;
289  result.setName(record.get(helper.name));
290  result.setBBox(record.get(helper.bbox));
291  result.setGain(record.get(helper.gain));
292  result.setReadNoise(record.get(helper.readNoise));
293  result.setSaturation(record.get(helper.saturation));
294  result.setSuspectLevel(record.get(helper.suspectLevel));
295  result.setReadoutCorner(static_cast<ReadoutCorner>(record.get(helper.readoutCorner)));
296  result.setLinearityCoeffs(ndarray::copy(record.get(helper.linearityCoeffs)));
297  result.setLinearityType(record.get(helper.linearityType));
298  result.setRawBBox(record.get(helper.rawBBox));
299  result.setRawDataBBox(record.get(helper.rawDataBBox));
300  result.setRawFlipX(record.get(helper.rawFlipX));
301  result.setRawFlipY(record.get(helper.rawFlipY));
302  result.setRawXYOffset(lsst::geom::Extent2I(record.get(helper.rawXYOffset)));
303  result.setRawHorizontalOverscanBBox(record.get(helper.rawHorizontalOverscanBBox));
304  result.setRawVerticalOverscanBBox(record.get(helper.rawVerticalOverscanBBox));
305  result.setRawHorizontalOverscanBBox(record.get(helper.rawHorizontalOverscanBBox));
306  result.setRawPrescanBBox(record.get(helper.rawPrescanBBox));
307  // Set not-always-present fields only when present. While it's usually
308  // preferable to use the public setter methods (as above), passing member
309  // function pointers through the lambda below is sufficiently unpleasant
310  // that we just set the private member directly.
311  auto setIfValid = [&record](auto & member, auto & key) {
312  if (key.isValid()) {
313  member = record.get(key);
314  }
315  };
316  setIfValid(result._fields.linearityThreshold, helper.linearityThreshold);
317  setIfValid(result._fields.linearityMaximum, helper.linearityMaximum);
318  setIfValid(result._fields.linearityUnits, helper.linearityUnits);
319  return result;
320 }
Key< U > key
Definition: Schema.cc:281
py::object result
Definition: _schema.cc:429
Builder()=default
Construct a Builder with default values for all fields.

◆ getBBox()

lsst::geom::Box2I lsst::afw::cameraGeom::Amplifier::getBBox ( ) const
inlineinherited

Bounding box of amplifier pixels in the trimmed, assembled image.

Definition at line 115 of file Amplifier.h.

115 { return getFields().bbox; }
virtual Fields const & getFields() const =0

◆ getFields()

Fields const& lsst::afw::cameraGeom::Amplifier::Builder::getFields ( ) const
inlineoverrideprotectedvirtual

Implements lsst::afw::cameraGeom::Amplifier.

Definition at line 411 of file Amplifier.h.

411 { return _fields; }

◆ getGain()

double lsst::afw::cameraGeom::Amplifier::getGain ( ) const
inlineinherited

Amplifier gain in e-/ADU.

Definition at line 118 of file Amplifier.h.

118 { return getFields().gain; }
virtual Fields const & getFields() const =0

◆ getHasRawInfo()

bool lsst::afw::cameraGeom::Amplifier::getHasRawInfo ( ) const
inlineinherited

Does this table have raw amplifier information?

Definition at line 163 of file Amplifier.h.

163 { return true; }

◆ getLinearityCoeffs()

ndarray::Array<double const, 1, 1> lsst::afw::cameraGeom::Amplifier::getLinearityCoeffs ( ) const
inlineinherited

Vector of linearity coefficients.

Definition at line 142 of file Amplifier.h.

142 { return getFields().linearityCoeffs; }
ndarray::Array< double const, 1, 1 > linearityCoeffs
Definition: Amplifier.h:247
virtual Fields const & getFields() const =0

◆ getLinearityMaximum()

double lsst::afw::cameraGeom::Amplifier::getLinearityMaximum ( ) const
inlineinherited

Level in ADU above which the linearity relation is poorly defined.

Should be set to the saturation level if no other value is known.

Definition at line 156 of file Amplifier.h.

156 { return getFields().linearityMaximum; }
virtual Fields const & getFields() const =0

◆ getLinearityThreshold()

double lsst::afw::cameraGeom::Amplifier::getLinearityThreshold ( ) const
inlineinherited

Level in ADU above which linearity should be applied.

This should be set to 0.0 if no other value is known.

Definition at line 150 of file Amplifier.h.

150 { return getFields().linearityThreshold; }
virtual Fields const & getFields() const =0

◆ getLinearityType()

std::string lsst::afw::cameraGeom::Amplifier::getLinearityType ( ) const
inlineinherited

Name of linearity parameterization.

Definition at line 145 of file Amplifier.h.

145 { return getFields().linearityType; }
virtual Fields const & getFields() const =0

◆ getLinearityUnits()

std::string lsst::afw::cameraGeom::Amplifier::getLinearityUnits ( ) const
inlineinherited

Units for the input to the linearity relation (DN).

Definition at line 159 of file Amplifier.h.

159 { return getFields().linearityUnits; }
virtual Fields const & getFields() const =0

◆ getName()

std::string lsst::afw::cameraGeom::Amplifier::getName ( ) const
inlineinherited

Name of the amplifier.

Definition at line 112 of file Amplifier.h.

112 { return getFields().name; }
virtual Fields const & getFields() const =0

◆ getRawBBox()

lsst::geom::Box2I lsst::afw::cameraGeom::Amplifier::getRawBBox ( ) const
inlineinherited

Bounding box of all amplifier pixels on untrimmed, assembled raw image.

Definition at line 169 of file Amplifier.h.

169 { return getFields().rawBBox; }
virtual Fields const & getFields() const =0

◆ getRawDataBBox()

lsst::geom::Box2I lsst::afw::cameraGeom::Amplifier::getRawDataBBox ( ) const
inlineinherited

Bounding box of amplifier image pixels on untrimmed, assembled raw image.

Definition at line 175 of file Amplifier.h.

175 { return getFields().rawDataBBox; }
virtual Fields const & getFields() const =0

◆ getRawFlipX()

bool lsst::afw::cameraGeom::Amplifier::getRawFlipX ( ) const
inlineinherited

Flip row order in transformation from untrimmed, assembled raw image to trimmed, assembled post-ISR image?

Definition at line 181 of file Amplifier.h.

181 { return getFields().rawFlipX; }
virtual Fields const & getFields() const =0

◆ getRawFlipY()

bool lsst::afw::cameraGeom::Amplifier::getRawFlipY ( ) const
inlineinherited

Flip column order in transformation from untrimmed, assembled raw image to trimmed, assembled post-ISR image?

Definition at line 187 of file Amplifier.h.

187 { return getFields().rawFlipY; }
virtual Fields const & getFields() const =0

◆ getRawHorizontalOverscanBBox()

lsst::geom::Box2I lsst::afw::cameraGeom::Amplifier::getRawHorizontalOverscanBBox ( ) const
inlineinherited

The bounding box of horizontal overscan pixels in the assembled, untrimmed raw image.

Definition at line 199 of file Amplifier.h.

virtual Fields const & getFields() const =0
lsst::geom::Box2I rawHorizontalOverscanBBox
Definition: Amplifier.h:257

◆ getRawHorizontalPrescanBBox()

lsst::geom::Box2I lsst::afw::cameraGeom::Amplifier::getRawHorizontalPrescanBBox ( ) const
inlineinherited

The bounding box of horizontal/serial prescan pixels in the assembled, untrimmed raw image.

This duplicates the getRawPrescanBBox method for legacy reasons.

Definition at line 235 of file Amplifier.h.

235 { return getFields().rawPrescanBBox; }
virtual Fields const & getFields() const =0

◆ getRawParallelOverscanBBox()

lsst::geom::Box2I lsst::afw::cameraGeom::Amplifier::getRawParallelOverscanBBox ( ) const
inlineinherited

The bounding box of parallel overscan pixels (equivalent to vertical overscan pixels) in the assembled, untrimmed raw image.

This duplicates the getRawVerticalOverscanBBox method for legacy reasons.

Definition at line 225 of file Amplifier.h.

virtual Fields const & getFields() const =0

◆ getRawPrescanBBox()

lsst::geom::Box2I lsst::afw::cameraGeom::Amplifier::getRawPrescanBBox ( ) const
inlineinherited

The bounding box of (horizontal) prescan pixels in the assembled, untrimmed raw image.

Definition at line 211 of file Amplifier.h.

211 { return getFields().rawPrescanBBox; }
virtual Fields const & getFields() const =0

◆ getRawSerialOverscanBBox()

lsst::geom::Box2I lsst::afw::cameraGeom::Amplifier::getRawSerialOverscanBBox ( ) const
inlineinherited

The bounding box of serial overscan pixels (equivalent to horizontal overscan pixels) in the assembled, untrimmed raw image.

This duplicates the getRawHorizontalOverscanBBox method for legacy reasons.

Definition at line 218 of file Amplifier.h.

virtual Fields const & getFields() const =0
lsst::geom::Box2I rawHorizontalOverscanBBox
Definition: Amplifier.h:257

◆ getRawSerialPrescanBBox()

lsst::geom::Box2I lsst::afw::cameraGeom::Amplifier::getRawSerialPrescanBBox ( ) const
inlineinherited

The bounding box of horizontal/serial prescan pixels in the assembled, untrimmed raw image.

This duplicates the getRawPrescanBBox method for legacy reasons.

Definition at line 232 of file Amplifier.h.

232 { return getFields().rawPrescanBBox; }
virtual Fields const & getFields() const =0

◆ getRawVerticalOverscanBBox()

lsst::geom::Box2I lsst::afw::cameraGeom::Amplifier::getRawVerticalOverscanBBox ( ) const
inlineinherited

The bounding box of vertical overscan pixels in the assembled, untrimmed raw image.

Definition at line 205 of file Amplifier.h.

virtual Fields const & getFields() const =0

◆ getRawXYOffset()

lsst::geom::Extent2I lsst::afw::cameraGeom::Amplifier::getRawXYOffset ( ) const
inlineinherited

Offset in transformation from pre-raw, unassembled image to trimmed, assembled post-ISR image: final xy0 - pre-raw xy0.

Definition at line 193 of file Amplifier.h.

193 { return getFields().rawXYOffset; }
virtual Fields const & getFields() const =0

◆ getReadNoise()

double lsst::afw::cameraGeom::Amplifier::getReadNoise ( ) const
inlineinherited

Amplifier read noise, in e-.

Definition at line 121 of file Amplifier.h.

121 { return getFields().readNoise; }
virtual Fields const & getFields() const =0

◆ getReadoutCorner()

ReadoutCorner lsst::afw::cameraGeom::Amplifier::getReadoutCorner ( ) const
inlineinherited

Readout corner in the trimmed, assembled image.

Definition at line 139 of file Amplifier.h.

139 { return getFields().readoutCorner; }
virtual Fields const & getFields() const =0

◆ getRecordSchema()

table::Schema lsst::afw::cameraGeom::Amplifier::getRecordSchema ( )
staticinherited

Return the schema used in the afw.table representation of amplifiers.

Definition at line 267 of file Amplifier.cc.

267  {
268  return RecordSchemaHelper::getMinimal().schema;
269 }

◆ getSaturation()

double lsst::afw::cameraGeom::Amplifier::getSaturation ( ) const
inlineinherited

Level in ADU above which pixels are considered saturated; use nan if no such level applies.

Definition at line 127 of file Amplifier.h.

127 { return getFields().saturation; }
virtual Fields const & getFields() const =0

◆ getSuspectLevel()

double lsst::afw::cameraGeom::Amplifier::getSuspectLevel ( ) const
inlineinherited

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.

Definition at line 136 of file Amplifier.h.

136 { return getFields().suspectLevel; }
virtual Fields const & getFields() const =0

◆ operator=() [1/3]

Builder& lsst::afw::cameraGeom::Amplifier::Builder::operator= ( Builder const &  )
default

Standard copy assignment.

◆ operator=() [2/3]

Builder& lsst::afw::cameraGeom::Amplifier::Builder::operator= ( Builder &&  )
default

Standard move assignment.

◆ operator=() [3/3]

Amplifier::Builder & lsst::afw::cameraGeom::Amplifier::Builder::operator= ( Amplifier const &  other)

Set the Builder's fields to those of the given Amplifier.

Definition at line 275 of file Amplifier.cc.

275  {
276  using std::swap;
277  Fields copy(other.getFields());
278  swap(_fields, copy);
279  return *this;
280 }
T copy(T... args)
T swap(T... args)
ItemVariant const * other
Definition: Schema.cc:56
void swap(CameraSys &a, CameraSys &b)
Definition: CameraSys.h:157

◆ rebuild()

Amplifier::Builder lsst::afw::cameraGeom::Amplifier::rebuild ( ) const
inherited

Return a Builder object initialized with the fields of this.

This is simply a shortcut for Amplifier::Builder(*this).

Definition at line 271 of file Amplifier.cc.

271 { return Builder(*this); }

◆ setBBox()

void lsst::afw::cameraGeom::Amplifier::Builder::setBBox ( lsst::geom::Box2I const &  bbox)
inline

Bounding box of amplifier pixels in the trimmed, assembled image.

Definition at line 326 of file Amplifier.h.

326 { _fields.bbox = bbox; }
AmpInfoBoxKey bbox
Definition: Amplifier.cc:117

◆ setGain()

void lsst::afw::cameraGeom::Amplifier::Builder::setGain ( double  gain)
inline

Amplifier gain in e-/ADU.

Definition at line 329 of file Amplifier.h.

329 { _fields.gain = gain; }
table::Key< double > gain
Definition: Amplifier.cc:118

◆ setLinearityCoeffs()

void lsst::afw::cameraGeom::Amplifier::Builder::setLinearityCoeffs ( ndarray::Array< double const, 1, 1 > const &  coeffs)
inline

Vector of linearity coefficients.

Definition at line 344 of file Amplifier.h.

344  {
345  _fields.linearityCoeffs = coeffs;
346  }
ndarray::Array< double const, 1, 1 > linearityCoeffs
Definition: Amplifier.h:247

◆ setLinearityMaximum()

void lsst::afw::cameraGeom::Amplifier::Builder::setLinearityMaximum ( double  maximum)
inline

Level in ADU above which the linearity relation is poorly defined.

Should be set to the saturation level if no other value is known.

Definition at line 355 of file Amplifier.h.

355 { _fields.linearityMaximum = maximum; }

◆ setLinearityThreshold()

void lsst::afw::cameraGeom::Amplifier::Builder::setLinearityThreshold ( double  threshold)
inline

Level in ADU above which linearity should be applied.

This should be set to 0.0 if no other value is known.

Definition at line 352 of file Amplifier.h.

352 { _fields.linearityThreshold = threshold; }

◆ setLinearityType()

void lsst::afw::cameraGeom::Amplifier::Builder::setLinearityType ( std::string const &  type)
inline

Name of linearity parameterization.

Definition at line 349 of file Amplifier.h.

349 { _fields.linearityType = type; }
table::Key< int > type
Definition: Detector.cc:163

◆ setLinearityUnits()

void lsst::afw::cameraGeom::Amplifier::Builder::setLinearityUnits ( std::string const &  units)
inline

Units for the input to the linearity relation (DN).

Definition at line 358 of file Amplifier.h.

358 { _fields.linearityUnits = units; }

◆ setName()

void lsst::afw::cameraGeom::Amplifier::Builder::setName ( std::string const &  name)
inline

Name of the amplifier.

Definition at line 323 of file Amplifier.h.

◆ setRawBBox()

void lsst::afw::cameraGeom::Amplifier::Builder::setRawBBox ( lsst::geom::Box2I const &  bbox)
inline

Bounding box of all amplifier pixels on untrimmed, assembled raw image.

Definition at line 361 of file Amplifier.h.

361 { _fields.rawBBox = bbox; }
AmpInfoBoxKey bbox
Definition: Amplifier.cc:117

◆ setRawDataBBox()

void lsst::afw::cameraGeom::Amplifier::Builder::setRawDataBBox ( lsst::geom::Box2I const &  bbox)
inline

Bounding box of amplifier image pixels on untrimmed, assembled raw image.

Definition at line 364 of file Amplifier.h.

364 { _fields.rawDataBBox = bbox; }
AmpInfoBoxKey bbox
Definition: Amplifier.cc:117

◆ setRawFlipX()

void lsst::afw::cameraGeom::Amplifier::Builder::setRawFlipX ( bool  rawFlipX)
inline

Flip row order in transformation from untrimmed, assembled raw image to trimmed, assembled post-ISR image?

Definition at line 367 of file Amplifier.h.

367 { _fields.rawFlipX = rawFlipX; }
table::Key< table::Flag > rawFlipX
Definition: Amplifier.cc:128

◆ setRawFlipY()

void lsst::afw::cameraGeom::Amplifier::Builder::setRawFlipY ( bool  rawFlipY)
inline

Flip column order in transformation from untrimmed, assembled raw image to trimmed, assembled post-ISR image?

Definition at line 370 of file Amplifier.h.

370 { _fields.rawFlipY = rawFlipY; }
table::Key< table::Flag > rawFlipY
Definition: Amplifier.cc:129

◆ setRawHorizontalOverscanBBox()

void lsst::afw::cameraGeom::Amplifier::Builder::setRawHorizontalOverscanBBox ( lsst::geom::Box2I const &  bbox)
inline

The bounding box of horizontal overscan pixels in the assembled, untrimmed raw image.

Definition at line 376 of file Amplifier.h.

376  {
378  }
AmpInfoBoxKey bbox
Definition: Amplifier.cc:117
lsst::geom::Box2I rawHorizontalOverscanBBox
Definition: Amplifier.h:257

◆ setRawHorizontalPrescanBBox()

void lsst::afw::cameraGeom::Amplifier::Builder::setRawHorizontalPrescanBBox ( lsst::geom::Box2I const &  bbox)
inline

The bounding box of horizontal/serial prescan pixels in the assembled, untrimmed raw image.

This duplicates the getRawPrescanBBox method for legacy reasons.

Definition at line 406 of file Amplifier.h.

406  {
407  _fields.rawPrescanBBox = bbox;
408  }
AmpInfoBoxKey bbox
Definition: Amplifier.cc:117

◆ setRawParallelOverscanBBox()

void lsst::afw::cameraGeom::Amplifier::Builder::setRawParallelOverscanBBox ( lsst::geom::Box2I const &  bbox)
inline

The bounding box of parallel overscan pixels (equivalent to vertical overscan pixels) in the assembled, untrimmed raw image.

This duplicates the getRawVerticalOverscanBBox method for legacy reasons.

Definition at line 396 of file Amplifier.h.

396  {
397  _fields.rawVerticalOverscanBBox = bbox;
398  }
AmpInfoBoxKey bbox
Definition: Amplifier.cc:117

◆ setRawPrescanBBox()

void lsst::afw::cameraGeom::Amplifier::Builder::setRawPrescanBBox ( lsst::geom::Box2I const &  bbox)
inline

The bounding box of (horizontal) prescan pixels in the assembled, untrimmed raw image.

Definition at line 386 of file Amplifier.h.

386  {
387  _fields.rawPrescanBBox = bbox;
388  }
AmpInfoBoxKey bbox
Definition: Amplifier.cc:117

◆ setRawSerialOverscanBBox()

void lsst::afw::cameraGeom::Amplifier::Builder::setRawSerialOverscanBBox ( lsst::geom::Box2I const &  bbox)
inline

The bounding box of serial overscan pixels (equivalent to horizontal overscan pixels) in the assembled, untrimmed raw image.

This duplicates the getRawHorizontalOverscanBBox method for legacy reasons.

Definition at line 391 of file Amplifier.h.

391  {
393  }
AmpInfoBoxKey bbox
Definition: Amplifier.cc:117
lsst::geom::Box2I rawHorizontalOverscanBBox
Definition: Amplifier.h:257

◆ setRawSerialPrescanBBox()

void lsst::afw::cameraGeom::Amplifier::Builder::setRawSerialPrescanBBox ( lsst::geom::Box2I const &  bbox)
inline

The bounding box of horizontal/serial prescan pixels in the assembled, untrimmed raw image.

This duplicates the getRawPrescanBBox method for legacy reasons.

Definition at line 401 of file Amplifier.h.

401  {
402  _fields.rawPrescanBBox = bbox;
403  }
AmpInfoBoxKey bbox
Definition: Amplifier.cc:117

◆ setRawVerticalOverscanBBox()

void lsst::afw::cameraGeom::Amplifier::Builder::setRawVerticalOverscanBBox ( lsst::geom::Box2I const &  bbox)
inline

The bounding box of vertical overscan pixels in the assembled, untrimmed raw image.

Definition at line 381 of file Amplifier.h.

381  {
382  _fields.rawVerticalOverscanBBox = bbox;
383  }
AmpInfoBoxKey bbox
Definition: Amplifier.cc:117

◆ setRawXYOffset()

void lsst::afw::cameraGeom::Amplifier::Builder::setRawXYOffset ( lsst::geom::Extent2I const &  xy)
inline

Offset in transformation from pre-raw, unassembled image to trimmed, assembled post-ISR image: final xy0 - pre-raw xy0.

Definition at line 373 of file Amplifier.h.

373 { _fields.rawXYOffset = xy; }

◆ setReadNoise()

void lsst::afw::cameraGeom::Amplifier::Builder::setReadNoise ( double  readNoise)
inline

Amplifier read noise, in e-.

Definition at line 332 of file Amplifier.h.

332 { _fields.readNoise = readNoise; }
table::Key< double > readNoise
Definition: Amplifier.cc:121

◆ setReadoutCorner()

void lsst::afw::cameraGeom::Amplifier::Builder::setReadoutCorner ( ReadoutCorner  readoutCorner)
inline

Readout corner in the trimmed, assembled image.

Definition at line 341 of file Amplifier.h.

341 { _fields.readoutCorner = readoutCorner; }
table::Key< int > readoutCorner
Definition: Amplifier.cc:122

◆ setSaturation()

void lsst::afw::cameraGeom::Amplifier::Builder::setSaturation ( double  saturation)
inline

Level in ADU above which pixels are considered saturated; use nan if no such level applies.

Definition at line 335 of file Amplifier.h.

335 { _fields.saturation = saturation; }
table::Key< double > saturation
Definition: Amplifier.cc:119

◆ setSuspectLevel()

void lsst::afw::cameraGeom::Amplifier::Builder::setSuspectLevel ( double  suspectLevel)
inline

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.

Definition at line 338 of file Amplifier.h.

338 { _fields.suspectLevel = suspectLevel; }
table::Key< double > suspectLevel
Definition: Amplifier.cc:120

◆ toRecord()

void lsst::afw::cameraGeom::Amplifier::toRecord ( table::BaseRecord record) const
inherited

Copy the Amplifier's fields into the given record.

Parameters
[out]recordRecord to modify. record.getSchema().contains(this->getRecordSchema()) must be true.

Definition at line 322 of file Amplifier.cc.

322  {
323  auto const helper = RecordSchemaHelper(record.getSchema());
324  auto const & fields = getFields();
325  record.set(helper.name, fields.name);
326  record.set(helper.bbox, fields.bbox);
327  record.set(helper.gain, fields.gain);
328  record.set(helper.readNoise, fields.readNoise);
329  record.set(helper.saturation, fields.saturation);
330  record.set(helper.suspectLevel, fields.suspectLevel);
331  record.set(helper.readoutCorner, static_cast<int>(fields.readoutCorner));
332  ndarray::Array<double, 1, 1> coeffs = ndarray::copy(fields.linearityCoeffs);
333  record.set(helper.linearityCoeffs, coeffs);
334  record.set(helper.linearityType, fields.linearityType);
335  record.set(helper.rawBBox, fields.rawBBox);
336  record.set(helper.rawDataBBox, fields.rawDataBBox);
337  record.set(helper.rawFlipX, fields.rawFlipX);
338  record.set(helper.rawFlipY, fields.rawFlipY);
339  record.set(helper.rawXYOffset, lsst::geom::Point2I(fields.rawXYOffset));
340  record.set(helper.rawHorizontalOverscanBBox, fields.rawHorizontalOverscanBBox);
341  record.set(helper.rawVerticalOverscanBBox, fields.rawVerticalOverscanBBox);
342  record.set(helper.rawPrescanBBox, fields.rawPrescanBBox);
343  // Set not-always-present fields only when present.
344  auto setIfValid = [this, &record](auto value, auto & key) {
345  if (key.isValid()) {
346  record.set(key, value);
347  }
348  };
349  setIfValid(fields.linearityThreshold, helper.linearityThreshold);
350  setIfValid(fields.linearityMaximum, helper.linearityMaximum);
351  setIfValid(fields.linearityUnits, helper.linearityUnits);
352 }
Key< U > key
Definition: Schema.cc:281
virtual Fields const & getFields() const =0

The documentation for this class was generated from the following files: