LSST Applications g0265f82a02+d6b5cd48b5,g02d81e74bb+80768bd682,g04242d3e92+8eaa23c173,g06b2ea86fd+734f9505a2,g2079a07aa2+14824f138e,g212a7c68fe+5f4fc2ea00,g2305ad1205+293ab1327e,g2bbee38e9b+d6b5cd48b5,g337abbeb29+d6b5cd48b5,g3ddfee87b4+8eaa23c173,g487adcacf7+abec5a19c5,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+97ef3b4495,g5a732f18d5+66d966b544,g5d7b63bc56+636c3c3fd8,g64a986408d+80768bd682,g858d7b2824+80768bd682,g8a8a8dda67+a6fc98d2e7,g99cad8db69+6282a5f541,g9ddcbc5298+d4bad12328,ga1e77700b3+246acaaf9c,ga8c6da7877+9e3c062e8e,gb0e22166c9+3863383f4c,gb6a65358fc+d6b5cd48b5,gba4ed39666+9664299f35,gbb8dafda3b+60f904e7bc,gc120e1dc64+1bf26d0180,gc28159a63d+d6b5cd48b5,gcf0d15dbbd+8eaa23c173,gd2a12a3803+f8351bc914,gdaeeff99f8+a38ce5ea23,ge79ae78c31+d6b5cd48b5,gee10cc3b42+a6fc98d2e7,gf1cff7945b+80768bd682,v24.1.5.rc1
LSST Data Management Base Package
Loading...
Searching...
No Matches
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.
 
 Builder (Builder const &)=default
 Standard copy constructor.
 
 Builder (Builder &&)=default
 Standard move constructor.
 
 Builder (Amplifier const &other)
 Construct a Builder with values initialized from the given Amplifier.
 
Builderoperator= (Builder const &)=default
 Standard copy assignment.
 
Builderoperator= (Builder &&)=default
 Standard move assignment.
 
Builderoperator= (Amplifier const &other)
 Set the Builder's fields to those of the given Amplifier.
 
 ~Builder () noexcept override=default
 
std::shared_ptr< Amplifier const > finish () const
 Construct an immutable Amplifier with the same values as the Builder.
 
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.
 
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.
 
void setLinearityMaximum (double maximum)
 Level in ADU above which the linearity relation is poorly defined.
 
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 the untrimmed amplifier in the image to which it is attached, which is assumed to be untrimmed.
 
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.
 
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?
 
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?
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
void toRecord (table::BaseRecord &record) const
 Copy the Amplifier's fields into the given record.
 
Builder rebuild () const
 Return a Builder object initialized with the fields of 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.
 
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.
 
double getLinearityMaximum () const
 Level in ADU above which the linearity relation is poorly defined.
 
std::string getLinearityUnits () const
 Units for the input to the linearity relation (DN).
 
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.
 
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.
 
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?
 
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?
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 

Static Public Member Functions

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

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.

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()) {}

◆ ~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());
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}
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 436 of file Amplifier.h.

436{ return _fields; }

◆ getGain()

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

Amplifier gain in e-/ADU.

Definition at line 118 of file Amplifier.h.

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

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

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

◆ getReadNoise()

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

Amplifier read noise, in e-.

Definition at line 121 of file Amplifier.h.

◆ getReadoutCorner()

ReadoutCorner lsst::afw::cameraGeom::Amplifier::getReadoutCorner ( ) const
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}
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

Amplifier gain in e-/ADU.

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 {
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 {
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; }

◆ setReadNoise()

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

Amplifier read noise, in e-.

Definition at line 357 of file Amplifier.h.

357{ _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 366 of file Amplifier.h.

366{ _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 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]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 = [&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: