casa::FITSImage Class Reference
[Images]

#include <FITSImage.h>

Inheritance diagram for casa::FITSImage:

Inheritance graph
[legend]
Collaboration diagram for casa::FITSImage:

Collaboration graph
[legend]
List of all members.

Detailed Description

Class providing native access to FITS images.

Intended use:

Part of API

Review Status

Test programs:
tFITSImage

Prerequisite

ImageInterface FITSMask

Etymology

This class provides native access to FITS images. 64bit, 32bit floating point, 32 bit and 16bit integer FITS images are presently supported.

Synopsis

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.

Example

       FITSImage im("in.fits"); 
       LogIO logger(or);
       ImageStatistics<Float> stats(im, logger);
       Bool ok = stats.display();                              // Display statistics

Motivation

This provides native access to FITS images.

Definition at line 106 of file FITSImage.h.

Public Member Functions

 FITSImage (const String &name, Bool oldParser=False, uInt whichRep=0)
 Construct a FITSImage from the disk FITS file name and apply mask.
 FITSImage (const String &name, const MaskSpecifier &mask, Bool oldParser=False, uInt whichRep=0)
 Construct a FITSImage from the disk FITS file name and apply mask or not.
 FITSImage (const FITSImage &other)
 Copy constructor (reference semantics).
 ~FITSImage ()
 Destructor does nothing.
FITSImageoperator= (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 Bool doGetMaskSlice (Array< Bool > &buffer, const Slicer &section)
 Do the actual get of the mask data.
virtual const LatticeRegiongetRegionPtr () 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.
DataType dataType () const
 Return the (internal) data type (TpFloat or TpShort).
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.
virtual const Lattice< Bool > & pixelMask () const
 Get access to the pixelmask.
virtual Lattice< Bool > & pixelMask ()

Static Public Member Functions

static LatticeBaseopenFITSImage (const String &name, const MaskSpecifier &)
 Function to open a FITS image (new parser).
static void registerOpenFunction ()
 Register the open function.

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, Short &shortMagic, Int &longMagic, Bool &hasBlanks, const String &name, Bool oldParser, uInt whichRep)
 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, Short &magicShort, Int &magicLong, Bool &hasBlanks, LogIO &os, FitsInput &infile, uInt whichRep)
 Crack the header.
template<typename T>
void crackHeaderOld (CoordinateSystem &cSys, IPosition &shape, ImageInfo &imageInfo, Unit &brightnessUnit, RecordInterface &miscInfo, Float &scale, Float &offset, Short &magicShort, Int &magicLong, Bool &hasBlanks, LogIO &os, FitsInput &infile)
 Old version.

Private Attributes

String name_p
MaskSpecifier maskSpec_p
CountedPtr< TiledFileAccesspTiledFile_p
Lattice< Bool > * pPixelMask_p
TiledShape shape_p
Float scale_p
Float offset_p
Short shortMagic_p
Int longMagic_p
Bool hasBlanks_p
DataType dataType_p
Int64 fileOffset_p
Bool isClosed_p
Bool oldParser_p
uInt whichRep_p


Constructor & Destructor Documentation

casa::FITSImage::FITSImage ( const String name,
Bool  oldParser = False,
uInt  whichRep = 0 
) [explicit]

Construct a FITSImage from the disk FITS file name and apply mask.

casa::FITSImage::FITSImage ( const String name,
const MaskSpecifier mask,
Bool  oldParser = False,
uInt  whichRep = 0 
)

Construct a FITSImage from the disk FITS file name and apply mask or not.

casa::FITSImage::FITSImage ( const FITSImage other  ) 

Copy constructor (reference semantics).

casa::FITSImage::~FITSImage (  ) 

Destructor does nothing.


Member Function Documentation

FITSImage& casa::FITSImage::operator= ( const FITSImage other  ) 

Assignment (reference semantics).

