Class providing native access to FITS images. More...
#include <FITSImage.h>
Public Member Functions | |
FITSImage (const String &name, uInt whichRep=0, uInt whichHDU=0) | |
Construct a FITSImage from the disk FITS file name and extension and apply mask. | |
FITSImage (const String &name, const MaskSpecifier &mask, uInt whichRep=0, uInt whichHDU=0) | |
Construct a FITSImage from the disk FITS file name and extension and apply mask or not. | |
FITSImage (const FITSImage &other) | |
Copy constructor (reference semantics). | |
virtual | ~FITSImage () |
Destructor does nothing. | |
FITSImage & | operator= (const FITSImage &other) |
Assignment (reference semantics). | |
virtual ImageInterface< Float > * | cloneII () const |
Make a copy of the object with new (reference semantics). | |
virtual String | imageType () const |
Get the image type (returns FITSImage). | |
virtual void | resize (const TiledShape &newShape) |
Function which changes the shape of the FITSImage. | |
virtual Bool | isMasked () const |
Has the object really a mask? The FITSImage always has a pixel mask and never has a region mask so this always returns True. | |
virtual Bool | hasPixelMask () const |
FITSimage always has a pixel mask so returns True. | |
virtual const Lattice< Bool > & | pixelMask () const |
Get access to the pixelmask. | |
virtual Lattice< Bool > & | pixelMask () |
virtual Bool | doGetMaskSlice (Array< Bool > &buffer, const Slicer §ion) |
Do the actual get of the mask data. | |
virtual const LatticeRegion * | getRegionPtr () const |
Get the region used. | |
virtual Bool | doGetSlice (Array< Float > &buffer, const Slicer &theSlice) |
Do the actual get of the data. | |
virtual void | doPutSlice (const Array< Float > &sourceBuffer, const IPosition &where, const IPosition &stride) |
The FITSImage is not writable, so this throws an exception. | |
virtual Bool | isPaged () const |
The lattice is paged to disk. | |
virtual Bool | isPersistent () const |
The lattice is persistent. | |
virtual Bool | isWritable () const |
The FITSImage is not writable. | |
virtual String | name (Bool stripPath=False) const |
Returns the name of the disk file. | |
virtual IPosition | shape () const |
return the shape of the FITSImage | |
virtual uInt | advisedMaxPixels () const |
Returns the maximum recommended number of pixels for a cursor. | |
virtual IPosition | doNiceCursorShape (uInt maxPixels) const |
Help the user pick a cursor for most efficient access if they only want pixel values and don't care about the order or dimension of the cursor. | |
virtual void | tempClose () |
Temporarily close the image. | |
virtual void | reopen () |
Reopen a temporarily closed image. | |
virtual Bool | ok () const |
Check class invariants. | |
virtual DataType | dataType () const |
Return the data type (TpFloat). | |
DataType | internalDataType () const |
Return the (internal) data type. | |
uInt | whichHDU () const |
Return the HDU number. | |
virtual uInt | maximumCacheSize () const |
Maximum size - not necessarily all used. | |
virtual void | setMaximumCacheSize (uInt howManyPixels) |
Set the maximum (allowed) cache size as indicated. | |
virtual void | setCacheSizeFromPath (const IPosition &sliceShape, const IPosition &windowStart, const IPosition &windowLength, const IPosition &axisPath) |
Set the cache size as to "fit" the indicated path. | |
virtual void | setCacheSizeInTiles (uInt howManyTiles) |
Set the actual cache size for this Array to be be big enough for the indicated number of tiles. | |
virtual void | clearCache () |
Clears and frees up the caches, but the maximum allowed cache size is unchanged from when setCacheSize was called. | |
virtual void | showCacheStatistics (ostream &os) const |
Report on cache success. | |
Static Public Member Functions | |
static LatticeBase * | openFITSImage (const String &name, const MaskSpecifier &) |
Function to open a FITS image (new parser). | |
static void | registerOpenFunction () |
Register the open function. | |
static String | get_fitsname (const String &fullname) |
Separate any extension specification and return the pure fitsname. | |
static uInt | get_hdunum (const String &fullname) |
Get the extension index for any extension specification given in the full name. | |
Protected Member Functions | |
void | setMaskZero (Bool filterZero) |
Set the masking of values 0.0. | |
Private Member Functions | |
void | reopenIfNeeded () const |
Reopen the image if needed. | |
void | setup () |
Setup the object (used by constructors). | |
void | open () |
Open the image (used by setup and reopen). | |
void | getImageAttributes (CoordinateSystem &cSys, IPosition &shape, ImageInfo &info, Unit &brightnessUnit, RecordInterface &miscInfo, Int &recsize, Int &recno, FITS::ValueType &dataType, Float &scale, Float &offset, uChar &uCharMagic, Short &shortMagic, Int &longMagic, Bool &hasBlanks, const String &name, uInt whichRep, uInt whichHDU) |
Fish things out of the FITS file. | |
template<typename T > | |
void | crackHeader (CoordinateSystem &cSys, IPosition &shape, ImageInfo &imageInfo, Unit &brightnessUnit, RecordInterface &miscInfo, Float &scale, Float &offset, uChar &magicUChar, Short &magicShort, Int &magicLong, Bool &hasBlanks, LogIO &os, FitsInput &infile, uInt whichRep) |
Crack a primary header. | |
template<typename T > | |
void | crackExtHeader (CoordinateSystem &cSys, IPosition &shape, ImageInfo &imageInfo, Unit &brightnessUnit, RecordInterface &miscInfo, Float &scale, Float &offset, uChar &uCharMagic, Short &magicShort, Int &magicLong, Bool &hasBlanks, LogIO &os, FitsInput &infile, uInt whichRep) |
Crack an image extension header. | |
Private Attributes | |
String | name_p |
String | fullname_p |
MaskSpecifier | maskSpec_p |
CountedPtr< TiledFileAccess > | pTiledFile_p |
Lattice< Bool > * | pPixelMask_p |
TiledShape | shape_p |
Float | scale_p |
Float | offset_p |
Short | shortMagic_p |
uChar | uCharMagic_p |
Int | longMagic_p |
Bool | hasBlanks_p |
DataType | dataType_p |
Int64 | fileOffset_p |
Bool | isClosed_p |
Bool | filterZeroMask_p |
uInt | whichRep_p |
uInt | whichHDU_p |
Bool | _hasBeamsTable |
Class providing native access to FITS images.
Public interface
This class provides native access to FITS images. 64bit, 32bit floating point, 32 bit and 16bit integer FITS images are presently supported.
A FITSImage provides native access to FITS images by accessing them with the TiledFileAccess class. The FITSImage is read only. We could implement a writable FITSImage but putting the mask would lose data values (uses magic blanking) and FITS is really meant as an interchange medium, not an internal format.
Because FITS uses magic value blanking, the mask is generated on the fly as needed.
FITSImage im("in.fits"); LogIO logger(or); ImageStatistics<Float> stats(im, logger); Bool ok = stats.display(); // Display statistics
This provides native access to FITS images.
Definition at line 108 of file FITSImage.h.
casacore::FITSImage::FITSImage | ( | const String & | name, | |
const MaskSpecifier & | mask, | |||
uInt | whichRep = 0 , |
|||
uInt | whichHDU = 0 | |||
) |
casacore::FITSImage::FITSImage | ( | const FITSImage & | other | ) |
Copy constructor (reference semantics).
virtual casacore::FITSImage::~FITSImage | ( | ) | [virtual] |
Destructor does nothing.
virtual uInt casacore::FITSImage::advisedMaxPixels | ( | ) | const [virtual] |
Returns the maximum recommended number of pixels for a cursor.
This is the number of pixels in a tile.
Reimplemented from casacore::Lattice< Float >.
virtual void casacore::FITSImage::clearCache | ( | ) | [virtual] |
Clears and frees up the caches, but the maximum allowed cache size is unchanged from when setCacheSize was called.
Reimplemented from casacore::LatticeBase.
virtual ImageInterface<Float>* casacore::FITSImage::cloneII | ( | ) | const [virtual] |
Make a copy of the object with new (reference semantics).
Implements casacore::ImageInterface< Float >.
Reimplemented in casacore::FITSErrorImage.
void casacore::FITSImage::crackExtHeader | ( | CoordinateSystem & | cSys, | |
IPosition & | shape, | |||
ImageInfo & | imageInfo, | |||
Unit & | brightnessUnit, | |||
RecordInterface & | miscInfo, | |||
Float & | scale, | |||
Float & | offset, | |||
uChar & | uCharMagic, | |||
Short & | magicShort, | |||
Int & | magicLong, | |||
Bool & | hasBlanks, | |||
LogIO & | os, | |||
FitsInput & | infile, | |||
uInt | whichRep | |||
) | [inline, private] |
Crack an image extension header.
void casacore::FITSImage::crackHeader | ( | CoordinateSystem & | cSys, | |
IPosition & | shape, | |||
ImageInfo & | imageInfo, | |||
Unit & | brightnessUnit, | |||
RecordInterface & | miscInfo, | |||
Float & | scale, | |||
Float & | offset, | |||
uChar & | magicUChar, | |||
Short & | magicShort, | |||
Int & | magicLong, | |||
Bool & | hasBlanks, | |||
LogIO & | os, | |||
FitsInput & | infile, | |||
uInt | whichRep | |||
) | [inline, private] |
Crack a primary header.
virtual DataType casacore::FITSImage::dataType | ( | ) | const [virtual] |
Return the data type (TpFloat).
Reimplemented from casacore::Lattice< Float >.
virtual Bool casacore::FITSImage::doGetMaskSlice | ( | Array< Bool > & | buffer, | |
const Slicer & | section | |||
) | [virtual] |
Do the actual get of the mask data.
The return value is always False, thus the buffer does not reference another array.
Reimplemented from casacore::MaskedLattice< Float >.
virtual Bool casacore::FITSImage::doGetSlice | ( | Array< Float > & | buffer, | |
const Slicer & | theSlice | |||
) | [virtual] |
Do the actual get of the data.
Returns False as the data do not reference another Array
Implements casacore::Lattice< Float >.
Reimplemented in casacore::FITSErrorImage.
Help the user pick a cursor for most efficient access if they only want pixel values and don't care about the order or dimension of the cursor.
Reimplemented from casacore::LatticeBase.
virtual void casacore::FITSImage::doPutSlice | ( | const Array< Float > & | sourceBuffer, | |
const IPosition & | where, | |||
const IPosition & | stride | |||
) | [virtual] |
The FITSImage is not writable, so this throws an exception.
Implements casacore::Lattice< Float >.
Reimplemented in casacore::FITSErrorImage.
Separate any extension specification and return the pure fitsname.
Get the extension index for any extension specification given in the full name.
void casacore::FITSImage::getImageAttributes | ( | CoordinateSystem & | cSys, | |
IPosition & | shape, | |||
ImageInfo & | info, | |||
Unit & | brightnessUnit, | |||
RecordInterface & | miscInfo, | |||
Int & | recsize, | |||
Int & | recno, | |||
FITS::ValueType & | dataType, | |||
Float & | scale, | |||
Float & | offset, | |||
uChar & | uCharMagic, | |||
Short & | shortMagic, | |||
Int & | longMagic, | |||
Bool & | hasBlanks, | |||
const String & | name, | |||
uInt | whichRep, | |||
uInt | whichHDU | |||
) | [private] |
virtual const LatticeRegion* casacore::FITSImage::getRegionPtr | ( | ) | const [virtual] |
Get the region used.
There is no region. Always returns 0.
Implements casacore::MaskedLattice< Float >.
virtual Bool casacore::FITSImage::hasPixelMask | ( | ) | const [virtual] |
FITSimage always has a pixel mask so returns True.
Reimplemented from casacore::MaskedLattice< Float >.
virtual String casacore::FITSImage::imageType | ( | ) | const [virtual] |
Get the image type (returns FITSImage).
Implements casacore::ImageInterface< Float >.
Reimplemented in casacore::FITSErrorImage.
DataType casacore::FITSImage::internalDataType | ( | ) | const [inline] |
virtual Bool casacore::FITSImage::isMasked | ( | ) | const [virtual] |
Has the object really a mask? The FITSImage always has a pixel mask and never has a region mask so this always returns True.
Reimplemented from casacore::MaskedLattice< Float >.
virtual Bool casacore::FITSImage::isPaged | ( | ) | const [virtual] |
The lattice is paged to disk.
Reimplemented from casacore::LatticeBase.
virtual Bool casacore::FITSImage::isPersistent | ( | ) | const [virtual] |
The lattice is persistent.
Reimplemented from casacore::LatticeBase.
virtual Bool casacore::FITSImage::isWritable | ( | ) | const [virtual] |
The FITSImage is not writable.
Reimplemented from casacore::LatticeBase.
virtual uInt casacore::FITSImage::maximumCacheSize | ( | ) | const [virtual] |
Returns the name of the disk file.
Implements casacore::ImageInterface< Float >.
virtual Bool casacore::FITSImage::ok | ( | ) | const [virtual] |
Check class invariants.
Implements casacore::ImageInterface< Float >.
void casacore::FITSImage::open | ( | ) | [private] |
Open the image (used by setup and reopen).
static LatticeBase* casacore::FITSImage::openFITSImage | ( | const String & | name, | |
const MaskSpecifier & | ||||
) | [static] |
Assignment (reference semantics).
Reimplemented from casacore::LatticeBase.
Reimplemented in casacore::FITSErrorImage.
Reimplemented from casacore::MaskedLattice< Float >.
Get access to the pixelmask.
FITSImage always has a pixel mask.
Reimplemented from casacore::MaskedLattice< Float >.
static void casacore::FITSImage::registerOpenFunction | ( | ) | [static] |
Register the open function.
virtual void casacore::FITSImage::reopen | ( | ) | [virtual] |
Reopen a temporarily closed image.
Reimplemented from casacore::LatticeBase.
Referenced by reopenIfNeeded().
void casacore::FITSImage::reopenIfNeeded | ( | ) | const [inline, private] |
Reopen the image if needed.
Definition at line 285 of file FITSImage.h.
References isClosed_p, and reopen().
virtual void casacore::FITSImage::resize | ( | const TiledShape & | newShape | ) | [virtual] |
Function which changes the shape of the FITSImage.
Throws an exception as FITSImage is not writable.
Implements casacore::ImageInterface< Float >.
virtual void casacore::FITSImage::setCacheSizeFromPath | ( | const IPosition & | sliceShape, | |
const IPosition & | windowStart, | |||
const IPosition & | windowLength, | |||
const IPosition & | axisPath | |||
) | [virtual] |
Set the cache size as to "fit" the indicated path.
Reimplemented from casacore::LatticeBase.
virtual void casacore::FITSImage::setCacheSizeInTiles | ( | uInt | howManyTiles | ) | [virtual] |
Set the actual cache size for this Array to be be big enough for the indicated number of tiles.
This cache is not shared with PagedArrays in other rows and is always clipped to be less than the maximum value set using the setMaximumCacheSize member function. tiles. Tiles are cached using a first in first out algorithm.
Reimplemented from casacore::LatticeBase.
void casacore::FITSImage::setMaskZero | ( | Bool | filterZero | ) | [protected] |
Set the masking of values 0.0.
virtual void casacore::FITSImage::setMaximumCacheSize | ( | uInt | howManyPixels | ) | [virtual] |
Set the maximum (allowed) cache size as indicated.
Reimplemented from casacore::LatticeBase.
void casacore::FITSImage::setup | ( | ) | [private] |
Setup the object (used by constructors).
virtual IPosition casacore::FITSImage::shape | ( | ) | const [virtual] |
return the shape of the FITSImage
Implements casacore::LatticeBase.
virtual void casacore::FITSImage::showCacheStatistics | ( | ostream & | os | ) | const [virtual] |
Report on cache success.
Reimplemented from casacore::LatticeBase.
virtual void casacore::FITSImage::tempClose | ( | ) | [virtual] |
Temporarily close the image.
Reimplemented from casacore::LatticeBase.
uInt casacore::FITSImage::whichHDU | ( | ) | const [inline] |
Bool casacore::FITSImage::_hasBeamsTable [private] |
Definition at line 282 of file FITSImage.h.
DataType casacore::FITSImage::dataType_p [private] |
Definition at line 276 of file FITSImage.h.
Referenced by internalDataType().
Int64 casacore::FITSImage::fileOffset_p [private] |
Definition at line 277 of file FITSImage.h.
Bool casacore::FITSImage::filterZeroMask_p [private] |
Definition at line 279 of file FITSImage.h.
String casacore::FITSImage::fullname_p [private] |
Definition at line 265 of file FITSImage.h.
Bool casacore::FITSImage::hasBlanks_p [private] |
Definition at line 275 of file FITSImage.h.
Bool casacore::FITSImage::isClosed_p [private] |
Definition at line 278 of file FITSImage.h.
Referenced by reopenIfNeeded().
Int casacore::FITSImage::longMagic_p [private] |
Definition at line 274 of file FITSImage.h.
MaskSpecifier casacore::FITSImage::maskSpec_p [private] |
Definition at line 266 of file FITSImage.h.
String casacore::FITSImage::name_p [private] |
Definition at line 264 of file FITSImage.h.
Float casacore::FITSImage::offset_p [private] |
Definition at line 271 of file FITSImage.h.
Lattice<Bool>* casacore::FITSImage::pPixelMask_p [private] |
Definition at line 268 of file FITSImage.h.
Definition at line 267 of file FITSImage.h.
Float casacore::FITSImage::scale_p [private] |
Definition at line 270 of file FITSImage.h.
TiledShape casacore::FITSImage::shape_p [private] |
Definition at line 269 of file FITSImage.h.
Short casacore::FITSImage::shortMagic_p [private] |
Definition at line 272 of file FITSImage.h.
uChar casacore::FITSImage::uCharMagic_p [private] |
Definition at line 273 of file FITSImage.h.
uInt casacore::FITSImage::whichHDU_p [private] |
Definition at line 281 of file FITSImage.h.
Referenced by whichHDU().
uInt casacore::FITSImage::whichRep_p [private] |
Definition at line 280 of file FITSImage.h.