LSSTApplications
16.0-10-g0ee56ad+5,16.0-11-ga33d1f2+5,16.0-12-g3ef5c14+3,16.0-12-g71e5ef5+18,16.0-12-gbdf3636+3,16.0-13-g118c103+3,16.0-13-g8f68b0a+3,16.0-15-gbf5c1cb+4,16.0-16-gfd17674+3,16.0-17-g7c01f5c+3,16.0-18-g0a50484+1,16.0-20-ga20f992+8,16.0-21-g0e05fd4+6,16.0-21-g15e2d33+4,16.0-22-g62d8060+4,16.0-22-g847a80f+4,16.0-25-gf00d9b8+1,16.0-28-g3990c221+4,16.0-3-gf928089+3,16.0-32-g88a4f23+5,16.0-34-gd7987ad+3,16.0-37-gc7333cb+2,16.0-4-g10fc685+2,16.0-4-g18f3627+26,16.0-4-g5f3a788+26,16.0-5-gaf5c3d7+4,16.0-5-gcc1f4bb+1,16.0-6-g3b92700+4,16.0-6-g4412fcd+3,16.0-6-g7235603+4,16.0-69-g2562ce1b+2,16.0-8-g14ebd58+4,16.0-8-g2df868b+1,16.0-8-g4cec79c+6,16.0-8-gadf6c7a+1,16.0-8-gfc7ad86,16.0-82-g59ec2a54a+1,16.0-9-g5400cdc+2,16.0-9-ge6233d7+5,master-g2880f2d8cf+3,v17.0.rc1
LSSTDataManagementBasePackage
|
A specialized form of Channel which reads and writes FITS header cards. More...
#include <FitsChan.h>
Public Types | |
using | ObjectPtr = std::unique_ptr< AstObject, Deleter > |
unique pointer holding an AST raw pointer More... | |
Public Member Functions | |
FitsChan (Stream &stream, std::string const &options="") | |
Construct a channel that uses a provided Stream. More... | |
virtual | ~FitsChan () |
FitsChan (FitsChan const &)=delete | |
FitsChan (FitsChan &&)=default | |
FitsChan & | operator= (FitsChan const &)=delete |
FitsChan & | operator= (FitsChan &&)=default |
void | delFits () |
Delete the current FITS card. More... | |
void | emptyFits () |
Delete all cards and associated information from a FitsChan. More... | |
FoundValue< std::string > | findFits (std::string const &name, bool inc) |
Search for a card in a FitsChan by keyword. More... | |
FoundValue< std::complex< double > > | getFitsCF (std::string const &name="", std::complex< double > defval={0, 0}) const |
Get the value of a complex double card. More... | |
FoundValue< std::string > | getFitsCN (std::string const &name="", std::string defval="") const |
Get the value of a CONTINUE card. More... | |
FoundValue< double > | getFitsF (std::string const &name="", double defval=0) const |
Get the value of a double card. More... | |
FoundValue< int > | getFitsI (std::string const &name="", int defval=0) const |
Get the value of a int card. More... | |
FoundValue< bool > | getFitsL (std::string const &name="", bool defval=false) const |
Get the value of a bool card. More... | |
FoundValue< std::string > | getFitsS (std::string const &name="", std::string defval="") const |
Get the value of a string card. More... | |
std::vector< std::string > | getAllCardNames () |
Get the name of all cards, in order, starting from the first card. More... | |
std::string | getAllWarnings () const |
Get AllWarnings: a space separated list of all the conditions names recognized by the Warnings attribute. More... | |
int | getCard () const |
Get Card: the index of the current card, where 1 is the first card. More... | |
std::string | getCardComm () const |
Get CardComm: the comment of the current card. More... | |
std::string | getCardName () const |
Get CardName: the keyword name of the current card. More... | |
CardType | getCardType () const |
Get CardType: data type of the current FITS card. More... | |
bool | getCarLin () const |
Get CarLin: ignore spherical rotations on CAR projections? More... | |
bool | getCDMatrix () const |
Get CDMatrix: use CDi_j keywords to represent pixel scaling, rotation, etc? More... | |
bool | getClean () const |
Get Clean: remove cards used whilst reading even if an error occurs? More... | |
bool | getDefB1950 () const |
Get DefB1950: use FK4 B1950 as default equatorial coordinates? More... | |
std::string | getEncoding () const |
Get Encoding: the encoding system to use when AST Objects are stored as FITS header cards in a FitsChan. More... | |
std::string | getFitsAxisOrder () const |
Get FitsAxisOrder: the order for the WCS axes in any new FITS-WCS headers created using Channel::write. More... | |
int | getFitsDigits () const |
Get FitsDigits: digits of precision for floating-point FITS values. More... | |
double | getFitsTol () const |
Get FitsTol: Tolerance used for writing a FrameSet using a foreign encoding. More... | |
bool | getIwc () const |
Get Iwc: add a Frame describing Intermediate World Coords? More... | |
int | getNCard () const |
Get NCard: the number of cards. More... | |
int | getNKey () const |
Get Nkey: the number of unique keywords. More... | |
bool | getSipOK () const |
Get SipOK: use Spitzer Space Telescope keywords to define distortion? More... | |
bool | getSipReplace () const |
Get SipReplace: ignore inverse SIP coefficients (replacing them with fit coefficients or an iterative inverse)? More... | |
int | getTabOK () const |
Get TabOK: should the FITS "-TAB" algorithm be recognised? More... | |
int | getPolyTan () const |
Get PolyTan: use PVi_m keywords to define distorted TAN projection? More... | |
std::string | getWarnings () const |
Get Warnings attribute, which controls the issuing of warnings about selected conditions when an Object or keyword is read from or written to a FitsChan. More... | |
void | purgeWcs () |
Delete all cards in a FitsChan that relate to any of the recognised WCS encodings. More... | |
void | putCards (std::string const &cards) |
Replace all FITS header cards. More... | |
void | putFits (std::string const &card, bool overwrite) |
Store a FITS header card in a FitsChan. More... | |
void | readFits () |
Read cards from the source and store them in the FitsChan. More... | |
void | retainFits () |
Keep the current card when an Object is read that uses the card. More... | |
void | setFitsCF (std::string const &name, std::complex< double > value, std::string const &comment="", bool overwrite=false) |
Create a new card of type std::complex<double>, possibly overwriting the current card. More... | |
void | setFitsCM (std::string const &comment, bool overwrite=false) |
Create a new comment card, possibly overwriting the current card. More... | |
void | setFitsCN (std::string const &name, std::string value, std::string const &comment="", bool overwrite=false) |
Create a new "CONTINUE" card, possibly overwriting the current card. More... | |
void | setFitsF (std::string const &name, double value, std::string const &comment="", bool overwrite=false) |
Create a new card of type double, possibly overwriting the current card. More... | |
void | setFitsI (std::string const &name, int value, std::string const &comment="", bool overwrite=false) |
Create a new card of type int, possibly overwriting the current card. More... | |
void | setFitsL (std::string const &name, bool value, std::string const &comment="", bool overwrite=false) |
Create a new card of type bool, possibly overwriting the current card. More... | |
void | setFitsS (std::string const &name, std::string value, std::string const &comment="", bool overwrite=false) |
Create a new card of type string, possibly overwriting the current card. More... | |
void | setFitsU (std::string const &name, std::string const &comment="", bool overwrite=false) |
Create a new card with an undefined value, possibly overwriting the current card. More... | |
void | setCarLin (bool cdMatrix) |
Set CarLin: ignore spherical rotations on CAR projections? More... | |
void | setCDMatrix (bool cdMatrix) |
Get CDMatrix: Use CDi_j keywords to represent pixel scaling, rotation, etc? More... | |
void | setClean (bool clean) |
Set Clean: remove cards used whilst reading even if an error occurs? More... | |
void | setDefB1950 (bool defB1950) |
Set DefB1950: use FK4 B1950 as default equatorial coordinates? More... | |
void | setEncoding (std::string const &encoding) |
Set Encoding: the encoding system to use when AST Objects are stored as FITS header cards in a FitsChan. More... | |
void | setFitsAxisOrder (std::string const &order) |
Set FitsAxisOrder: the order for the WCS axes in any new FITS-WCS headers created using Channel::write. More... | |
void | setFitsDigits (int digits) |
Set FitsDigits: digits of precision for floating-point FITS values. More... | |
void | setFitsTol (double tol) |
Set FitsTol: Tolerance used for writing a FrameSet using a foreign encoding. More... | |
void | setIwc (bool iwcs) |
Set Iwc: add a Frame describing Intermediate World Coords? More... | |
void | setSipOK (bool sipOK) |
Set SipOK: use Spitzer Space Telescope keywords to define distortion? More... | |
void | setSipReplace (bool replace) |
Set SipReplace: ignore inverse SIP coefficients (replacing them with fit coefficients or an iterative inverse)? More... | |
void | setTabOK (int tabOK) |
Set TabOK: should the FITS "-TAB" algorithm be recognised? More... | |
void | setPolyTan (int polytan) |
Set PolyTan: use PVi_m keywords to define distorted TAN projection? More... | |
void | setWarnings (std::string const &warnings) |
Set Warnings attribute, which controls the issuing of warnings about selected conditions when an Object or keyword is read from or written to a FitsChan. More... | |
void | showFits () const |
Write all the cards in the channel to standard output. More... | |
FitsKeyState | testFits (std::string const &name="") const |
Determine if a card is present, and if so, whether it has a value. More... | |
void | writeFits () |
Write out all cards currently in the channel and clear the channel. More... | |
void | clearCard () |
Rewind the card index to the beginning. More... | |
void | setCard (int ind) |
Set Card: the index of the current card, where 1 is the first card. More... | |
std::shared_ptr< Channel > | copy () const |
Return a deep copy of this object. More... | |
bool | getComment () const |
Get Comment: include textual comments in output? More... | |
int | getFull () const |
Get Full: level of output detail; one of -1: minimum, 0: normal, 1: verbose. More... | |
int | getIndent () const |
Get Indent: indentation increment between objects. More... | |
int | getReportLevel () const |
Get ReportLevel: report level. More... | |
bool | getSkip () const |
Get Skip: skip irrelevant data on input? More... | |
bool | getStrict () const |
Get Strict: generate errors instead of warnings? More... | |
std::shared_ptr< Object > | read () |
Read an object from a channel. More... | |
void | setComment (bool skip) |
Set Comment: include textual comments in output? More... | |
void | setFull (int full) |
Set Full: level of output detail; one of -1: minimum, 0: normal, 1: verbose. More... | |
void | setIndent (int indent) |
Set Indent: indentation increment between objects. More... | |
void | setReportLevel (int level) |
Set ReportLevel: report level; an integer in the range [0, 3] where 0 is the most verbose. More... | |
void | setSkip (bool skip) |
Set Skip: skip irrelevant data on input? More... | |
void | setStrict (bool strict) |
Set Strict: generate errors instead of warnings? More... | |
KeyMap | warnings () const |
Return a KeyMap holding the text of any warnings issued as a result of the previous invocation of read or write. More... | |
int | write (Object const &object) |
Write an object to a channel. More... | |
bool | operator== (Object const &rhs) const |
Return True if this and rhs are the equal. More... | |
bool | operator!= (Object const &rhs) const |
Return True if this and rhs are not equal. More... | |
void | clear (std::string const &attrib) |
Clear the values of a specified set of attributes for an Object. More... | |
bool | hasAttribute (std::string const &attrib) const |
Does this object have an attribute with the specified name? More... | |
std::string | getClassName () const |
Get Class: the name of the class (e.g. More... | |
std::string | getID () const |
Get ID: object identification string that is not copied. More... | |
std::string | getIdent () const |
Get Ident: object identification string that is copied. More... | |
int | getNObject () const |
Get NObject: number of AST objects in existence of the same type as the underlying AST class. More... | |
int | getObjSize () const |
Get ObjSize: the in-memory size of the AST object in bytes. More... | |
int | getRefCount () const |
Get RefCount: number of active pointers to the underlying AST object. More... | |
bool | getUseDefs () const |
Get UseDefs: allow use of default values for Object attributes? More... | |
void | lock (bool wait) |
Lock this object for exclusive use by the calling thread. More... | |
bool | same (Object const &other) const |
Does this contain the same AST object as another? More... | |
void | setID (std::string const &id) |
Set ID: object identification string that is not copied. More... | |
void | setIdent (std::string const &ident) |
Set Ident: object identification string that is copied. More... | |
void | setUseDefs (bool usedefs) |
Set UseDefs: allow use of default values for Object attributes? More... | |
void | show (std::ostream &os, bool showComments=true) const |
Print a textual description the object to an ostream. More... | |
std::string | show (bool showComments=true) const |
Return a textual description the object as a string. More... | |
bool | test (std::string const &attrib) const |
Has this attribute been explicitly set (and not subsequently cleared)? More... | |
void | unlock (bool report=false) |
Unlock this object previously locked using lock, so that other threads can use this object. More... | |
AstObject const * | getRawPtr () const |
Get the raw AST pointer. More... | |
AstObject * | getRawPtr () |
Get the raw AST pointer. More... | |
Static Public Member Functions | |
static std::shared_ptr< Object > | fromString (std::string const &str) |
Construct an Object from a string, using astFromString. More... | |
template<typename Class > | |
static std::shared_ptr< Class > | fromAstObject (AstObject *rawObj, bool copy) |
Given a bare AST object pointer return a shared pointer to an ast::Object of the correct type. More... | |
Protected Member Functions | |
virtual std::shared_ptr< Object > | copyPolymorphic () const override |
Return a deep copy of this object. More... | |
template<typename T , typename AstT > | |
std::shared_ptr< T > | copyImpl () const |
Implementation of deep copy. More... | |
bool | getB (std::string const &attrib) const |
Get the value of an attribute as a bool. More... | |
std::string const | getC (std::string const &attrib) const |
Get the value of an attribute as a string. More... | |
double | getD (std::string const &attrib) const |
Get the value of an attribute as a double. More... | |
float | getF (std::string const &attrib) const |
Get the value of an attribute as a float. More... | |
int | getI (std::string const &attrib) const |
Get the value of an attribute as an int. More... | |
long int | getL (std::string const &attrib) const |
Get the value of an attribute as a long int. More... | |
void | set (std::string const &setting) |
Assign a set of attribute values, over-riding any previous values. More... | |
void | setB (std::string const &attrib, bool value) |
Set the value of an attribute as a bool. More... | |
void | setC (std::string const &attrib, std::string const &value) |
Set the value of an attribute as a string. More... | |
void | setD (std::string const &attrib, double value) |
Set the value of an attribute as a double. More... | |
void | setF (std::string const &attrib, float value) |
Set the value of an attribute as a float. More... | |
void | setI (std::string const &attrib, int value) |
Set the value of an attribute as an int. More... | |
void | setL (std::string const &attrib, long int value) |
Set the value of an attribute as a long int. More... | |
Static Protected Member Functions | |
template<typename ShimT , typename AstT > | |
static std::shared_ptr< ShimT > | makeShim (AstObject *p) |
Functor to make an astshim instance from a raw AST pointer of the corresponding type. More... | |
A specialized form of Channel which reads and writes FITS header cards.
Writing an Object to a FitsChan will, if the Object is suitable, generate a description of that Object composed of FITS header cards, and reading from a FitsChan will create a new Object from its FITS header card description.
While a FitsChan is active, it represents a buffer which may contain zero or more 80-character "header cards" conforming to FITS conventions. Any sequence of FITS-conforming header cards may be stored, apart from the "END" card whose existence is merely implied. The cards may be accessed in any order by using the FitsChan's Card attribute, which identifies a "current" card, to which subsequent operations apply. Searches based on keyword may be performed (using findFits), new cards may be inserted (putFits, putCards, setFitsS and similar) and existing ones may be deleted with delFits, extracted with getFitsS and similar, or changed with setFitsS and similar.
Tables are not yet supported, so the following AST functions are not wrapped as methods:
FitsChan has the following attributes, in addition to those provided by Channel and Object
setFits
function (e.g. setFitsS) to overwrite the old value.As for any Channel, when you create a FitsChan, you specify a Stream which sources and sinks data by reading and writing FITS header cards. If you provide a source, it is used to fill the FitsChan with header cards when it is accessed for the first time. If you do not provide a source, the FitsChan remains empty until you explicitly enter data into it (e.g. using putFits
, putCards
, write or by using the SourceFile attribute to specifying a text file from which headers should be read). When the FitsChan is deleted, any remaining header cards in the FitsChan will be written to the sink.
Coordinate system information may be described using FITS header cards using several different conventions, termed "encodings". When an AST Object is written to (or read from) a FitsChan, the value of the FitsChan's Encoding attribute determines how the Object is converted to (or from) a description involving FITS header cards. In general, different encodings will result in different sets of header cards to describe the same Object. Examples of encodings include the DSS encoding (based on conventions used by the STScI Digitised Sky Survey data), the FITS-WCS encoding (based on a proposed FITS standard) and the NATIVE encoding (a near loss-less way of storing AST Objects in FITS headers).
The available encodings differ in the range of Objects they can represent, in the number of Object descriptions that can coexist in the same FitsChan, and in their accessibility to other (external) astronomy applications (see the Encoding attribute for details). Encodings are not necessarily mutually exclusive and it may sometimes be possible to describe the same Object in several ways within a particular set of FITS header cards by using several different encodings.
The detailed behaviour of read and write, when used with a FitsChan, depends on the encoding in use. In general, however, all successful use of read is destructive, so that FITS header cards are consumed in the process of reading an Object, and are removed from the FitsChan (this deletion can be prevented for specific cards by calling the retainFits function). An unsuccessful call of read (for instance, caused by the FitsChan not containing the necessary FITS headers cards needed to create an Object) results in the contents of the FitsChan being left unchanged.
If the encoding in use allows only a single Object description to be stored in a FitsChan (e.g. the DSS
, FITS-WCS
and FITS-IRAF
encodings), then write operations using write will over-write any existing Object description using that encoding. Otherwise (e.g. the NATIVE
encoding), multiple Object descriptions are written sequentially and may later be read back in the same sequence.
Definition at line 201 of file FitsChan.h.
|
inherited |
|
explicit |
Construct a channel that uses a provided Stream.
[in] | stream | Stream for channel I/O:
|
[in] | options | Comma-separated list of attribute assignments. |
Definition at line 44 of file FitsChan.cc.
|
virtual |
Definition at line 49 of file FitsChan.cc.
|
delete |
|
default |
|
inlineinherited |
Clear the values of a specified set of attributes for an Object.
Clearing an attribute cancels any value that has previously been explicitly set for it, so that the standard default attribute value will subsequently be used instead. This also causes the astTest function to return the value zero for the attribute, indicating that no value has been set.
Definition at line 118 of file Object.h.
|
inline |
Rewind the card index to the beginning.
Definition at line 1030 of file FitsChan.h.
|
inlineinherited |
|
inlineprotectedinherited |
Implementation of deep copy.
Should be called to implement copyPolymorphic by all derived classes.
Definition at line 319 of file Object.h.
|
inlineoverrideprotectedvirtualinherited |
Return a deep copy of this object.
This is called by copy.
Each subclass must override this method. The standard implementation is:
for example Frame implements this as:
Implements ast::Object.
Definition at line 159 of file Channel.h.
|
inline |
Delete the current FITS card.
The current card may be selected using the Card attribute (if its index is known) or by using findFits
(if only the FITS keyword is known). After deletion, the following card becomes the current card.
Definition at line 229 of file FitsChan.h.
|
inline |
Delete all cards and associated information from a FitsChan.
Definition at line 243 of file FitsChan.h.
FoundValue< std::string > ast::FitsChan::findFits | ( | std::string const & | name, |
bool | inc | ||
) |
Search for a card in a FitsChan by keyword.
The search commences at the current card (identified by the Card
attribute) and ends when a card is found whose FITS keyword matches the template supplied, or when the last card in the FitsChan has been searched.
getFitsX
methods such as getFitsS, whose search wraps around. In order to search all keys using findFits you must first call clearCard.If the search is successful (i.e. a card is found which matches the template), the contents of the card are returned and the Card attribute is adjusted to identify the card found (if inc
false) or the one following it (if inc
is true).
If the search is not successful, the Card attribute is set to the "end-of-file".
[in] | name | The keyword to be found. In the simplest case, this should simply be the keyword name (the search is case insensitive and trailing spaces are ignored). However, this template may also contain "field specifiers" which are capable of matching a range of characters (see the "Keyword Templates" section for details). In this case, the first card with a keyword which matches the template will be found. To find the next FITS card regardless of its keyword, you should use the template "%f". |
[in] | inc | If false (and the search is successful), the FitsChan's Card attribute will be set to the index of the card that was found. If true , however, the Card attribute will be incremented to identify the card which follows the one found. |
The templates used to match FITS keywords are normally composed of literal characters, which must match the keyword exactly (apart from case). However, a template may also contain "field specifiers" which can match a range of possible characters. This allows you to search for keywords that contain (for example) numbers, where the digits comprising the number are not known in advance.
A field specifier starts with a "%" character. This is followed by an optional single digit (0 to 9) specifying a field width. Finally, there is a single character which specifies the
type of character to be matched, as follows:
If the field width is omitted, the field specifier matches one or more characters. If the field width is zero, it matches zero or more characters. Otherwise, it matches exactly the number of characters specified. In addition to this:
For example:
auto foundvalue = fitschan.findFits("%f", true)
Return the current FITS card and advance the @ref FitsChan_Card "Card" attribute to the card that follows (the "%f" template matches any keyword).
`auto foundvalue = fitschan.findFits("BITPIX", false)
Return the next FITS card with the "BITPIX" keyword and leave the @ref FitsChan_Card "Card" attribute pointing to it. You might wish to then call `setFitsI(...)` to modify its value.
auto foundvalue = fitscan.findFits("COMMENT", true)
Return the next COMMENT card and advance the @ref FitsChan_Card "Card" attribute to the card that follows.
auto foundvalue = fitschan.findFits("CRVAL%1d", true)
Return the next keyword of the form "CRVALi" (for example, any of the keywords "CRVAL1", "CRVAL2" or "CRVAL3" would be matched). Advance the @ref FitsChan_Card "Card" attribute to the card that follows.
Definition at line 121 of file FitsChan.cc.
|
staticinherited |
Given a bare AST object pointer return a shared pointer to an ast::Object of the correct type.
The returned object takes ownership of the pointer. This is almost always what you want, for instance astDecompose returns shallow copies of the internal pointers.
Class | The class of the returned shared pointer. (The actual class will be the correct class of rawPtr.) |
[in] | rawObj | A bare AST object pointer |
[in] | copy | If True then make a deep copy of the pointer (and free the original) |
Definition at line 132 of file Object.cc.
|
inlinestaticinherited |
std::vector< std::string > ast::FitsChan::getAllCardNames | ( | ) |
Get the name of all cards, in order, starting from the first card.
Not "const" because the code changes the index of the current card while operating (but restores the original index when done).
Definition at line 103 of file FitsChan.cc.
|
inline |
Get AllWarnings: a space separated list of all the conditions names recognized by the Warnings attribute.
Definition at line 480 of file FitsChan.h.
|
inlineprotectedinherited |
Get the value of an attribute as a bool.
If possible, the attribute value is converted to the type you request.
std::runtime_error | if the attribute does not exist or the value cannot be converted |
Definition at line 347 of file Object.h.
|
inlineprotectedinherited |
Get the value of an attribute as a string.
If possible, the attribute value is converted to the type you request.
std::runtime_error | if the attribute does not exist or the value cannot be converted |
Definition at line 360 of file Object.h.
|
inline |
Get Card: the index of the current card, where 1 is the first card.
Definition at line 485 of file FitsChan.h.
|
inline |
Get CardComm: the comment of the current card.
Definition at line 490 of file FitsChan.h.
|
inline |
Get CardName: the keyword name of the current card.
Definition at line 495 of file FitsChan.h.
|
inline |
Get CardType: data type of the current FITS card.
Definition at line 500 of file FitsChan.h.
|
inline |
Get CarLin: ignore spherical rotations on CAR projections?
Definition at line 505 of file FitsChan.h.
|
inline |
Get CDMatrix: use CDi_j keywords to represent pixel scaling, rotation, etc?
Definition at line 511 of file FitsChan.h.
|
inlineinherited |
Get Class: the name of the class (e.g.
Note: if AST returns "CmpMap" then the name will be changed to "SeriesMap" or "ParallelMap", as appropriate.
Definition at line 138 of file Object.h.
|
inline |
Get Clean: remove cards used whilst reading even if an error occurs?
Definition at line 516 of file FitsChan.h.
|
inlineinherited |
Get Comment: include textual comments in output?
Definition at line 90 of file Channel.h.
|
inlineprotectedinherited |
Get the value of an attribute as a double.
If possible, the attribute value is converted to the type you request.
std::runtime_error | if the attribute does not exist or the value cannot be converted |
Definition at line 373 of file Object.h.
|
inline |
Get DefB1950: use FK4 B1950 as default equatorial coordinates?
Definition at line 521 of file FitsChan.h.
|
inline |
Get Encoding: the encoding system to use when AST Objects are stored as FITS header cards in a FitsChan.
Definition at line 527 of file FitsChan.h.
|
inlineprotectedinherited |
Get the value of an attribute as a float.
If possible, the attribute value is converted to the type you request.
std::runtime_error | if the attribute does not exist or the value cannot be converted |
Definition at line 386 of file Object.h.
|
inline |
Get FitsAxisOrder: the order for the WCS axes in any new FITS-WCS headers created using Channel::write.
Definition at line 533 of file FitsChan.h.
FoundValue< std::complex< double > > ast::FitsChan::getFitsCF | ( | std::string const & | name = "" , |
std::complex< double > | defval = {0, 0} |
||
) | const |
Get the value of a complex double card.
[in] | name | Name of keyword, or empty for the current card |
[in] | defval | Value to return if keyword not found |
Definition at line 56 of file FitsChan.cc.
FoundValue< std::string > ast::FitsChan::getFitsCN | ( | std::string const & | name = "" , |
std::string | defval = "" |
||
) | const |
Get the value of a CONTINUE card.
CONTINUE cards are treated like string values, but are encoded without an equals sign.
[in] | name | Name of keyword, or empty for the current card |
[in] | defval | value to return if keyword not found |
Definition at line 66 of file FitsChan.cc.
|
inline |
Get FitsDigits: digits of precision for floating-point FITS values.
Definition at line 539 of file FitsChan.h.
FoundValue< double > ast::FitsChan::getFitsF | ( | std::string const & | name = "" , |
double | defval = 0 |
||
) | const |
Get the value of a double card.
[in] | name | Name of keyword, or empty for the current card |
[in] | defval | value to return if keyword not found |
Definition at line 74 of file FitsChan.cc.
FoundValue< int > ast::FitsChan::getFitsI | ( | std::string const & | name = "" , |
int | defval = 0 |
||
) | const |
Get the value of a int card.
[in] | name | Name of keyword, or empty for the current card |
[in] | defval | value to return if keyword not found |
Definition at line 81 of file FitsChan.cc.
FoundValue< bool > ast::FitsChan::getFitsL | ( | std::string const & | name = "" , |
bool | defval = false |
||
) | const |
Get the value of a bool card.
[in] | name | Name of keyword, or empty for the current card |
[in] | defval | Value to return if keyword not found |
Definition at line 88 of file FitsChan.cc.
FoundValue< std::string > ast::FitsChan::getFitsS | ( | std::string const & | name = "" , |
std::string | defval = "" |
||
) | const |
Get the value of a string card.
[in] | name | Name of keyword, or empty for the current card |
[in] | defval | Value to return if keyword not found |
Definition at line 95 of file FitsChan.cc.
|
inline |
Get FitsTol: Tolerance used for writing a FrameSet using a foreign encoding.
Definition at line 544 of file FitsChan.h.
|
inlineinherited |
Get Full: level of output detail; one of -1: minimum, 0: normal, 1: verbose.
Definition at line 93 of file Channel.h.
|
inlineprotectedinherited |
Get the value of an attribute as an int.
If possible, the attribute value is converted to the type you request.
std::runtime_error | if the attribute does not exist or the value cannot be converted |
Definition at line 399 of file Object.h.
|
inlineinherited |
Get ID: object identification string that is not copied.
Definition at line 141 of file Object.h.
|
inlineinherited |
Get Ident: object identification string that is copied.
Definition at line 144 of file Object.h.
|
inlineinherited |
Get Indent: indentation increment between objects.
Definition at line 96 of file Channel.h.
|
inline |
Get Iwc: add a Frame describing Intermediate World Coords?
Definition at line 549 of file FitsChan.h.
|
inlineprotectedinherited |
Get the value of an attribute as a long int.
If possible, the attribute value is converted to the type you request.
std::runtime_error | if the attribute does not exist or the value cannot be converted |
Definition at line 412 of file Object.h.
|
inline |
Get NCard: the number of cards.
Definition at line 554 of file FitsChan.h.
|
inline |
Get Nkey: the number of unique keywords.
Definition at line 559 of file FitsChan.h.
|
inlineinherited |
Get NObject: number of AST objects in existence of the same type as the underlying AST class.
Definition at line 152 of file Object.h.
|
inlineinherited |
Get ObjSize: the in-memory size of the AST object in bytes.
Definition at line 155 of file Object.h.
|
inline |
Get PolyTan: use PVi_m
keywords to define distorted TAN projection?
Definition at line 581 of file FitsChan.h.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Get RefCount: number of active pointers to the underlying AST object.
Definition at line 162 of file Object.h.
|
inlineinherited |
Get ReportLevel: report level.
Definition at line 99 of file Channel.h.
|
inline |
Get SipOK: use Spitzer Space Telescope keywords to define distortion?
Definition at line 564 of file FitsChan.h.
|
inline |
Get SipReplace: ignore inverse SIP coefficients (replacing them with fit coefficients or an iterative inverse)?
Definition at line 570 of file FitsChan.h.
|
inlineinherited |
Get Skip: skip irrelevant data on input?
Definition at line 102 of file Channel.h.
|
inlineinherited |
Get Strict: generate errors instead of warnings?
Definition at line 105 of file Channel.h.
|
inline |
Get TabOK: should the FITS "-TAB" algorithm be recognised?
Definition at line 575 of file FitsChan.h.
|
inlineinherited |
Get UseDefs: allow use of default values for Object attributes?
Definition at line 165 of file Object.h.
|
inline |
Get Warnings attribute, which controls the issuing of warnings about selected conditions when an Object or keyword is read from or written to a FitsChan.
Definition at line 587 of file FitsChan.h.
|
inlineinherited |
Does this object have an attribute with the specified name?
Definition at line 126 of file Object.h.
|
inlineinherited |
Lock this object for exclusive use by the calling thread.
The thread-safe public interface to AST is designed so that an error is reported if any thread attempts to use an Object that it has not previously locked for its own exclusive use using this function. When an Object is created, it is initially locked by the thread that creates it, so newly created objects do not need to be explicitly locked. However, if an Object pointer is passed to another thread, the original thread must first unlock it (using astUnlock) and the new thread must then lock it (using astLock) before the new thread can use the Object.
[in] | wait | If the Object is curently locked by another thread then this function will either report an error or block. If a non-zero value is supplied for "wait", the calling thread waits until the object is available for it to use. Otherwise, an error is reported and the function returns immediately without locking the Object. |
Definition at line 201 of file Object.h.
|
inlinestaticprotectedinherited |
Functor to make an astshim instance from a raw AST pointer of the corresponding type.
ShimT | Output astshim class |
AstT | Output AST class |
|
inlineinherited |
|
inherited |
Return True if this and rhs
are the equal.
For two objects be equal, they both must have the same attributes and all contained objects must be equal.
Definition at line 82 of file Object.cc.
|
inline |
Delete all cards in a FitsChan that relate to any of the recognised WCS encodings.
On exit, the current card is the first remaining card in the FitsChan.
Definition at line 594 of file FitsChan.h.
|
inline |
Replace all FITS header cards.
The cards are supplied concatenated together into a single character string. Any existing cards in the FitsChan are removed before the new cards are added. The FitsChan is "re-wound" on exit. This means that a subsequent invocation of read can be made immediately without the need to re-wind the FitsChan first.
[in] | cards | A string containing the FITS cards to be stored. Each individual card should occupy 80 characters in this string, and there should be no delimiters, new lines, etc, between adjacent cards. The final card may be less than 80 characters long. This is the format produced by the fits_hdr2str function in the CFITSIO library. |
Definition at line 615 of file FitsChan.h.
|
inline |
Store a FITS header card in a FitsChan.
The card is either inserted before the current card or over-writes the current card, depending on overwrite
.
[in] | card | A character string containing the FITS cards to be stored. Each individual card should occupy 80 characters in this string, and there should be no delimiters, new lines, etc, between adjacent cards. The final card may be less than 80 characters long. This is the format produced by the fits_hdr2str function in the CFITSIO library. |
[in] | overwrite | if false , the new card is inserted in before the current card. If true the new card replaces the current card. In either case, the Card attribute is then incremented by one so that it subsequently identifies the card following the one stored. |
Definition at line 643 of file FitsChan.h.
|
inherited |
Read an object from a channel.
Definition at line 50 of file Channel.cc.
|
inline |
Read cards from the source and store them in the FitsChan.
This normally happens once-only, when the FitsChan is accessed for the first time. This function provides a means of forcing a re-read of the external source, and may be useful if (say) new cards have been deposited into the external source. Any new cards read from the source are appended to the end of the current contents of the FitsChan.
Definition at line 660 of file FitsChan.h.
|
inline |
Keep the current card when an Object is read that uses the card.
Cards that have not been flagged in this way are removed when a read operation completes succesfully, but only if the card was used in the process of creating the returned Object. Any cards that are irrelevant to the creation of the Object are retained whether or not they are flagged.
Definition at line 673 of file FitsChan.h.
|
inlineinherited |
Does this contain the same AST object as another?
This is a test of identity, not of equality.
Definition at line 211 of file Object.h.
|
inlineprotectedinherited |
Assign a set of attribute values, over-riding any previous values.
The attributes and their new values are specified via a character string, which should contain a comma-separated list of the form: "attribute_1 = value_1, attribute_2 = value_2, ... " where "attribute_n" specifies an attribute name, and the value to the right of each " =" sign should be a suitable textual representation of the value to be assigned. This value will be interpreted according to the attribute's data type.
std::runtime_error | if the attribute is read-only |
Definition at line 439 of file Object.h.
|
inlineprotectedinherited |
Set the value of an attribute as a bool.
If possible, the type you provide is converted to the actual type of the attribute.
std::runtime_error | if the attribute does not exist or the value cannot be converted |
Definition at line 448 of file Object.h.
|
inlineprotectedinherited |
Set the value of an attribute as a string.
If possible, the type you provide is converted to the actual type of the attribute.
std::runtime_error | if the attribute does not exist or the value cannot be converted |
Definition at line 460 of file Object.h.
|
inline |
Set Card: the index of the current card, where 1 is the first card.
Definition at line 1035 of file FitsChan.h.
|
inline |
Set CarLin: ignore spherical rotations on CAR projections?
Definition at line 922 of file FitsChan.h.
|
inline |
Get CDMatrix: Use CDi_j keywords to represent pixel scaling, rotation, etc?
Definition at line 928 of file FitsChan.h.
|
inline |
Set Clean: remove cards used whilst reading even if an error occurs?
Definition at line 933 of file FitsChan.h.
|
inlineinherited |
Set Comment: include textual comments in output?
Definition at line 111 of file Channel.h.
|
inlineprotectedinherited |
Set the value of an attribute as a double.
If possible, the type you provide is converted to the actual type of the attribute.
std::runtime_error | if the attribute does not exist or the value cannot be converted |
Definition at line 472 of file Object.h.
|
inline |
Set DefB1950: use FK4 B1950 as default equatorial coordinates?
Definition at line 938 of file FitsChan.h.
|
inline |
Set Encoding: the encoding system to use when AST Objects are stored as FITS header cards in a FitsChan.
Definition at line 944 of file FitsChan.h.
|
inlineprotectedinherited |
Set the value of an attribute as a float.
If possible, the type you provide is converted to the actual type of the attribute.
std::runtime_error | if the attribute does not exist or the value cannot be converted |
Definition at line 484 of file Object.h.
|
inline |
Set FitsAxisOrder: the order for the WCS axes in any new FITS-WCS headers created using Channel::write.
Definition at line 950 of file FitsChan.h.
|
inline |
Create a new card of type std::complex<double>, possibly overwriting the current card.
[in] | name | Name of keyword for the new card. This may be a complete FITS header card, in which case the keyword to use is extracted from it. |
[in] | value | the value of the card. |
[in] | comment | Comment to associated with the keyword. If blank, then any comment included in the string supplied for the name parameter is used instead. If name contains no comment, then any existing comment in the card being over-written is retained. Otherwise, no comment is stored with the card. |
[in] | overwrite | if true the new card formed from the supplied keyword name, value and comment over-writes the current card, and the current card is incremented to refer to the next card (see the Card attribute). If false , the new card is inserted before the current card and the current card is left unchanged. In either case, if the current card on entry points to the "end-of-file", the new card is appended to the end of the list. |
Definition at line 695 of file FitsChan.h.
|
inline |
Create a new comment card, possibly overwriting the current card.
The card will have a name of " " (eight spaces) and no equals sign. There is presently no way to generate a card with name HISTORY or COMMENT, but FITS treats those essentially the same as cards with blank names.
[in] | comment | Comment to associated with the keyword. |
[in] | overwrite | if true the new card formed from the supplied keyword name, value and comment over-writes the current card, and the current card is incremented to refer to the next card (see the Card attribute). If false , the new card is inserted before the current card and the current card is left unchanged. In either case, if the current card on entry points to the "end-of-file", the new card is appended to the end of the list. |
Definition at line 724 of file FitsChan.h.
|
inline |
Create a new "CONTINUE" card, possibly overwriting the current card.
"CONTINUE" cards are treated like string values, but are encoded without an equals sign.
[in] | name | Name of keyword for the new card. This may be a complete FITS header card, in which case the keyword to use is extracted from it. |
[in] | value | the value of the card. |
[in] | comment | Comment to associated with the keyword. If blank, then any comment included in the string supplied for the name parameter is used instead. If name contains no comment, then any existing comment in the card being over-written is retained. Otherwise, no comment is stored with the card. |
[in] | overwrite | if true the new card formed from the supplied keyword name, value and comment over-writes the current card, and the current card is incremented to refer to the next card (see the Card attribute). If false , the new card is inserted before the current card and the current card is left unchanged. In either case, if the current card on entry points to the "end-of-file", the new card is appended to the end of the list. |
Definition at line 755 of file FitsChan.h.
|
inline |
Set FitsDigits: digits of precision for floating-point FITS values.
Definition at line 956 of file FitsChan.h.
|
inline |
Create a new card of type double, possibly overwriting the current card.
[in] | name | Name of keyword for the new card. This may be a complete FITS header card, in which case the keyword to use is extracted from it. |
[in] | value | the value of the card. |
[in] | comment | Comment to associated with the keyword. If blank, then any comment included in the string supplied for the name parameter is used instead. If name contains no comment, then any existing comment in the card being over-written is retained. Otherwise, no comment is stored with the card. |
[in] | overwrite | if true the new card formed from the supplied keyword name, value and comment over-writes the current card, and the current card is incremented to refer to the next card (see the Card attribute). If false , the new card is inserted before the current card and the current card is left unchanged. In either case, if the current card on entry points to the "end-of-file", the new card is appended to the end of the list. |
Definition at line 785 of file FitsChan.h.
|
inline |
Create a new card of type int, possibly overwriting the current card.
[in] | name | Name of keyword for the new card. This may be a complete FITS header card, in which case the keyword to use is extracted from it. |
[in] | value | the value of the card. |
[in] | comment | Comment to associated with the keyword. If blank, then any comment included in the string supplied for the name parameter is used instead. If name contains no comment, then any existing comment in the card being over-written is retained. Otherwise, no comment is stored with the card. |
[in] | overwrite | if true the new card formed from the supplied keyword name, value and comment over-writes the current card, and the current card is incremented to refer to the next card (see the Card attribute). If false , the new card is inserted before the current card and the current card is left unchanged. In either case, if the current card on entry points to the "end-of-file", the new card is appended to the end of the list. |
Definition at line 815 of file FitsChan.h.
|
inline |
Create a new card of type bool, possibly overwriting the current card.
[in] | name | Name of keyword for the new card. This may be a complete FITS header card, in which case the keyword to use is extracted from it. |
[in] | value | the value of the card. |
[in] | comment | Comment to associated with the keyword. If blank, then any comment included in the string supplied for the name parameter is used instead. If name contains no comment, then any existing comment in the card being over-written is retained. Otherwise, no comment is stored with the card. |
[in] | overwrite | if true the new card formed from the supplied keyword name, value and comment over-writes the current card, and the current card is incremented to refer to the next card (see the Card attribute). If false , the new card is inserted before the current card and the current card is left unchanged. In either case, if the current card on entry points to the "end-of-file", the new card is appended to the end of the list. |
Definition at line 845 of file FitsChan.h.
|
inline |
Create a new card of type string, possibly overwriting the current card.
[in] | name | Name of keyword for the new card. This may be a complete FITS header card, in which case the keyword to use is extracted from it. |
[in] | value | the value of the card. |
[in] | comment | Comment to associated with the keyword. If blank, then any comment included in the string supplied for the name parameter is used instead. If name contains no comment, then any existing comment in the card being over-written is retained. Otherwise, no comment is stored with the card. |
[in] | overwrite | if true the new card formed from the supplied keyword name, value and comment over-writes the current card, and the current card is incremented to refer to the next card (see the Card attribute). If false , the new card is inserted before the current card and the current card is left unchanged. In either case, if the current card on entry points to the "end-of-file", the new card is appended to the end of the list. |
Definition at line 883 of file FitsChan.h.
|
inline |
Set FitsTol: Tolerance used for writing a FrameSet using a foreign encoding.
Definition at line 961 of file FitsChan.h.
|
inline |
Create a new card with an undefined value, possibly overwriting the current card.
[in] | name | Name of keyword for the new card. This may be a complete FITS header card, in which case the keyword to use is extracted from it. |
[in] | comment | Comment to associated with the keyword. If blank, then any comment included in the string supplied for the name parameter is used instead. If name contains no comment, then any existing comment in the card being over-written is retained. Otherwise, no comment is stored with the card. |
[in] | overwrite | if true the new card formed from the supplied keyword name, value and comment over-writes the current card, and the current card is incremented to refer to the next card (see the Card attribute). If false , the new card is inserted before the current card and the current card is left unchanged. In either case, if the current card on entry points to the "end-of-file", the new card is appended to the end of the list. |
findFits
, and then use the appropriate setFits
function to over-write the old value.Definition at line 914 of file FitsChan.h.
|
inlineinherited |
Set Full: level of output detail; one of -1: minimum, 0: normal, 1: verbose.
Definition at line 114 of file Channel.h.
|
inlineprotectedinherited |
Set the value of an attribute as an int.
If possible, the type you provide is converted to the actual type of the attribute.
std::runtime_error | if the attribute does not exist or the value cannot be converted |
Definition at line 496 of file Object.h.
|
inlineinherited |
Set ID: object identification string that is not copied.
Definition at line 214 of file Object.h.
|
inlineinherited |
Set Ident: object identification string that is copied.
Definition at line 217 of file Object.h.
|
inlineinherited |
Set Indent: indentation increment between objects.
Definition at line 117 of file Channel.h.
|
inline |
Set Iwc: add a Frame describing Intermediate World Coords?
Definition at line 966 of file FitsChan.h.
|
inlineprotectedinherited |
Set the value of an attribute as a long int.
If possible, the type you provide is converted to the actual type of the attribute.
std::runtime_error | if the attribute does not exist or the value cannot be converted |
Definition at line 508 of file Object.h.
|
inline |
Set PolyTan: use PVi_m
keywords to define distorted TAN projection?
Definition at line 988 of file FitsChan.h.
|
inlineinherited |
Set ReportLevel: report level; an integer in the range [0, 3] where 0 is the most verbose.
std::invalid_argument | if level is not in range [0, 3] |
Definition at line 125 of file Channel.h.
|
inline |
Set SipOK: use Spitzer Space Telescope keywords to define distortion?
Definition at line 971 of file FitsChan.h.
|
inline |
Set SipReplace: ignore inverse SIP coefficients (replacing them with fit coefficients or an iterative inverse)?
Definition at line 977 of file FitsChan.h.
|
inlineinherited |
Set Skip: skip irrelevant data on input?
Definition at line 135 of file Channel.h.
|
inlineinherited |
Set Strict: generate errors instead of warnings?
Definition at line 138 of file Channel.h.
|
inline |
Set TabOK: should the FITS "-TAB" algorithm be recognised?
Definition at line 982 of file FitsChan.h.
|
inlineinherited |
Set UseDefs: allow use of default values for Object attributes?
Definition at line 220 of file Object.h.
|
inline |
Set Warnings attribute, which controls the issuing of warnings about selected conditions when an Object or keyword is read from or written to a FitsChan.
Definition at line 994 of file FitsChan.h.
|
inherited |
Print a textual description the object to an ostream.
[in,out] | os | The stream to which to write the string representation. |
[in] | showComments | Show comments? |
Definition at line 152 of file Object.cc.
|
inherited |
Return a textual description the object as a string.
[in] | showComments | Show comments? |
Definition at line 159 of file Object.cc.
|
inline |
Write all the cards in the channel to standard output.
Definition at line 999 of file FitsChan.h.
|
inlineinherited |
Has this attribute been explicitly set (and not subsequently cleared)?
false
.std::runtime_error | if an error results. |
Definition at line 249 of file Object.h.
FitsKeyState ast::FitsChan::testFits | ( | std::string const & | name = "" | ) | const |
Determine if a card is present, and if so, whether it has a value.
[in] | name | Name of keyword, or empty for the current card |
Definition at line 129 of file FitsChan.cc.
|
inlineinherited |
Unlock this object previously locked using lock, so that other threads can use this object.
See lock for further details.
[in] | report | If true, an error will be reported if the supplied Object, or any Object contained within the supplied Object, is not currently locked by the running thread. If false, such Objects will be left unchanged, and no error will be reported. |
Definition at line 279 of file Object.h.
|
inherited |
Return a KeyMap holding the text of any warnings issued as a result of the previous invocation of read or write.
If no warnings were issued, an empty KeyMap will be returned. Such warnings are non-fatal and will not prevent the read or write operation succeeding. However, the converted object may not be identical to the original object in all respects. Differences which would usually be deemed as insignificant in most usual cases will generate a warning, whereas more significant differences will generate an error.
The " Strict" attribute allows this warning facility to be switched off, so that a fatal error is always reported for any conversion error.
Definition at line 64 of file Channel.cc.
|
inherited |
Write an object to a channel.
Definition at line 58 of file Channel.cc.
|
inline |
Write out all cards currently in the channel and clear the channel.
Definition at line 1024 of file FitsChan.h.