LTL
2.0.x
|
Representation of a complete FITS header. Holds also header I/O methods. More...
Inherited by ltl::FitsIn, and ltl::FitsOut.
Public Member Functions | |
FitsHeader (unsigned char *inmemptr, size_t inmemlen, const bool quiet_please=false, const bool alljunk=false) | |
Construct from existing file. More... | |
FitsHeader (const std::string &filename, const bool quiet_please=false, const bool alljunk=false) | |
FitsHeader (const FitsHeader &other, const bool quiet_please=false, const bool alljunk=false) | |
Construct as copy from other. More... | |
virtual | ~FitsHeader () |
Destruct Object. More... | |
FitsHeader & | operator= (const FitsHeader &other) |
Copy values from other. More... | |
virtual void | describeSelf (std::ostream &os) |
Write Mandatories to os. More... | |
std::string | adjustKeyword (std::string keyword) const |
Return keyword trimmed (or expanded) to a width of 8 chars. More... | |
int | eraseCard (const std::string &keyword) throw (FitsException) |
Erase FITS card keyword. More... | |
off_t | getDataOffset () const |
Return the byte offset within the file to the data segment. More... | |
off_t | getDataLength () const |
Return the size of the data segment in bytes. More... | |
std::string | writeHeader (const bool with_junk=false) |
Return a new valid FITS file format header. More... | |
Adding new Cards | |
void | addCommentCard (const std::string &keyword, const std::string &comment) |
Add a commentary card. More... | |
void | addHistory (const std::string &history) |
Add a history of arbitrary length. More... | |
void | addComment (const std::string &comment) |
Add a history of arbitrary length. More... | |
void | addValueCard (const std::string &keyword, const std::string &value, const std::string comment="", const bool fixed=true) |
Add a string value card. More... | |
void | addValueCard (const std::string &keyword, const char *value, const std::string comment="", const bool fixed=true) |
Add a char value card. More... | |
void | addValueCard (const std::string &keyword, const bool value, const std::string comment="", const bool fixed=true) |
Add a boolean value card. More... | |
void | addValueCard (const std::string &keyword, const int value, const std::string comment="", const bool fixed=true) |
Add an integer value card. More... | |
void | addValueCard (const std::string &keyword, const long value, const std::string comment="", const bool fixed=true) |
Add an integer value card. More... | |
void | addValueCard (const std::string &keyword, const float value, const std::string comment="", const bool fixed=true) |
Add a floating point value card. More... | |
void | addValueCard (const std::string &keyword, const double value, const std::string comment="", const bool fixed=true) |
Add a floating point value card. More... | |
Shortcuts | |
Get (and set) values of mandatories and array keys via shortcuts. | |
int | getBitpix () const |
Return BITPIX setting. More... | |
int | getBytpix () const |
Return bytes per pixel, i.e. abs( bitpix_ ) / 8. More... | |
int | getNaxis () const |
Return NAXIS setting. More... | |
int | getNaxis (const int i) const |
Return width of i NAXIS. More... | |
double | getBscale () const |
Return BSCALE setting. More... | |
double | getBzero () const |
Return BZERO setting. More... | |
void | setBscale (const double value) |
Set the BSCALE key to value. More... | |
void | setBzero (const double value) |
Set the BZERO key to value. More... | |
util::Region | getFullRegion () const |
Return a util::Region according to the NAXIS geometry. More... | |
Read Cards | |
Search the lists for card matching keyword and return requested instance. | |
std::string | getString (const std::string &keyword) const |
Return string value of FITS key keyword. More... | |
bool | getBool (const std::string &keyword) const |
Return boolean value of FITS key keyword. More... | |
long | getInt (const std::string &keyword) const |
Return integer value of FITS key keyword. More... | |
double | getFloat (const std::string &keyword) const |
Return floating point value of FITS key keyword. More... | |
bool | isFixed (const std::string &keyword) const |
Indicate if value of FITS key keyword is of fixed type. More... | |
std::string | getComment (const std::string &keyword) const |
Return comment of FITS key keyword. More... | |
std::string | getComment () const |
Return complete COMMENT. More... | |
std::string | getHistory () const |
Return complete HISTORY. More... | |
std::string | getValueAsString (const std::string &keyword) const |
Return value of FITS key keyword as a string irrespective of its type. More... | |
Protected Member Functions | |
FitsHeader () | |
Empty constructor is protected! More... | |
FitsHeader (const std::string &filename, const bool quiet_please, const bool alljunk, const off_t startoffset) | |
Construct extension from existing file. More... | |
void | readHeader (const std::string &filename, const bool alljunk=false, unsigned char *inmemptr=NULL, size_t inmemlen=0) throw (FitsException) |
Read and parse a FITS header from file. More... | |
void | parseCommentToCardList (const std::string &keyword, const std::string &comment) |
Parse and add a commentstring to its list. More... | |
void | addCommentCard (FitsCard *cardptr) throw (FitsException) |
Add a commentary card to the correct list. More... | |
void | addJunkCard (const std::string &native_card) |
Just split 80 char card into keyword + rest and push it on the junk list. More... | |
void | addJunkCard (const std::string &keyword, const std::string &comment) |
Add a suitable trimmed junk card. More... | |
void | addJunkCard (FitsCard *cardptr) |
Add a preexisting ltl::FitsCard to junk list. More... | |
void | addValueCard (FitsCard *cardptr) throw (FitsException) |
Add a value holding card to its proper list. More... | |
void | clearCardList (std::list< FitsCard * > &the_list) |
Clear a whole list of cards. More... | |
int | eraseCardFromList (const std::string &keyword, std::list< FitsCard * > &the_list) |
Erase first ltl::FitsCard mathcing keyword from the_list. More... | |
int | eraseCardsFromJunkList (const std::string &keyword) |
Erase all cards matching keyword from the ltl::FitsHeader::junk_ list. More... | |
FitsCard * | findCardInList (const std::string &keyword, const std::list< FitsCard * > &the_list) const |
Return pointer to card matching keyword in the_list. More... | |
FitsCard * | getValueCard (const std::string &keyword) const throw (FitsException) |
Return pointer to first card matching keyword on any non commentary list. More... | |
std::string | writeCommentsOfList (const std::list< FitsCard * > &the_list) const |
Return string holding new line broken comments of a whole list. More... | |
std::string | writeCardsOfList (const std::list< FitsCard * > &the_list) const |
Return string holding FITS formatted cards of a list. More... | |
void | copy (const FitsHeader &other) |
Copy header from other. More... | |
void | copyCardList (std::list< FitsCard * > &dest_list, const std::list< FitsCard * > &src_list) |
Copy list of ltl::FitsCard. More... | |
void | testRegion (const util::Region &testreg) const throw (FitsException) |
Test if region complies with FITS file geometry. More... | |
Parse Record string | |
The next 4 methods parse a complete 2880 char record into lists of ltl::FitsCards. | |
std::string::size_type | parseRecord (const std::string &record, const bool alljunk=false) throw (FitsException) |
Parse a FITS record and assign the cards to their proper lists. More... | |
std::string::size_type | parseMandatory (const std::string &record) throw (FitsException) |
Parse the mandatory keys of record. More... | |
std::string::size_type | parseNaxis (const std::string &record, std::string::size_type card_of_record=0) |
Parse cards until Naxis parameter is matched, returns card offset in record. More... | |
void | checkNaxis () throw (FitsException) |
Check the Naxis list, ltl::FitsException on error. More... | |
Parse Card String | |
These 2 functions parse a 80 char line card into an ltl::FitsCard. | |
FitsCard * | parseCard (const std::string &card) const throw (FitsException) |
Parse 80 char line into an ltl::FitsCard object. More... | |
std::string | getCardComment (const std::string &teststring) const throw (FitsException) |
Return the comment of a 80 char line card remainder. More... | |
Protected Attributes | |
bool | shutup_ |
Boolean indicating if no error messages shall be written to stderr. More... | |
int | bitpix_ |
Shortcuts to FITS keywords BITPIX, abs(BITPIX)/8 and NAXIS. More... | |
int | bytpix_ |
int | naxis_ |
int * | naxis_array_ |
Pointer to array holding shortcuts to NAXIS keywords. More... | |
bool | extended_ |
Shortcut indicating extension maybe present. More... | |
int | pcount_ |
Shortcuts for calculating length of extension. More... | |
int | gcount_ |
double | bscale_ |
Shortcuts to FITS keywords BSCALE and BZERO. More... | |
double | bzero_ |
off_t | data_offset_ |
Offset to first element of data segment,. More... | |
off_t | data_length_ |
Length of data segment in bytes. More... | |
Static Protected Attributes | |
static const FitsPhysical | PH_C |
Structure holding physical FITS sizes. More... | |
static const FitsKnownList | KNOWN |
List of all known keywords and their types. More... | |
Card Lists | |
typedef std::list< FitsCard * > | MandatoryList |
typedef MandatoryList::iterator | MandatoryIter |
typedef std::list< FitsCard * > | NaxisList |
typedef NaxisList::iterator | NaxisIter |
typedef std::list< FitsCard * > | ExtensionList |
typedef ExtensionList::iterator | ExtensionIter |
typedef std::list< FitsCard * > | ObserveList |
typedef ObserveList::iterator | ObserveIter |
typedef std::list< FitsCard * > | CommentList |
typedef CommentList::iterator | CommentIter |
typedef std::list< FitsCard * > | HistoryList |
typedef HistoryList::iterator | HistoryIter |
typedef std::list< FitsCard * > | BlankList |
typedef BlankList::iterator | BlankIter |
typedef std::list< FitsCard * > | ArrayList |
typedef ArrayList::iterator | ArrayIter |
typedef std::list< FitsCard * > | OtherList |
typedef OtherList::iterator | OtherIter |
typedef std::list< FitsCard * > | JunkList |
typedef JunkList::iterator | JunkIter |
MandatoryList | mandatory_ |
List holding all mandatory cards. More... | |
NaxisList | naxis_i_ |
List holding all NAXIS# cards. More... | |
ExtensionList | extension_ |
List holding EXTENSION cards. More... | |
ObserveList | observe_ |
List holding reserved keywords cards which are not on other lists. More... | |
CommentList | comment_ |
List holding the COMMENT cards. More... | |
HistoryList | history_ |
List holding the HISTORY cards. More... | |
BlankList | blank_ |
List holding the blank cards. More... | |
ArrayList | array_ |
List holding array keywords cards. More... | |
OtherList | otherkeys_ |
List holding all other cards. More... | |
JunkList | junk_ |
List holding the cards not complying with FITS standard. More... | |
Representation of a complete FITS header. Holds also header I/O methods.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
ltl::FitsHeader::FitsHeader | ( | unsigned char * | inmemptr, |
size_t | inmemlen, | ||
const bool | quiet_please = false , |
||
const bool | alljunk = false |
||
) |
Construct from existing file.
ltl::FitsHeader::FitsHeader | ( | const std::string & | filename, |
const bool | quiet_please = false , |
||
const bool | alljunk = false |
||
) |
ltl::FitsHeader::FitsHeader | ( | const FitsHeader & | other, |
const bool | quiet_please = false , |
||
const bool | alljunk = false |
||
) |
Construct as copy from other.
|
virtual |
Destruct Object.
|
protected |
Empty constructor is protected!
|
protected |
Construct extension from existing file.
FitsHeader& ltl::FitsHeader::operator= | ( | const FitsHeader & | other | ) |
Copy values from other.
|
virtual |
Write Mandatories to os.
Reimplemented in ltl::FitsOut, and ltl::FitsIn.
std::string ltl::FitsHeader::adjustKeyword | ( | std::string | keyword | ) | const |
Return keyword trimmed (or expanded) to a width of 8 chars.
Trailing blanks are significant for FITS keywords. If you want to add missing trailing blanks or simply trim too long keywords you may want to use this method.
void ltl::FitsHeader::addCommentCard | ( | const std::string & | keyword, |
const std::string & | comment | ||
) |
Add a commentary card.
void ltl::FitsHeader::addHistory | ( | const std::string & | history | ) |
Add a history of arbitrary length.
void ltl::FitsHeader::addComment | ( | const std::string & | comment | ) |
Add a history of arbitrary length.
void ltl::FitsHeader::addValueCard | ( | const std::string & | keyword, |
const std::string & | value, | ||
const std::string | comment = "" , |
||
const bool | fixed = true |
||
) |
Add a string value card.
void ltl::FitsHeader::addValueCard | ( | const std::string & | keyword, |
const char * | value, | ||
const std::string | comment = "" , |
||
const bool | fixed = true |
||
) |
Add a char value card.
void ltl::FitsHeader::addValueCard | ( | const std::string & | keyword, |
const bool | value, | ||
const std::string | comment = "" , |
||
const bool | fixed = true |
||
) |
Add a boolean value card.
void ltl::FitsHeader::addValueCard | ( | const std::string & | keyword, |
const int | value, | ||
const std::string | comment = "" , |
||
const bool | fixed = true |
||
) |
Add an integer value card.
void ltl::FitsHeader::addValueCard | ( | const std::string & | keyword, |
const long | value, | ||
const std::string | comment = "" , |
||
const bool | fixed = true |
||
) |
Add an integer value card.
void ltl::FitsHeader::addValueCard | ( | const std::string & | keyword, |
const float | value, | ||
const std::string | comment = "" , |
||
const bool | fixed = true |
||
) |
Add a floating point value card.
void ltl::FitsHeader::addValueCard | ( | const std::string & | keyword, |
const double | value, | ||
const std::string | comment = "" , |
||
const bool | fixed = true |
||
) |
Add a floating point value card.
int ltl::FitsHeader::eraseCard | ( | const std::string & | keyword | ) | |
throw | ( | FitsException | |||
) |
Erase FITS card keyword.
Returns 0 on success, -1 on keyword not found.
ltl::FitsException | on forbidden erasures. |
off_t ltl::FitsHeader::getDataOffset | ( | ) | const |
Return the byte offset within the file to the data segment.
int ltl::FitsHeader::getBitpix | ( | ) | const |
Return BITPIX setting.
int ltl::FitsHeader::getBytpix | ( | ) | const |
Return bytes per pixel, i.e. abs( bitpix_ ) / 8.
int ltl::FitsHeader::getNaxis | ( | ) | const |
Return NAXIS setting.
Referenced by ltl::getFitsMArray(), and ltl::insertFitsMArray().
double ltl::FitsHeader::getBscale | ( | ) | const |
Return BSCALE setting.
Referenced by ltl::FitsIn::getDataArray(), ltl::FitsIn::readDataArray(), and ltl::FitsIn::readRegionArray().
double ltl::FitsHeader::getBzero | ( | ) | const |
Return BZERO setting.
Referenced by ltl::FitsIn::getDataArray(), ltl::FitsIn::readDataArray(), and ltl::FitsIn::readRegionArray().
void ltl::FitsHeader::setBscale | ( | const double | value | ) |
Set the BSCALE key to value.
void ltl::FitsHeader::setBzero | ( | const double | value | ) |
Set the BZERO key to value.
util::Region ltl::FitsHeader::getFullRegion | ( | ) | const |
Return a util::Region according to the NAXIS geometry.
Referenced by ltl::FitsIn::getDataArray(), ltl::FitsIn::readRegionArray(), and ltl::FitsOut::writeRegionArray().
off_t ltl::FitsHeader::getDataLength | ( | ) | const |
Return the size of the data segment in bytes.
Referenced by ltl::FitsIn::getDataArray(), ltl::FitsIn::readDataArray(), and ltl::FitsOut::writeDataArray().
std::string ltl::FitsHeader::getString | ( | const std::string & | keyword | ) | const |
Return string value of FITS key keyword.
bool ltl::FitsHeader::getBool | ( | const std::string & | keyword | ) | const |
Return boolean value of FITS key keyword.
long ltl::FitsHeader::getInt | ( | const std::string & | keyword | ) | const |
Return integer value of FITS key keyword.
double ltl::FitsHeader::getFloat | ( | const std::string & | keyword | ) | const |
Return floating point value of FITS key keyword.
bool ltl::FitsHeader::isFixed | ( | const std::string & | keyword | ) | const |
Indicate if value of FITS key keyword is of fixed type.
std::string ltl::FitsHeader::getComment | ( | const std::string & | keyword | ) | const |
Return comment of FITS key keyword.
std::string ltl::FitsHeader::getComment | ( | ) | const |
Return complete COMMENT.
std::string ltl::FitsHeader::getHistory | ( | ) | const |
Return complete HISTORY.
std::string ltl::FitsHeader::getValueAsString | ( | const std::string & | keyword | ) | const |
Return value of FITS key keyword as a string irrespective of its type.
std::string ltl::FitsHeader::writeHeader | ( | const bool | with_junk = false | ) |
Return a new valid FITS file format header.
|
protected |
Read and parse a FITS header from file.
|
protected |
Parse a FITS record and assign the cards to their proper lists.
Returns the length of the record or 0 if "END" was found.
ltl::FitsException | on error. |
|
protected |
Parse the mandatory keys of record.
Return offset to next non-mandatory card within record.
ltl::FitsException | on error. |
|
protected |
Parse cards until Naxis parameter is matched, returns card offset in record.
|
protected |
Check the Naxis list, ltl::FitsException on error.
|
protected |
Parse 80 char line into an ltl::FitsCard object.
|
protected |
Return the comment of a 80 char line card remainder.
|
protected |
Parse and add a commentstring to its list.
Can be long, will be broken into lines)
|
protected |
Add a commentary card to the correct list.
|
protected |
Just split 80 char card into keyword + rest and push it on the junk list.
|
protected |
Add a suitable trimmed junk card.
|
protected |
Add a preexisting ltl::FitsCard to junk list.
|
protected |
Add a value holding card to its proper list.
If the card has a bad syntax it's put on the ltl::FitsHeader::junk_ list.
ltl::FitsException | on error. |
|
protected |
Clear a whole list of cards.
|
protected |
Erase first ltl::FitsCard mathcing keyword from the_list.
Return -1 if keyword not found, otherwise 0.
|
protected |
Erase all cards matching keyword from the ltl::FitsHeader::junk_ list.
Return the number of erased cards.
|
protected |
Return pointer to card matching keyword in the_list.
Return NULL if no card is found.
Referenced by ltl::FitsBinTableIn::readColumn().
|
protected |
Return pointer to first card matching keyword on any non commentary list.
ltl::FitsException | on error, i.e. no matching card found. |
|
protected |
Return string holding new line broken comments of a whole list.
|
protected |
Return string holding FITS formatted cards of a list.
|
protected |
Copy header from other.
|
protected |
Copy list of ltl::FitsCard.
|
protected |
Test if region complies with FITS file geometry.
|
protected |
Boolean indicating if no error messages shall be written to stderr.
|
protected |
Shortcuts to FITS keywords BITPIX, abs(BITPIX)/8 and NAXIS.
Referenced by ltl::FitsIn::getDataArray(), ltl::FitsIn::getNextPixel(), ltl::FitsIn::readDataArray(), ltl::FitsIn::readRegionArray(), ltl::FitsOut::setNextPixel(), ltl::FitsOut::writeDataArray(), and ltl::FitsOut::writeRegionArray().
|
protected |
|
protected |
|
protected |
Pointer to array holding shortcuts to NAXIS keywords.
Referenced by ltl::FitsBinTableIn::readColumn(), and ltl::FitsBinTableIn::readPColumn().
|
protected |
Shortcut indicating extension maybe present.
|
protected |
Shortcuts for calculating length of extension.
|
protected |
|
protected |
Shortcuts to FITS keywords BSCALE and BZERO.
Referenced by ltl::FitsIn::getNextPixel().
|
protected |
Referenced by ltl::FitsIn::getNextPixel().
|
protected |
Offset to first element of data segment,.
|
protected |
Length of data segment in bytes.
|
staticprotected |
Structure holding physical FITS sizes.
|
staticprotected |
List of all known keywords and their types.
|
protected |
List holding all mandatory cards.
|
protected |
List holding all NAXIS# cards.
|
protected |
List holding EXTENSION cards.
Referenced by ltl::FitsBinTableIn::readColumn().
|
protected |
List holding reserved keywords cards which are not on other lists.
These are AUTHOR, BLOCKED, DATE, DATE-OBS, DATExxxx, EQUINOX, EPOCH, INSTRUME, OBJECT, OBSERVER, ORIGIN, REFERENC and TELESCOP. EPOCH will be copied to EQUINOX if EQUINOX not present.
|
protected |
List holding the COMMENT cards.
|
protected |
List holding the HISTORY cards.
|
protected |
List holding the blank cards.
|
protected |
List holding array keywords cards.
These are BSCALE, BZERO, BUNIT, BLANK, CTYPEn, CRPIXn, CRVALn, CRDELTn, CROTAn, DATAMIN and DATAMAX.
|
protected |
List holding all other cards.
|
protected |
List holding the cards not complying with FITS standard.