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:

## 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 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...

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 the untrimmed amplifier in the image to which it is attached, which is assumed to be untrimmed. More...

void setRawDataBBox (lsst::geom::Box2I const &bbox)
Bounding box of amplifier data pixels in the image to which it is attached, which is assumed to be untrimmed. More...

void setRawFlipX (bool rawFlipX)
Is this amplifier (and the image to which it is attached) flipped in the X direction, relative to the physical orientation used for assembled (but still untrimmed) raws? More...

void setRawFlipY (bool rawFlipY)
Is this amplifier (and the image to which it is attached) flipped in the Y direction, relative to the physical orientation used for assembled (but still untrimmed) raws? More...

void setRawXYOffset (lsst::geom::Extent2I const &xy)
Offset in transformation from this amplifier (and the image to which it is attached) to trimmed, assembled post-ISR image: final xy0 - current xy0. More...

void setRawHorizontalOverscanBBox (lsst::geom::Box2I const &bbox)
The bounding box of horizontal overscan pixels in the image to which it is attached, which is assumed to be untrimmed. More...

void setRawVerticalOverscanBBox (lsst::geom::Box2I const &bbox)
The bounding box of vertical overscan pixels in the image to which it is attached, which is assumed to be untrimmed. More...

void setRawPrescanBBox (lsst::geom::Box2I const &bbox)
The bounding box of (horizontal) prescan pixels in the image to which it is attached, which is assumed to be untrimmed. More...

void setRawSerialOverscanBBox (lsst::geom::Box2I const &bbox)
The bounding box of serial overscan pixels (equivalent to horizontal overscan pixels) in the image to which it is attached, which is assumed to be untrimmed. More...

void setRawParallelOverscanBBox (lsst::geom::Box2I const &bbox)
The bounding box of parallel overscan pixels (equivalent to vertical overscan pixels) in the image to which it is attached, which is assumed to be untrimmed. More...

void setRawSerialPrescanBBox (lsst::geom::Box2I const &bbox)
The bounding box of horizontal/serial prescan pixels in the image to which it is attached, which is assumed to be untrimmed. More...

void setRawHorizontalPrescanBBox (lsst::geom::Box2I const &bbox)
The bounding box of horizontal/serial prescan pixels in the image to which it is attached, which is assumed to be untrimmed. 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 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...

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...

lsst::geom::Box2I getRawBBox () const
Bounding box of the untrimmed amplifier in the image to which it is attached, which is assumed to be untrimmed. More...

lsst::geom::Box2I getRawDataBBox () const
Bounding box of amplifier data pixels in the image to which it is attached, which is assumed to be untrimmed. More...

bool getRawFlipX () const
Is this amplifier (and the image to which it is attached) flipped in the X direction, relative to the physical orientation used for assembled (but still untrimmed) raws? More...

bool getRawFlipY () const
Is this amplifier (and the image to which it is attached) flipped in the Y direction, relative to the physical orientation used for assembled (but still untrimmed) raws? More...

lsst::geom::Extent2I getRawXYOffset () const
Offset in transformation from this amplifier (and the image to which it is attached) to trimmed, assembled post-ISR image: final xy0 - current xy0. More...

lsst::geom::Box2I getRawHorizontalOverscanBBox () const
The bounding box of horizontal overscan pixels in the image to which it is attached, which is assumed to be untrimmed. More...

lsst::geom::Box2I getRawVerticalOverscanBBox () const
The bounding box of vertical overscan pixels in the image to which it is attached, which is assumed to be untrimmed. More...

lsst::geom::Box2I getRawPrescanBBox () const
The bounding box of (horizontal) prescan pixels in the image to which it is attached, which is assumed to be untrimmed. More...

lsst::geom::Box2I getRawSerialOverscanBBox () const
The bounding box of serial overscan pixels (equivalent to horizontal overscan pixels) in the image to which it is attached, which is assumed to be untrimmed. More...

lsst::geom::Box2I getRawParallelOverscanBBox () const
The bounding box of parallel overscan pixels (equivalent to vertical overscan pixels) in the image to which it is attached, which is assumed to be untrimmed. More...

lsst::geom::Box2I getRawSerialPrescanBBox () const
The bounding box of horizontal/serial prescan pixels in the image to which it is attached, which is assumed to be untrimmed. More...

lsst::geom::Box2I getRawHorizontalPrescanBBox () const
The bounding box of horizontal/serial prescan pixels in the image to which it is attached, which is assumed to be untrimmed. 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 305 of file Amplifier.h.

## ◆ Builder() [1/4]

 lsst::afw::cameraGeom::Amplifier::Builder::Builder ( )
default

Construct a Builder with default values for all fields.

## ◆ Builder() [2/4]

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

Standard copy constructor.

## ◆ Builder() [3/4]

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

Standard move constructor.

## ◆ Builder() [4/4]

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

Construct a Builder with values initialized from the given Amplifier.

Definition at line 273 of file Amplifier.cc.

273 : _fields(other.getFields()) {}

## ◆ ~Builder()

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

