|
casacore
|
#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 ()=default |
| 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? | |
| 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. | |
| Public Member Functions inherited from casacore::ImageInterface< Float > | |
| ImageInterface () | |
| virtual | ~ImageInterface () |
| virtual MaskedLattice< Float > * | cloneML () const |
| Make a copy of the derived object (reference semantics). | |
| virtual Bool | setUnits (const Unit &newUnits) |
| Function which get and set the units associated with the image pixels (i.e. | |
| virtual const Unit & | units () const |
| virtual Bool | setCoordinateInfo (const CoordinateSystem &coords) |
| Functions to set or replace the coordinate information in the Image Returns False on failure, e.g. | |
| const CoordinateSystem & | coordinates () const |
| virtual LELCoordinates | lelCoordinates () const |
| Function to get a LELCoordinate object containing the coordinates. | |
| LoggerHolder & | logger () |
| Get access to the LoggerHolder. | |
| LogIO & | logSink () |
| Allow messages to be logged to this ImageInterface. | |
| void | appendLog (const LoggerHolder &other) |
| Add the messages from the other image logger to this one. | |
| const TableRecord & | miscInfo () const |
| Often we have miscellaneous information we want to attach to an image. | |
| virtual Bool | setMiscInfo (const RecordInterface &newInfo) |
| const ImageInfo & | imageInfo () const |
| The ImageInfo object contains some miscellaneous information about the image which unlike that stored in MiscInfo, has a standard list of things, such as the restoring beam. | |
| ImageInfo & | rwImageInfo () |
| Get non-const access to the ImageInfo. | |
| virtual Bool | setImageInfo (const ImageInfo &info) |
| virtual ImageAttrHandler & | attrHandler (Bool createHandler=False) |
| Get access to the attribute handler. | |
| ImageAttrHandler & | roAttrHandler () const |
| Bool | canDefineRegion () const |
| Can the image handle region definition? | |
| virtual ImageRegion | makeMask (const String &name, Bool defineAsRegion=True, Bool setAsDefaultMask=True, Bool initialize=False, Bool value=True) |
| Make a mask which is suitable for the type of image. | |
| virtual void | defineRegion (const String &name, const ImageRegion ®ion, RegionHandler::GroupType, Bool overwrite=False) |
| Define a region/mask belonging to the image. | |
| virtual Bool | hasRegion (const String ®ionName, RegionHandler::GroupType=RegionHandler::Any) const |
| Does the image have a region with the given name? | |
| virtual ImageRegion * | getImageRegionPtr (const String &name, RegionHandler::GroupType=RegionHandler::Any, Bool throwIfUnknown=True) const |
| Get a region/mask belonging to the image from the given group (which can be Any). | |
| virtual void | renameRegion (const String &newName, const String &oldName, RegionHandler::GroupType=RegionHandler::Any, Bool overwrite=False) |
| Rename a region. | |
| virtual void | removeRegion (const String &name, RegionHandler::GroupType=RegionHandler::Any, Bool throwIfUnknown=True) |
| Remove a region/mask belonging to the image from the given group (which can be Any). | |
| virtual Vector< String > | regionNames (RegionHandler::GroupType=RegionHandler::Any) const |
| Get the names of all regions/masks. | |
| virtual void | useMask (MaskSpecifier=MaskSpecifier()) |
| Use the mask as specified. | |
| virtual void | setDefaultMask (const String ®ionName) |
| Set the default pixelmask to the mask with the given name (which has to exist in the "masks" group). | |
| virtual String | getDefaultMask () const |
| Get the name of the default pixelmask. | |
| ImageRegion | getRegion (const String ®ionName, RegionHandler::GroupType=RegionHandler::Any) const |
| Get a region belonging to the image. | |
| String | makeUniqueRegionName (const String &rootName, uInt startNumber=1) const |
| Make a unique region name from the given root name, thus make it such that the name is not already in use for a region or mask. | |
| Bool | toRecord (String &error, RecordInterface &outRec) |
| Save and restore an ImageInterface object to or from a state Record. | |
| Bool | fromRecord (String &error, const RecordInterface &inRec) |
| Public Member Functions inherited from casacore::MaskedLattice< Float > | |
| MaskedLattice () | |
| Default constructor. | |
| virtual | ~MaskedLattice () |
| a virtual destructor is needed so that it will use the actual destructor in the derived class | |
| virtual Lattice< Float > * | clone () const |
| Make a copy of the derived object (reference semantics). | |
| const LatticeRegion & | region () const |
| Get the region used. | |
| Bool | getMask (COWPtr< Array< Bool > > &buffer, Bool removeDegenerateAxes=False) const |
| Get the mask or a slice from the mask. | |
| Bool | getMaskSlice (COWPtr< Array< Bool > > &buffer, const Slicer §ion, Bool removeDegenerateAxes=False) const |
| Public Member Functions inherited from casacore::Lattice< Float > | |
| virtual | ~Lattice () |
| a virtual destructor is needed so that it will use the actual destructor in the derived class | |
| Float | operator() (const IPosition &where) const |
| Return the value of the single element located at the argument IPosition. | |
| virtual Float | getAt (const IPosition &where) const |
| virtual void | putAt (const Float &value, const IPosition &where) |
| Put the value of a single element. | |
| Bool | get (COWPtr< Array< Float > > &buffer, Bool removeDegenerateAxes=False) const |
| Functions which extract an Array of values from a Lattice. | |
| Bool | getSlice (COWPtr< Array< Float > > &buffer, const Slicer §ion, Bool removeDegenerateAxes=False) const |
| void | putSlice (const Array< Float > &sourceBuffer, const IPosition &where, const IPosition &stride) |
| A function which places an Array of values within this instance of the Lattice at the location specified by the IPosition "where", incrementing by "stride". | |
| void | put (const Array< Float > &sourceBuffer) |
| virtual void | set (const Float &value) |
| Set all elements in the Lattice to the given value. | |
| virtual void | apply (Float(*function)(Float)) |
| Replace every element, x, of the Lattice with the result of f(x). | |
| void | operator+= (const Lattice< Float > &other) |
| Add, subtract, multiple, or divide by another Lattice. | |
| void | operator-= (const Lattice< Float > &other) |
| void | operator*= (const Lattice< Float > &other) |
| void | operator/= (const Lattice< Float > &other) |
| virtual void | copyData (const Lattice< Float > &from) |
| Copy the data from the given lattice to this one. | |
| virtual void | copyDataTo (Lattice< Float > &to) const |
| Copy the data from this lattice to the given lattice. | |
| virtual LatticeIterInterface< Float > * | makeIter (const LatticeNavigator &navigator, Bool useRef) const |
| These functions are used by the LatticeIterator class to generate an iterator of the correct type for a specified Lattice. | |
| Public Member Functions inherited from casacore::LatticeBase | |
| virtual | ~LatticeBase () |
| A virtual destructor is needed so that it will use the actual destructor in the derived class. | |
| virtual Bool | canReferenceArray () const |
| Can the lattice data be referenced as an array section? | |
| virtual void | save (const String &fileName) const |
| Save the image in an AipsIO file with the given name. | |
| virtual Bool | lock (FileLocker::LockType, uInt nattempts) |
| It is strongly recommended to use class LatticeLocker to handle lattice locking. | |
| virtual void | unlock () |
| virtual Bool | hasLock (FileLocker::LockType) const |
| virtual void | resync () |
| Resynchronize the Lattice object with the lattice file. | |
| virtual void | flush () |
| Flush the data (but do not unlock). | |
| virtual uInt | ndim () const |
| Return the number of axes in this Lattice. | |
| virtual size_t | nelements () const |
| Return the total number of elements in this Lattice. | |
| size_t | size () const |
| Bool | conform (const LatticeBase &other) const |
| Return a value of "True" if this instance of Lattice and 'other' have the same shape, otherwise returns a value of "False". | |
| IPosition | niceCursorShape (uInt maxPixels) const |
| Returns a recommended cursor shape for iterating through all the pixels in the Lattice. | |
| IPosition | niceCursorShape () const |
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. | |
| static String | className () |
| returns "FITSImage". | |
Protected Member Functions | |
| void | setMaskZero (Bool filterZero) |
| Set the masking of values 0.0. | |
| Protected Member Functions inherited from casacore::ImageInterface< Float > | |
| ImageInterface & | operator= (const ImageInterface &other) |
| Assignment (copy semantics) is only useful for derived classes. | |
| Bool | restoreImageInfo (const RecordInterface &rec) |
| Restore the image info from the record. | |
| void | setLogMember (const LoggerHolder &logger) |
| Set the image logger variable. | |
| void | setImageInfoMember (const ImageInfo &imageInfo) |
| Set the image info variable. | |
| void | setCoordsMember (const CoordinateSystem &coords) |
| Set the coordinate system variable. | |
| void | setUnitMember (const Unit &unit) |
| Set the unit variable. | |
| void | setMiscInfoMember (const RecordInterface &rec) |
| Set the miscinfo variable. | |
| RegionHandler * | getRegionHandler () |
| Get access to the region handler. | |
| Protected Member Functions inherited from casacore::MaskedLattice< Float > | |
| MaskedLattice< Float > & | operator= (const MaskedLattice< Float > &) |
| Assignment can only be used by derived classes. | |
| Protected Member Functions inherited from casacore::Lattice< Float > | |
| void | handleMathTo (Lattice< Bool > &, int) const |
| Lattice () | |
| Define default constructor to satisfy compiler. | |
| virtual void | handleMath (const Lattice< Float > &from, int oper) |
| Handle the Math operators (+=, -=, *=, /=). | |
| Lattice< Float > & | operator= (const Lattice< Float > &) |
| Protected Member Functions inherited from casacore::LatticeBase | |
| LatticeBase () | |
| Define default constructor to be used by derived classes. | |
| LatticeBase (const LatticeBase &) | |
| Copy constructor and assignment can only be used by derived classes. | |
| LatticeBase & | operator= (const LatticeBase &) |
| void | throwBoolMath () const |
| Throw an exception for arithmetic on a Bool Lattice. | |
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 |
| std::shared_ptr< TiledFileAccess > | pTiledFile_p |
| std::unique_ptr< 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.
This provides native access to FITS images.
Definition at line 106 of file FITSImage.h.
|
explicit |
Construct a FITSImage from the disk FITS file name and extension and apply mask.
References name(), and whichHDU().
Referenced by FITSImage(), operator=(), and reopenIfNeeded().
| casacore::FITSImage::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.
References casacore::mask(), name(), and whichHDU().
| casacore::FITSImage::FITSImage | ( | const FITSImage & | other | ) |
Copy constructor (reference semantics).
References FITSImage().
|
virtualdefault |
Destructor does nothing.
|
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 >.
|
static |
returns "FITSImage".
Added so callers don't require an object to get the image type.
|
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 |
Make a copy of the object with new (reference semantics).
Implements casacore::ImageInterface< Float >.
Reimplemented in casacore::FITSErrorImage.
References casacore::ImageInterface< Float >::ImageInterface().
|
private |
Crack an image extension header.
References casacore::ImageInterface< Float >::imageInfo(), casacore::ImageInterface< Float >::miscInfo(), casacore::offset(), casacore::RecordInterface(), and shape().
|
private |
Crack a primary header.
References casacore::ImageInterface< Float >::imageInfo(), casacore::ImageInterface< Float >::miscInfo(), casacore::offset(), casacore::RecordInterface(), and shape().
|
virtual |
Return the data type (TpFloat).
Reimplemented from casacore::Lattice< Float >.
Referenced by getImageAttributes().
|
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 |
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 |
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.
|
private |
Fish things out of the FITS file.
References dataType(), casacore::ImageInterface< Float >::miscInfo(), name(), casacore::offset(), casacore::RecordInterface(), shape(), and whichHDU().
|
virtual |
Get the region used.
There is no region. Always returns 0.
Implements casacore::MaskedLattice< Float >.
|
virtual |
FITSimage always has a pixel mask so returns True.
Reimplemented from casacore::MaskedLattice< Float >.
|
virtual |
Get the image type (returns FITSImage).
Implements casacore::ImageInterface< Float >.
Reimplemented in casacore::FITSErrorImage.
|
inline |
|
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 |
The lattice is paged to disk.
Reimplemented from casacore::LatticeBase.
|
virtual |
The lattice is persistent.
Reimplemented from casacore::LatticeBase.
|
virtual |
The FITSImage is not writable.
Reimplemented from casacore::LatticeBase.
|
virtual |
Returns the name of the disk file.
Implements casacore::ImageInterface< Float >.
References casacore::False.
Referenced by casacore::FITSErrorImage::FITSErrorImage(), casacore::FITSErrorImage::FITSErrorImage(), FITSImage(), FITSImage(), getImageAttributes(), and openFITSImage().
|
virtual |
Check class invariants.
Implements casacore::ImageInterface< Float >.
|
private |
Open the image (used by setup and reopen).
|
static |
Assignment (reference semantics).
References FITSImage().
Get access to the pixelmask.
FITSImage always has a pixel mask.
Reimplemented from casacore::MaskedLattice< Float >.
|
static |
Register the open function.
|
virtual |
Reopen a temporarily closed image.
Reimplemented from casacore::LatticeBase.
Referenced by reopenIfNeeded().
|
inlineprivate |
Reopen the image if needed.
Definition at line 287 of file FITSImage.h.
References FITSImage(), isClosed_p, and reopen().
|
virtual |
Function which changes the shape of the FITSImage.
Throws an exception as FITSImage is not writable.
Implements casacore::ImageInterface< Float >.
|
virtual |
Set the cache size as to "fit" the indicated path.
Reimplemented from casacore::LatticeBase.
|
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.
|
protected |
Set the masking of values 0.0.
|
virtual |
Set the maximum (allowed) cache size as indicated.
Reimplemented from casacore::LatticeBase.
|
private |
Setup the object (used by constructors).
|
virtual |
return the shape of the FITSImage
Implements casacore::LatticeBase.
Referenced by crackExtHeader(), crackHeader(), and getImageAttributes().
|
virtual |
Report on cache success.
Reimplemented from casacore::LatticeBase.
|
virtual |
Temporarily close the image.
Reimplemented from casacore::LatticeBase.
|
inline |
Return the HDU number.
Definition at line 232 of file FITSImage.h.
References whichHDU_p.
Referenced by casacore::FITSErrorImage::FITSErrorImage(), casacore::FITSErrorImage::FITSErrorImage(), FITSImage(), FITSImage(), and getImageAttributes().
|
private |
Definition at line 284 of file FITSImage.h.
|
private |
Definition at line 278 of file FITSImage.h.
Referenced by internalDataType().
|
private |
Definition at line 279 of file FITSImage.h.
|
private |
Definition at line 281 of file FITSImage.h.
|
private |
Definition at line 267 of file FITSImage.h.
|
private |
Definition at line 277 of file FITSImage.h.
|
private |
Definition at line 280 of file FITSImage.h.
Referenced by reopenIfNeeded().
|
private |
Definition at line 276 of file FITSImage.h.
|
private |
Definition at line 268 of file FITSImage.h.
|
private |
Definition at line 266 of file FITSImage.h.
|
private |
Definition at line 273 of file FITSImage.h.
Definition at line 270 of file FITSImage.h.
|
private |
Definition at line 269 of file FITSImage.h.
|
private |
Definition at line 272 of file FITSImage.h.
|
private |
Definition at line 271 of file FITSImage.h.
|
private |
Definition at line 274 of file FITSImage.h.
|
private |
Definition at line 275 of file FITSImage.h.
|
private |
Definition at line 283 of file FITSImage.h.
Referenced by whichHDU().
|
private |
Definition at line 282 of file FITSImage.h.