static LatticeBase* casa::FITSImage::openFITSImage ( const String name,
const MaskSpecifier  
) [static]

Function to open a FITS image (new parser).

static void casa::FITSImage::registerOpenFunction (  )  [static]

Register the open function.

virtual ImageInterface<Float>* casa::FITSImage::cloneII (  )  const [virtual]

Make a copy of the object with new (reference semantics).

Implements casa::ImageInterface< T >.

virtual String casa::FITSImage::imageType (  )  const [virtual]

Get the image type (returns FITSImage).

Implements casa::ImageInterface< T >.

virtual void casa::FITSImage::resize ( const TiledShape newShape  )  [virtual]

Function which changes the shape of the FITSImage.

Throws an exception as FITSImage is not writable.

Implements casa::ImageInterface< T >.

virtual Bool casa::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 casa::MaskedLattice< T >.

virtual Bool casa::FITSImage::hasPixelMask (  )  const [virtual]

FITSimage always has a pixel mask so returns True.

Reimplemented from casa::MaskedLattice< T >.

virtual const Lattice<Bool>& casa::FITSImage::pixelMask (  )  const [virtual]

Get access to the pixelmask.

FITSImage always has a pixel mask.

Reimplemented from casa::MaskedLattice< T >.

virtual Lattice<Bool>& casa::FITSImage::pixelMask (  )  [virtual]

Reimplemented from casa::MaskedLattice< T >.

virtual Bool casa::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 casa::MaskedLattice< T >.

virtual const LatticeRegion* casa::FITSImage::getRegionPtr (  )  const [virtual]

Get the region used.

There is no region. Always returns 0.

Implements casa::MaskedLattice< T >.

virtual Bool casa::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

virtual void casa::FITSImage::doPutSlice ( const Array< Float > &  sourceBuffer,
const IPosition where,
const IPosition stride 
) [virtual]

The FITSImage is not writable, so this throws an exception.

virtual Bool casa::FITSImage::isPaged (  )  const [virtual]

The lattice is paged to disk.

Reimplemented from casa::LatticeBase.

virtual Bool casa::FITSImage::isPersistent (  )  const [virtual]

The lattice is persistent.

Reimplemented from casa::LatticeBase.

virtual Bool casa::FITSImage::isWritable (  )  const [virtual]

The FITSImage is not writable.

Reimplemented from casa::LatticeBase.

virtual String casa::FITSImage::name ( Bool  stripPath = False  )  const [virtual]

Returns the name of the disk file.

Implements casa::ImageInterface< T >.

virtual IPosition casa::FITSImage::shape (  )  const [virtual]

return the shape of the FITSImage

Implements casa::LatticeBase.

virtual uInt casa::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 casa::Lattice< T >.

virtual IPosition casa::FITSImage::doNiceCursorShape ( uInt  maxPixels  )  const [virtual]

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 casa::LatticeBase.

virtual void casa::FITSImage::tempClose (  )  [virtual]

Temporarily close the image.

Reimplemented from casa::LatticeBase.

virtual void casa::FITSImage::reopen (  )  [virtual]

Reopen a temporarily closed image.

Reimplemented from casa::LatticeBase.

Referenced by reopenIfNeeded().

virtual Bool casa::FITSImage::ok (  )  const [virtual]

Check class invariants.

Implements casa::ImageInterface< T >.

DataType casa::FITSImage::dataType (  )  const [inline]

Return the (internal) data type (TpFloat or TpShort).

Definition at line 215 of file FITSImage.h.

References dataType_p.

virtual uInt casa::FITSImage::maximumCacheSize (  )  const [virtual]

Maximum size - not necessarily all used.

In pixels.

Reimplemented from casa::LatticeBase.

virtual void casa::FITSImage::setMaximumCacheSize ( uInt  howManyPixels  )  [virtual]

Set the maximum (allowed) cache size as indicated.

Reimplemented from casa::LatticeBase.

virtual void casa::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 casa::LatticeBase.

virtual void casa::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 casa::LatticeBase.

virtual void casa::FITSImage::clearCache (  )  [virtual]

Clears and frees up the caches, but the maximum allowed cache size is unchanged from when setCacheSize was called.

Reimplemented from casa::LatticeBase.

virtual void casa::FITSImage::showCacheStatistics ( ostream &  os  )  const [virtual]

Report on cache success.

Reimplemented from casa::LatticeBase.

void casa::FITSImage::reopenIfNeeded (  )  const [inline, private]

Reopen the image if needed.

Definition at line 262 of file FITSImage.h.

References isClosed_p, and reopen().

void casa::FITSImage::setup (  )  [private]

Setup the object (used by constructors).

void casa::FITSImage::open (  )  [private]

Open the image (used by setup and reopen).

void casa::FITSImage::getImageAttributes ( CoordinateSystem cSys,
IPosition shape,
ImageInfo info,
Unit brightnessUnit,
RecordInterface miscInfo,
Int recsize,
Int recno,
FITS::ValueType dataType,
Float scale,
Float offset,
Short shortMagic,
Int longMagic,
Bool hasBlanks,
const String name,
Bool  oldParser,
uInt  whichRep 
) [private]

Fish things out of the FITS file.

template<typename T>
void casa::FITSImage::crackHeader ( CoordinateSystem cSys,
IPosition shape,
ImageInfo imageInfo,
Unit brightnessUnit,
RecordInterface miscInfo,
Float scale,
Float offset,
Short magicShort,
Int magicLong,
Bool hasBlanks,
LogIO os,
FitsInput infile,
uInt  whichRep 
) [private]

Crack the header.

template<typename T>
void casa::FITSImage::crackHeaderOld ( CoordinateSystem cSys,
IPosition shape,
ImageInfo imageInfo,
Unit brightnessUnit,
RecordInterface miscInfo,
Float scale,
Float offset,
Short magicShort,
Int magicLong,
Bool hasBlanks,
LogIO os,
FitsInput infile 
) [private]

Old version.


Member Data Documentation

String casa::FITSImage::name_p [private]

Definition at line 245 of file FITSImage.h.

MaskSpecifier casa::FITSImage::maskSpec_p [private]

Definition at line 246 of file FITSImage.h.

CountedPtr<TiledFileAccess> casa::FITSImage::pTiledFile_p [private]

Definition at line 247 of file FITSImage.h.

Lattice<Bool>* casa::FITSImage::pPixelMask_p [private]

Definition at line 248 of file FITSImage.h.

TiledShape casa::FITSImage::shape_p [private]

Definition at line 249 of file FITSImage.h.

Float casa::FITSImage::scale_p [private]

Definition at line 250 of file FITSImage.h.

Float casa::FITSImage::offset_p [private]

Definition at line 251 of file FITSImage.h.

Short casa::FITSImage::shortMagic_p [private]

Definition at line 252 of file FITSImage.h.

Int casa::FITSImage::longMagic_p [private]

Definition at line 253 of file FITSImage.h.

Bool casa::FITSImage::hasBlanks_p [private]

Definition at line 254 of file FITSImage.h.

DataType casa::FITSImage::dataType_p [private]

Definition at line 255 of file FITSImage.h.

Referenced by dataType().

Int64 casa::FITSImage::fileOffset_p [private]

Definition at line 256 of file FITSImage.h.

Bool casa::FITSImage::isClosed_p [private]

Definition at line 257 of file FITSImage.h.

Referenced by reopenIfNeeded().

Bool casa::FITSImage::oldParser_p [private]

Definition at line 258 of file FITSImage.h.

uInt casa::FITSImage::whichRep_p [private]

Definition at line 259 of file FITSImage.h.


The documentation for this class was generated from the following file:
Generated on Tue Aug 26 22:34:57 2008 for NRAOCASA by  doxygen 1.5.1