## ◆ 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] record Record 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));
293  result.setSaturation(record.get(helper.saturation));
294  result.setSuspectLevel(record.get(helper.suspectLevel));
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 }
py::object result
Definition: _schema.cc:429
Builder()=default
Construct a Builder with default values for all fields.
Readout corner, in the frame of reference of the assembled image.
Definition: Amplifier.h:38

## ◆ 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 436 of file Amplifier.h.

436 { return _fields; }

## ◆ getGain()

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

Definition at line 118 of file Amplifier.h.

## ◆ getLinearityCoeffs()

 ndarray::Array 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:272

## ◆ 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.

## ◆ 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.

## ◆ getLinearityType()

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

Name of linearity parameterization.

Definition at line 145 of file Amplifier.h.

## ◆ 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.

## ◆ 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; }

## ◆ getRawBBox()

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

Bounding box of the untrimmed amplifier in the image to which it is attached, which is assumed to be untrimmed.

This attribute should never be accessed on an amplifier attached to a trimmed image.

Definition at line 168 of file Amplifier.h.

168 { return getFields().rawBBox; }

## ◆ getRawDataBBox()

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

Bounding box of amplifier data pixels in the image to which it is attached, which is assumed to be untrimmed.

This attribute should never be accessed on an amplifier attached to a trimmed image.

Definition at line 177 of file Amplifier.h.

177 { return getFields().rawDataBBox; }

## ◆ getRawFlipX()

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

Is this amplifier (and the image to which it is attached) flipped in the X direction, relative to the physical orientation used for assembled (but still untrimmed) raws?

Definition at line 184 of file Amplifier.h.

## ◆ getRawFlipY()

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

Is this amplifier (and the image to which it is attached) flipped in the Y direction, relative to the physical orientation used for assembled (but still untrimmed) raws?

Definition at line 191 of file Amplifier.h.

## ◆ getRawHorizontalOverscanBBox()

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

The bounding box of horizontal overscan pixels in the image to which it is attached, which is assumed to be untrimmed.

This attribute should never be accessed on an amplifier attached to a trimmed image.

Definition at line 207 of file Amplifier.h.

lsst::geom::Box2I rawHorizontalOverscanBBox
Definition: Amplifier.h:282

## ◆ getRawHorizontalPrescanBBox()

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

The bounding box of horizontal/serial prescan pixels in the image to which it is attached, which is assumed to be untrimmed.

This attribute should never be accessed on an amplifier attached to a trimmed image. This duplicates the getRawPrescanBBox method for legacy reasons.

Definition at line 260 of file Amplifier.h.

260 { return getFields().rawPrescanBBox; }

## ◆ 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 image to which it is attached, which is assumed to be untrimmed.

This attribute should never be accessed on an amplifier attached to a trimmed image. This duplicates the getRawVerticalOverscanBBox method for legacy reasons.

Definition at line 247 of file Amplifier.h.

## ◆ getRawPrescanBBox()

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

The bounding box of (horizontal) prescan pixels in the image to which it is attached, which is assumed to be untrimmed.

This attribute should never be accessed on an amplifier attached to a trimmed image.

Definition at line 225 of file Amplifier.h.

225 { return getFields().rawPrescanBBox; }

## ◆ 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 image to which it is attached, which is assumed to be untrimmed.

This attribute should never be accessed on an amplifier attached to a trimmed image. This duplicates the getRawHorizontalOverscanBBox method for legacy reasons.

Definition at line 236 of file Amplifier.h.

## ◆ getRawSerialPrescanBBox()

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

The bounding box of horizontal/serial prescan pixels in the image to which it is attached, which is assumed to be untrimmed.

This attribute should never be accessed on an amplifier attached to a trimmed image. This duplicates the getRawPrescanBBox method for legacy reasons.

Definition at line 257 of file Amplifier.h.

257 { return getFields().rawPrescanBBox; }

## ◆ getRawVerticalOverscanBBox()

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

The bounding box of vertical overscan pixels in the image to which it is attached, which is assumed to be untrimmed.

This attribute should never be accessed on an amplifier attached to a trimmed image.

Definition at line 216 of file Amplifier.h.

## ◆ getRawXYOffset()

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

Offset in transformation from this amplifier (and the image to which it is attached) to trimmed, assembled post-ISR image: final xy0 - current xy0.

Definition at line 198 of file Amplifier.h.

198 { return getFields().rawXYOffset; }

inlineinherited

Definition at line 121 of file Amplifier.h.

inlineinherited

Readout corner in the trimmed, assembled image.

Definition at line 139 of file Amplifier.h.

## ◆ 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.

## ◆ 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.

## ◆ operator=() [1/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)
void swap(CameraSys &a, CameraSys &b)
Definition: CameraSys.h:157
T swap(T... args)

## ◆ operator=() [2/3]

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

Standard move assignment.

## ◆ operator=() [3/3]

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

Standard copy assignment.

## ◆ 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 351 of file Amplifier.h.

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

## ◆ setGain()

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

Definition at line 354 of file Amplifier.h.

