LSSTApplications
10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
|
#include <FitsSchemaInputMapper.h>
Public Types | |
typedef FitsSchemaItem | Item |
Public Member Functions | |
FitsSchemaInputMapper (daf::base::PropertyList &metadata, bool stripMetadata) | |
Construct a mapper from a PropertyList of FITS header values, stripping recognized keys if desired. More... | |
void | setArchive (boost::shared_ptr< InputArchive > archive) |
bool | readArchive (afw::fits::Fits &fits) |
bool | hasArchive () const |
Return true if the mapper has an InputArchive. More... | |
Item const * | find (std::string const &ttype) const |
Item const * | find (int column) const |
void | erase (Item const *item) |
void | erase (std::string const &ttype) |
void | erase (int column) |
void | customize (std::unique_ptr< FitsColumnReader > reader) |
Schema | finalize () |
void | readRecord (BaseRecord &record, afw::fits::Fits &fits, std::size_t row) |
Private Attributes | |
boost::shared_ptr< Impl > | _impl |
A class that describes a mapping from a FITS binary table to an afw::table Schema.
A FitsSchemaInputMapper is created every time a FITS binary table is read into an afw::table catalog, allowing limited customization of the mapping between on-disk FITS table columns an in-memory fields by subclasses of BaseTable.
The object is constructed from a daf::base::PropertyList that represents the FITS header, which is used to populate a custom container of FitsSchemaItems. These can then be retrieved by name or column number via the find() methods, allowing the user to create custom readers for columns or groups of columns via addColumnReader(). They can also be removed from the "regular" fields via the erase() method. Those regular fields are filled in by the finalize() method, which automatically generates mappings for any FitsSchemaItems that have not been removed by calls to erase(). Once finalize() has been called, readRecord() may be called repeatedly to read FITS rows into record objects according to the mapping that has been defined.
Definition at line 67 of file FitsSchemaInputMapper.h.
Definition at line 70 of file FitsSchemaInputMapper.h.
lsst::afw::table::io::FitsSchemaInputMapper::FitsSchemaInputMapper | ( | daf::base::PropertyList & | metadata, |
bool | stripMetadata | ||
) |
Construct a mapper from a PropertyList of FITS header values, stripping recognized keys if desired.
void lsst::afw::table::io::FitsSchemaInputMapper::customize | ( | std::unique_ptr< FitsColumnReader > | reader | ) |
Customize a mapping by providing a FitsColumnReader instance that will be invoked by readRecords().
void lsst::afw::table::io::FitsSchemaInputMapper::erase | ( | Item const * | item | ) |
Remove the given item (which should have been retrieved via find()) from the mapping, preventing it from being included in the regular fields added by finalize().
void lsst::afw::table::io::FitsSchemaInputMapper::erase | ( | std::string const & | ttype | ) |
Remove the item with the given column name (ttype) from the mapping, preventing it from being included in the regular fields added by finalize().
void lsst::afw::table::io::FitsSchemaInputMapper::erase | ( | int | column | ) |
Remove the item at the given column position from the mapping, preventing it from being included in the regular fields added by finalize().
Schema lsst::afw::table::io::FitsSchemaInputMapper::finalize | ( | ) |
Map any remaining items into regular Schema items, and return the final Schema.
This method must be called before any calls to readRecords().
Item const* lsst::afw::table::io::FitsSchemaInputMapper::find | ( | std::string const & | ttype | ) | const |
Find an item with the given column name (ttype), returning nullptr if no such column exists.
The returned pointer is owned by the mapper object, and should not be deleted. It is invalidated by calls to either erase() or finalize().
Item const* lsst::afw::table::io::FitsSchemaInputMapper::find | ( | int | column | ) | const |
Find an item with the given column number, returning nullptr if no such column exists.
The returned pointer is owned by the mapper object, and should not be deleted. It is invalidated by calls to either erase() or finalize().
bool lsst::afw::table::io::FitsSchemaInputMapper::hasArchive | ( | ) | const |
Return true if the mapper has an InputArchive.
bool lsst::afw::table::io::FitsSchemaInputMapper::readArchive | ( | afw::fits::Fits & | fits | ) |
Set the Archive by reading from the HDU specified by the AR_HDU header entry.
Returns true on success, false if there is no AR_HDU entry.
void lsst::afw::table::io::FitsSchemaInputMapper::readRecord | ( | BaseRecord & | record, |
afw::fits::Fits & | fits, | ||
std::size_t | row | ||
) |
Fill a record from a FITS binary table row.
void lsst::afw::table::io::FitsSchemaInputMapper::setArchive | ( | boost::shared_ptr< InputArchive > | archive | ) |
Set the Archive to an externally-provided one, overriding any that may have been read.
|
private |
Definition at line 146 of file FitsSchemaInputMapper.h.