LSST Applications  21.0.0-147-g0e635eb1+1acddb5be5,22.0.0+052faf71bd,22.0.0+1ea9a8b2b2,22.0.0+6312710a6c,22.0.0+729191ecac,22.0.0+7589c3a021,22.0.0+9f079a9461,22.0.1-1-g7d6de66+b8044ec9de,22.0.1-1-g87000a6+536b1ee016,22.0.1-1-g8e32f31+6312710a6c,22.0.1-10-gd060f87+016f7cdc03,22.0.1-12-g9c3108e+df145f6f68,22.0.1-16-g314fa6d+c825727ab8,22.0.1-19-g93a5c75+d23f2fb6d8,22.0.1-19-gb93eaa13+aab3ef7709,22.0.1-2-g8ef0a89+b8044ec9de,22.0.1-2-g92698f7+9f079a9461,22.0.1-2-ga9b0f51+052faf71bd,22.0.1-2-gac51dbf+052faf71bd,22.0.1-2-gb66926d+6312710a6c,22.0.1-2-gcb770ba+09e3807989,22.0.1-20-g32debb5+b8044ec9de,22.0.1-23-gc2439a9a+fb0756638e,22.0.1-3-g496fd5d+09117f784f,22.0.1-3-g59f966b+1e6ba2c031,22.0.1-3-g849a1b8+f8b568069f,22.0.1-3-gaaec9c0+c5c846a8b1,22.0.1-32-g5ddfab5d3+60ce4897b0,22.0.1-4-g037fbe1+64e601228d,22.0.1-4-g8623105+b8044ec9de,22.0.1-5-g096abc9+d18c45d440,22.0.1-5-g15c806e+57f5c03693,22.0.1-7-gba73697+57f5c03693,master-g6e05de7fdc+c1283a92b8,master-g72cdda8301+729191ecac,w.2021.39
LSST Data Management Base Package
Classes | Namespaces | Macros | Functions
fits.h File Reference
#include <climits>
#include <string>
#include <set>
#include <boost/format.hpp>
#include "lsst/base.h"
#include "lsst/pex/exceptions.h"
#include "lsst/daf/base.h"
#include "ndarray.h"
#include "lsst/afw/fitsCompression.h"
#include "lsst/afw/fitsDefaults.h"

Go to the source code of this file.

Classes

class  lsst::afw::fits::FitsError
 An exception thrown when problems are found when reading or writing FITS files. More...
 
class  lsst::afw::fits::FitsTypeError
 An exception thrown when a FITS file has the wrong type. More...
 
class  lsst::afw::fits::HeaderIterationFunctor
 Base class for polymorphic functors used to iterator over FITS key headers. More...
 
class  lsst::afw::fits::MemFileManager
 Lifetime-management for memory that goes into FITS memory files. More...
 
struct  lsst::afw::fits::ImageWriteOptions
 Options for writing an image to FITS. More...
 
class  lsst::afw::fits::Fits
 A simple struct that combines the two arguments that must be passed to most cfitsio routines and contains thin and/or templated wrappers around common cfitsio routines. More...
 
class  lsst::afw::fits::HduMoveGuard
 RAII scoped guard for moving the HDU in a Fits object. More...
 

Namespaces

 lsst
 A base class for image defects.
 
 lsst::afw
 
 lsst::afw::fits
 

Macros

#define LSST_FITS_EXCEPT(type, fitsObj, ...)    type(LSST_EXCEPT_HERE, lsst::afw::fits::makeErrorMessage((fitsObj).fptr, (fitsObj).status, __VA_ARGS__))
 A FITS-related replacement for LSST_EXCEPT that takes an additional Fits object and uses makeErrorMessage(fitsObj.fptr, fitsObj.status, ...) to construct the message. More...
 
#define LSST_FITS_CHECK_STATUS(fitsObj, ...)    if ((fitsObj).status != 0) throw LSST_FITS_EXCEPT(lsst::afw::fits::FitsError, fitsObj, __VA_ARGS__)
 Throw a FitsError exception if the status of the given Fits object is nonzero. More...
 

Functions

std::string lsst::afw::fits::makeErrorMessage (std::string const &fileName="", int status=0, std::string const &msg="")
 Return an error message reflecting FITS I/O errors. More...
 
std::string lsst::afw::fits::makeErrorMessage (std::string const &fileName, int status, boost::format const &msg)
 
std::string lsst::afw::fits::makeErrorMessage (void *fptr, int status=0, std::string const &msg="")
 Return an error message reflecting FITS I/O errors. More...
 
std::string lsst::afw::fits::makeErrorMessage (void *fptr, int status, boost::format const &msg)
 
std::string lsst::afw::fits::makeLimitedFitsHeader (lsst::daf::base::PropertySet const &metadata, std::set< std::string > const &excludeNames={})
 Format a PropertySet into an FITS header string in a simplistic fashion. More...
 
template<typename T >
int lsst::afw::fits::getBitPix ()
 Return the cfitsio integer BITPIX code for the given data type. More...
 
template<typename T , int N, int C>
ndarray::Array< T const, N, N > const lsst::afw::fits::makeContiguousArray (ndarray::Array< T, N, C > const &array)
 Construct a contiguous ndarray. More...
 
std::shared_ptr< daf::base::PropertyList > lsst::afw::fits::combineMetadata (std::shared_ptr< const daf::base::PropertyList > first, std::shared_ptr< const daf::base::PropertyList > second)
 Combine two sets of metadata in a FITS-appropriate fashion. More...
 
std::shared_ptr< daf::base::PropertyList > lsst::afw::fits::readMetadata (std::string const &fileName, int hdu=DEFAULT_HDU, bool strip=false)
 Read FITS header. More...
 
std::shared_ptr< daf::base::PropertyList > lsst::afw::fits::readMetadata (fits::MemFileManager &manager, int hdu=DEFAULT_HDU, bool strip=false)
 Read FITS header. More...
 
std::shared_ptr< daf::base::PropertyList > lsst::afw::fits::readMetadata (fits::Fits &fitsfile, bool strip=false)
 Read FITS header. More...
 
void lsst::afw::fits::setAllowImageCompression (bool allow)
 
bool lsst::afw::fits::getAllowImageCompression ()
 

Macro Definition Documentation

◆ LSST_FITS_CHECK_STATUS

#define LSST_FITS_CHECK_STATUS (   fitsObj,
  ... 
)     if ((fitsObj).status != 0) throw LSST_FITS_EXCEPT(lsst::afw::fits::FitsError, fitsObj, __VA_ARGS__)

Throw a FitsError exception if the status of the given Fits object is nonzero.

Definition at line 111 of file fits.h.

◆ LSST_FITS_EXCEPT

#define LSST_FITS_EXCEPT (   type,
  fitsObj,
  ... 
)     type(LSST_EXCEPT_HERE, lsst::afw::fits::makeErrorMessage((fitsObj).fptr, (fitsObj).status, __VA_ARGS__))

A FITS-related replacement for LSST_EXCEPT that takes an additional Fits object and uses makeErrorMessage(fitsObj.fptr, fitsObj.status, ...) to construct the message.

Definition at line 105 of file fits.h.