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;
119 bool includeValidPolygon =
false)
const;
142 return _transmissionCurve;
145 _transmissionCurve =
std::move(transmissionCurve);
207 Schema r = getMinimalSchema().schema;
226 static Key<RecordId> getIdKey() {
return getMinimalSchema().id; }
270 struct MinimalSchema {
279 static MinimalSchema& getMinimalSchema();
283 template <
typename RecordT>
300 template <
typename RecordT>
306 typedef typename Record::Table
Table;
332 template <
typename InputIterator>
335 : Base(table, first, last, deep) {}
343 template <
typename OtherRecordT>
352 using Base::writeFits;
363 writer->write(*
this);
378 return io::FitsReader::apply<ExposureCatalogT>(filename, hdu, flags);
393 return io::FitsReader::apply<ExposureCatalogT>(manager, hdu, flags);
404 return io::FitsReader::apply<ExposureCatalogT>(fitsfile, flags);
415 return io::FitsReader::apply<ExposureCatalogT>(fitsfile, flags, archive);
461 bool includeValidPolygon =
false)
const;
472 bool includeValidPolygon =
false)
const;
482 inline RecordId ExposureRecord::getId()
const {
return get(ExposureTable::getIdKey()); }
483 inline void ExposureRecord::setId(
RecordId id) {
set(ExposureTable::getIdKey(),
id); }
488 #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, Calib, 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, Calib, or ApCorrMap. No copies are made.
ColumnViewT< ExposureRecord > ColumnView
bool contains(VertexIterator const begin, VertexIterator const end, UnitVector3d const &v)
ExposureCatalogT< ExposureRecord const > ConstExposureCatalog
An object passed to Persistable::write to allow it to persist itself.
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, Calib, 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, Calib, or ApCorrMap. No copies are made.
void setVisitInfo(std::shared_ptr< image::VisitInfo const > visitInfo)
Get/Set the the attached Wcs, Psf, Calib, 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, Calib, 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.
ExposureCatalogT(ExposureCatalogT< OtherRecordT > const &other)
Shallow copy constructor from a container containing a related record type.
std::shared_ptr< image::Calib const > getCalib() const
Get/Set the the attached Wcs, Psf, Calib, or ApCorrMap. No copies are made.
ExposureCatalogT< Record > Catalog
table::Key< table::Array< std::uint8_t > > wcs
ExposureCatalogT< ExposureRecord const > ConstCatalog
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.
Iterator class for CatalogT.
void setCalib(std::shared_ptr< image::Calib const > calib)
Get/Set the the attached Wcs, Psf, Calib, or ApCorrMap. No copies are made.
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, Calib, 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, Calib, 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, Calib, or ApCorrMap. No copies are made.
std::shared_ptr< image::VisitInfo const > getVisitInfo() const
Get/Set the the attached Wcs, Psf, Calib, 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, Calib, 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, Calib, or ApCorrMap. No copies are made.
ExposureCatalogT< ExposureRecord > ExposureCatalog
ExposureCatalogT< ExposureRecord > Catalog
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 setApCorrMap(std::shared_ptr< image::ApCorrMap const > apCorrMap)
Get/Set the the attached Wcs, Psf, Calib, 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.