casa
$Rev:20696$
|
Definition of image types and handlers. More...
#include <ImageOpener.h>
Public Types | |
enum | ImageTypes { AIPSPP, FITS, MIRIAD, GIPSY, CAIPS, NEWSTAR, HDF5, UNKNOWN } |
Define the possible image types. More... | |
typedef LatticeBase * | OpenImageFunction (const String &fileName, const MaskSpecifier &) |
Define the signature of a function opening an image. | |
Static Public Member Functions | |
static ImageTypes | imageType (const String &fileName) |
Return the type of an image with the given name. | |
static void | registerOpenImageFunction (ImageTypes, OpenImageFunction *) |
Register an openImageFunction. | |
static LatticeBase * | openImage (const String &fileName, const MaskSpecifier &=MaskSpecifier()) |
Open an image in the file/table with the given name. | |
static LatticeBase * | openPagedImage (const String &fileName, const MaskSpecifier &=MaskSpecifier()) |
Open an AIPS++ paged image of any data type. | |
static LatticeBase * | openHDF5Image (const String &fileName, const MaskSpecifier &=MaskSpecifier()) |
Open an HDF5 paged image of any data type. | |
Static Private Member Functions | |
static LatticeBase * | unknownImageOpen (const String &name, const MaskSpecifier &) |
The default openImage function for an unknown image type. | |
Static Private Attributes | |
static SimpleOrderedMap < ImageTypes, OpenImageFunction * > | theirOpenFuncMap |
Mapping of the image type to an openImage function. |
Definition of image types and handlers.
Internal
The class contains defines the possible image types. It contains a registry containing functions to construct an image based on its type. In this way any image can be used in the image package without the need that the code must reside in the images package.
FITS and MIRIAD needed to be moved out of the images package.
Definition at line 63 of file ImageOpener.h.
typedef LatticeBase* casa::ImageOpener::OpenImageFunction(const String &fileName, const MaskSpecifier &) |
Define the signature of a function opening an image.
Each basic image class (like FITSImage) must have a static open function with this signature. They can be registered using registerOpenImageFunction. In this way a function like openImage can create any image object without the need that all image classes are in the images package. The LogIO object can be used for possible error reporting or logging.
Definition at line 97 of file ImageOpener.h.
Define the possible image types.
AIPSPP |
AIPS++. |
FITS |
FITS. |
MIRIAD |
Miriad. |
GIPSY |
Gipsy. |
CAIPS |
Classic AIPS. |
NEWSTAR |
Newstar. |
HDF5 |
HDF5. |
UNKNOWN |
Unknown. |
Definition at line 67 of file ImageOpener.h.
static ImageTypes casa::ImageOpener::imageType | ( | const String & | fileName | ) | [static] |
Return the type of an image with the given name.
Will throw an exception if file does not exist.
static LatticeBase* casa::ImageOpener::openHDF5Image | ( | const String & | fileName, |
const MaskSpecifier & | = MaskSpecifier() |
||
) | [static] |
Open an HDF5 paged image of any data type.
static LatticeBase* casa::ImageOpener::openImage | ( | const String & | fileName, |
const MaskSpecifier & | = MaskSpecifier() |
||
) | [static] |
Open an image in the file/table with the given name.
The specified mask will be applied (default is default mask). A null pointer is returned for an unknown image type. Non-AIPS++ image types must have been registered to be known. Note that class ImageProxy has a function to open an image from a file or from an image expression.
static LatticeBase* casa::ImageOpener::openPagedImage | ( | const String & | fileName, |
const MaskSpecifier & | = MaskSpecifier() |
||
) | [static] |
Open an AIPS++ paged image of any data type.
static void casa::ImageOpener::registerOpenImageFunction | ( | ImageTypes | , |
OpenImageFunction * | |||
) | [static] |
Register an openImageFunction.
static LatticeBase* casa::ImageOpener::unknownImageOpen | ( | const String & | name, |
const MaskSpecifier & | |||
) | [static, private] |
The default openImage function for an unknown image type.
It returns a null pointer.
SimpleOrderedMap<ImageTypes,OpenImageFunction*> casa::ImageOpener::theirOpenFuncMap [static, private] |
Mapping of the image type to an openImage function.
Definition at line 127 of file ImageOpener.h.