354 { _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 369 of file Amplifier.h.

369  {
370  _fields.linearityCoeffs = coeffs;
371  }

## ◆ 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 380 of file Amplifier.h.

380 { _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 377 of file Amplifier.h.

377 { _fields.linearityThreshold = threshold; }

## ◆ setLinearityType()

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

Name of linearity parameterization.

Definition at line 374 of file Amplifier.h.

374 { _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 383 of file Amplifier.h.

383 { _fields.linearityUnits = units; }

## ◆ setName()

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

Name of the amplifier.

Definition at line 348 of file Amplifier.h.

348 { _fields.name = name; }
table::Key< std::string > name
Definition: Amplifier.cc:116

## ◆ setRawBBox()

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

Bounding box of the untrimmed amplifier in the image to which it is attached, which is assumed to be untrimmed.

This attribute should never be accessed on an amplifier attached to a trimmed image.

Definition at line 386 of file Amplifier.h.

386 { _fields.rawBBox = bbox; }

## ◆ setRawDataBBox()

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

Bounding box of amplifier data pixels in the image to which it is attached, which is assumed to be untrimmed.

This attribute should never be accessed on an amplifier attached to a trimmed image.

Definition at line 389 of file Amplifier.h.

389 { _fields.rawDataBBox = bbox; }

## ◆ setRawFlipX()

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

Is this amplifier (and the image to which it is attached) flipped in the X direction, relative to the physical orientation used for assembled (but still untrimmed) raws?

Definition at line 392 of file Amplifier.h.

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

## ◆ setRawFlipY()

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

Is this amplifier (and the image to which it is attached) flipped in the Y direction, relative to the physical orientation used for assembled (but still untrimmed) raws?

Definition at line 395 of file Amplifier.h.

395 { _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 image to which it is attached, which is assumed to be untrimmed.

This attribute should never be accessed on an amplifier attached to a trimmed image.

Definition at line 401 of file Amplifier.h.

401  {
403  }

## ◆ setRawHorizontalPrescanBBox()

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

The bounding box of horizontal/serial prescan pixels in the image to which it is attached, which is assumed to be untrimmed.

This attribute should never be accessed on an amplifier attached to a trimmed image. This duplicates the getRawPrescanBBox method for legacy reasons.

Definition at line 431 of file Amplifier.h.

431  {
432  _fields.rawPrescanBBox = bbox;
433  }

## ◆ 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 image to which it is attached, which is assumed to be untrimmed.

This attribute should never be accessed on an amplifier attached to a trimmed image. This duplicates the getRawVerticalOverscanBBox method for legacy reasons.

Definition at line 421 of file Amplifier.h.

421  {
422  _fields.rawVerticalOverscanBBox = bbox;
423  }

## ◆ setRawPrescanBBox()

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

The bounding box of (horizontal) prescan pixels in the image to which it is attached, which is assumed to be untrimmed.

This attribute should never be accessed on an amplifier attached to a trimmed image.

Definition at line 411 of file Amplifier.h.

411  {
412  _fields.rawPrescanBBox = bbox;
413  }

## ◆ 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 image to which it is attached, which is assumed to be untrimmed.

This attribute should never be accessed on an amplifier attached to a trimmed image. This duplicates the getRawHorizontalOverscanBBox method for legacy reasons.

Definition at line 416 of file Amplifier.h.

416  {
418  }

## ◆ setRawSerialPrescanBBox()

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

The bounding box of horizontal/serial prescan pixels in the image to which it is attached, which is assumed to be untrimmed.

This attribute should never be accessed on an amplifier attached to a trimmed image. This duplicates the getRawPrescanBBox method for legacy reasons.

Definition at line 426 of file Amplifier.h.

426  {
427  _fields.rawPrescanBBox = bbox;
428  }

## ◆ setRawVerticalOverscanBBox()

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

The bounding box of vertical overscan pixels in the image to which it is attached, which is assumed to be untrimmed.

This attribute should never be accessed on an amplifier attached to a trimmed image.

Definition at line 406 of file Amplifier.h.

406  {
407  _fields.rawVerticalOverscanBBox = bbox;
408  }

## ◆ setRawXYOffset()

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

Offset in transformation from this amplifier (and the image to which it is attached) to trimmed, assembled post-ISR image: final xy0 - current xy0.

Definition at line 398 of file Amplifier.h.

398 { _fields.rawXYOffset = xy; }

inline

Definition at line 357 of file Amplifier.h.

Definition: Amplifier.cc:121

inline

Readout corner in the trimmed, assembled image.

Definition at line 366 of file Amplifier.h.

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 360 of file Amplifier.h.

360 { _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 363 of file Amplifier.h.

363 { _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] record Record 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);
329  record.set(helper.saturation, fields.saturation);
330  record.set(helper.suspectLevel, fields.suspectLevel);
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 = [&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 }

The documentation for this class was generated from the following files:
• /j/snowflake/release/lsstsw/stack/lsst-scipipe-0.7.0/Linux64/afw/22.0.1-42-gca6935d93+ba5e5ca3eb/include/lsst/afw/cameraGeom/Amplifier.h
• /j/snowflake/release/lsstsw/stack/lsst-scipipe-0.7.0/Linux64/afw/22.0.1-42-gca6935d93+ba5e5ca3eb/src/cameraGeom/Amplifier.cc