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