23 #ifndef AFW_TABLE_Exposure_h_INCLUDED 24 #define AFW_TABLE_Exposure_h_INCLUDED 43 class TransmissionCurve;
57 namespace cameraGeom {
66 template <
typename RecordT>
71 class OutputArchiveHandle;
132 bool includeValidPolygon =
false)
const;
145 [[deprecated(
"Replaced with getPhotoCalib (will be removed in 18.0)")]]
std::shared_ptr<
150 [[deprecated(
"Replaced with setPhotoCalib (will be removed in 18.0)")]]
void setCalib(
165 return _transmissionCurve;
168 _transmissionCurve =
std::move(transmissionCurve);
227 Schema r = getMinimalSchema().schema;
246 static Key<RecordId> getIdKey() {
return getMinimalSchema().id; }
290 struct MinimalSchema {
299 static MinimalSchema& getMinimalSchema();
303 template <
typename RecordT>
320 template <
typename RecordT>
326 typedef typename Record::Table
Table;
352 template <
typename InputIterator>
355 : Base(table, first, last, deep) {}
363 template <
typename OtherRecordT>
372 using Base::writeFits;
383 writer->write(*
this);
398 return io::FitsReader::apply<ExposureCatalogT>(filename, hdu, flags);
413 return io::FitsReader::apply<ExposureCatalogT>(manager, hdu, flags);
424 return io::FitsReader::apply<ExposureCatalogT>(fitsfile, flags);
435 return io::FitsReader::apply<ExposureCatalogT>(fitsfile, flags, archive);
481 bool includeValidPolygon =
false)
const;
492 bool includeValidPolygon =
false)
const;
502 inline RecordId ExposureRecord::getId()
const {
return get(ExposureTable::getIdKey()); }
503 inline void ExposureRecord::setId(
RecordId id) {
set(ExposureTable::getIdKey(),
id); }
508 #endif // !AFW_TABLE_Exposure_h_INCLUDED
std::shared_ptr< ExposureTable > clone() const
Return a polymorphic deep copy of the table.
std::shared_ptr< ExposureTable const > getTable() const
Defines the fields and offsets for a table.
void setValidPolygon(std::shared_ptr< geom::polygon::Polygon const > polygon)
Get/Set the the attached Wcs, Psf, PhotoCalib, or ApCorrMap. No copies are made.
ExposureCatalogT< RecordT > subset(ndarray::Array< bool const, 1 > const &mask) const
Return the subset of a catalog corresponding to the True values of the given mask array...
A 2-dimensional celestial WCS that transform pixels to ICRS RA/Dec, using the LSST standard for pixel...
Writer object for FITS binary tables.
std::shared_ptr< image::ApCorrMap const > getApCorrMap() const
Get/Set the the attached Wcs, Psf, PhotoCalib, or ApCorrMap. No copies are made.
ColumnViewT< ExposureRecord > ColumnView
bool contains(VertexIterator const begin, VertexIterator const end, UnitVector3d const &v)
ExposureCatalogT< ExposureRecord const > ConstExposureCatalog
std::shared_ptr< image::PhotoCalib const > getCalib() const
Get/Set the the attached Wcs, Psf, PhotoCalib, or ApCorrMap. No copies are made.
Helper struct that contains the information passed from BaseTable to BaseRecord at construction...
An object passed to Persistable::write to allow it to persist itself.
The photometric calibration of an exposure.
ExposureCatalogT(Base const &other)
ExposureCatalogT(std::shared_ptr< Table > const &table, InputIterator first, InputIterator last, bool deep=false)
Construct a vector from a table and an iterator range.
Table class used to store exposure metadata.
ColumnViewT< ExposureRecord > ExposureColumnView
ExposureCatalogT(std::shared_ptr< Table > const &table=std::shared_ptr< Table >())
Construct a vector from a table (or nothing).
A mapping between the keys of two Schemas, used to copy data between them.
static Box2IKey getBBoxKey()
Key for the full bbox.
ExposureCatalogT< Record const > ConstCatalog
static Schema makeMinimalSchema()
Return a minimal schema for Exposure tables and records.
void disconnectAliases()
Sever the connection between this schema and any others with which it shares aliases.
void setDetector(std::shared_ptr< cameraGeom::Detector const > detector)
Get/Set the the attached Wcs, Psf, PhotoCalib, or ApCorrMap. No copies are made.
std::shared_ptr< ExposureRecord > copyRecord(BaseRecord const &other)
Deep-copy a record, requiring that it have the same schema as this table.
std::shared_ptr< image::TransmissionCurve const > getTransmissionCurve() const
Get/Set the the attached Wcs, Psf, PhotoCalib, or ApCorrMap. No copies are made.
void setVisitInfo(std::shared_ptr< image::VisitInfo const > visitInfo)
Get/Set the the attached Wcs, Psf, PhotoCalib, or ApCorrMap. No copies are made.
ColumnViewT< ExposureRecord > ColumnView
A simple struct that combines the two arguments that must be passed to most cfitsio routines and cont...
std::shared_ptr< ExposureRecord > copyRecord(BaseRecord const &other, SchemaMapper const &mapper)
Deep-copy a record, requiring that it have the same schema as this table.
std::shared_ptr< detection::Psf const > getPsf() const
Get/Set the the attached Wcs, Psf, PhotoCalib, or ApCorrMap. No copies are made.
static ExposureCatalogT readFits(fits::Fits &fitsfile, int flags=0)
Read a FITS binary table from a file object already at the correct extension.
void setPhotoCalib(std::shared_ptr< image::PhotoCalib const > photoCalib)
Get/Set the the attached Wcs, Psf, PhotoCalib, or ApCorrMap. No copies are made.
ExposureCatalogT(ExposureCatalogT< OtherRecordT > const &other)
Shallow copy constructor from a container containing a related record type.
ExposureCatalogT< Record > Catalog
table::Key< table::Array< std::uint8_t > > wcs
ExposureCatalogT< ExposureRecord const > ConstCatalog
ExposureRecord(ConstructionToken const &token, detail::RecordData &&data)
Constructor used by ExposureTable.
A base class for image defects.
Custom catalog class for record/table subclasses that are guaranteed to have an ID, and should generally be sorted by that ID.
int contains(Schema const &other, int flags=EQUAL_KEYS) const
Test whether the given schema is a subset of this.
Lifetime-management for memory that goes into FITS memory files.
std::shared_ptr< image::PhotoCalib const > getPhotoCalib() const
Get/Set the the attached Wcs, Psf, PhotoCalib, or ApCorrMap. No copies are made.
Iterator class for CatalogT.
void writeFits(fits::Fits &fitsfile, std::shared_ptr< io::OutputArchive > archive, int flags=0) const
Write a FITS binary table to an open file object.
static ExposureCatalogT readFits(std::string const &filename, int hdu=fits::DEFAULT_HDU, int flags=0)
Read a FITS binary table from a regular file.
static ExposureCatalogT readFits(fits::MemFileManager &manager, int hdu=fits::DEFAULT_HDU, int flags=0)
Read a FITS binary table from a RAM file.
table::Key< int > detector
T static_pointer_cast(T... args)
static PointKey< int > getBBoxMinKey()
Key for the minimum point of the bbox.
void setPsf(std::shared_ptr< detection::Psf const > psf)
Get/Set the the attached Wcs, Psf, PhotoCalib, or ApCorrMap. No copies are made.
Base class for all records.
static bool checkSchema(Schema const &other)
Return true if the given schema is a valid ExposureTable schema.
Base::const_iterator const_iterator
Point in an unspecified spherical coordinate system.
A class used as a handle to a particular field in a table.
void setWcs(std::shared_ptr< geom::SkyWcs const > wcs)
Get/Set the the attached Wcs, Psf, PhotoCalib, or ApCorrMap. No copies are made.
Custom catalog class for ExposureRecord/Table.
void setTransmissionCurve(std::shared_ptr< image::TransmissionCurve const > transmissionCurve)
Get/Set the the attached Wcs, Psf, PhotoCalib, or ApCorrMap. No copies are made.
std::shared_ptr< image::VisitInfo const > getVisitInfo() const
Get/Set the the attached Wcs, Psf, PhotoCalib, or ApCorrMap. No copies are made.
std::shared_ptr< ExposureRecord > makeRecord()
Default-construct an associated record.
std::shared_ptr< cameraGeom::Detector const > getDetector() const
Get/Set the the attached Wcs, Psf, PhotoCalib, or ApCorrMap. No copies are made.
Record class used to store exposure metadata.
ItemVariant const * other
std::shared_ptr< geom::polygon::Polygon const > getValidPolygon() const
Get/Set the the attached Wcs, Psf, PhotoCalib, or ApCorrMap. No copies are made.
ExposureCatalogT< ExposureRecord > ExposureCatalog
ExposureCatalogT< ExposureRecord > Catalog
Backwards-compatibility support for depersisting the old Calib (FluxMag0/FluxMag0Err) objects...
static ExposureCatalogT readFits(fits::Fits &fitsfile, std::shared_ptr< io::InputArchive > archive, int flags=0)
Read a FITS binary table from a file object already at the correct extension.
ExposureCatalogT(Schema const &schema)
Construct a vector from a schema, creating a table with Table::make(schema).
An integer coordinate rectangle.
ExposureCatalogT subset(std::ptrdiff_t startd, std::ptrdiff_t stopd, std::ptrdiff_t step) const
Shallow copy a subset of another ExposureCatalog.
Base class for all tables.
void setCalib(std::shared_ptr< image::PhotoCalib const > photoCalib)
Get/Set the the attached Wcs, Psf, PhotoCalib, or ApCorrMap. No copies are made.
void setApCorrMap(std::shared_ptr< image::ApCorrMap const > apCorrMap)
Get/Set the the attached Wcs, Psf, PhotoCalib, or ApCorrMap. No copies are made.
const int DEFAULT_HDU
Specify that the default HDU should be read.
static PointKey< int > getBBoxMaxKey()
Key for the maximum point of the bbox.