|
| PagedImage (const TiledShape &mapShape, const CoordinateSystem &coordinateInfo, Table &table, uInt rowNumber=0) |
| Construct a new Image from shape and coordinate information. More...
|
|
| PagedImage (const TiledShape &mapShape, const CoordinateSystem &coordinateInfo, const String &nameOfNewFile, uInt rowNumber=0) |
| Construct a new Image from shape and coordinate information. More...
|
|
| PagedImage (const TiledShape &mapShape, const CoordinateSystem &coordinateInfo, const String &nameOfNewFile, TableLock::LockOption, uInt rowNumber=0) |
| Construct a new Image from shape and coordinate information. More...
|
|
| PagedImage (const TiledShape &mapShape, const CoordinateSystem &coordinateInfo, const String &nameOfNewFile, const TableLock &lockOptions, uInt rowNumber=0) |
|
| PagedImage (Table &table, MaskSpecifier=MaskSpecifier(), uInt rowNumber=0) |
| Reconstruct an image from a pre-existing file. More...
|
|
| PagedImage (const String &filename, MaskSpecifier=MaskSpecifier(), uInt rowNumber=0) |
| Reconstruct an image from a pre-existing file. More...
|
|
| PagedImage (const String &filename, TableLock::LockOption, MaskSpecifier=MaskSpecifier(), uInt rowNumber=0) |
| Reconstruct an image from a pre-existing file with Locking. More...
|
|
| PagedImage (const String &filename, const TableLock &lockOptions, MaskSpecifier=MaskSpecifier(), uInt rowNumber=0) |
|
| PagedImage (const PagedImage< T > &other) |
| Copy constructor (reference semantics). More...
|
|
| ~PagedImage () |
|
PagedImage< T > & | operator= (const PagedImage< T > &other) |
| Assignment operator (reference semantics). More...
|
|
virtual ImageInterface< T > * | cloneII () const |
| Make a copy of the object (reference semantics). More...
|
|
virtual String | imageType () const |
| Get the image type (returns name of this derived class). More...
|
|
virtual Bool | isPersistent () const |
| A PagedImage is always persistent. More...
|
|
virtual Bool | isPaged () const |
| A PagedImage is always paged to disk. More...
|
|
virtual Bool | isWritable () const |
| Is the PagedImage writable? More...
|
|
virtual Bool | hasPixelMask () const |
| Does the image object use a pixelmask? More...
|
|
virtual const Lattice< Bool > & | pixelMask () const |
| Get access to the pixelmask used. More...
|
|
virtual Lattice< Bool > & | pixelMask () |
|
virtual const LatticeRegion * | getRegionPtr () const |
| Get a pointer the default pixelmask object used with this image. More...
|
|
virtual void | setDefaultMask (const String &maskName) |
| Set the default pixelmask to the mask with the given name (which has to exist in the "masks" group). More...
|
|
virtual void | useMask (MaskSpecifier=MaskSpecifier()) |
| Use the mask as specified. More...
|
|
void | rename (const String &newName) |
| Function to change the name of the Table file on disk. More...
|
|
virtual String | name (Bool stripPath=False) const |
| Return the current Table name. More...
|
|
uInt | rowNumber () const |
| Return the current TableColumn row number. More...
|
|
virtual IPosition | shape () const |
| Return the shape of the image. More...
|
|
virtual void | resize (const TiledShape &newShape) |
| Change the shape of the image (N.B. More...
|
|
virtual Bool | doGetSlice (Array< T > &buffer, const Slicer &theSlice) |
| Function which extracts an array from the map. More...
|
|
virtual void | doPutSlice (const Array< T > &sourceBuffer, const IPosition &where, const IPosition &stride) |
| Function to replace the values in the map with soureBuffer. More...
|
|
virtual void | apply (T(*function)(T)) |
| Replace every element, x, of the lattice with the result of f(x). More...
|
|
virtual void | apply (T(*function)(const T &)) |
|
virtual void | apply (const Functional< T, T > &function) |
|
PagedImage< T > & | operator+= (const Lattice< T > &other) |
| Add a lattice to this image. More...
|
|
virtual Bool | setUnits (const Unit &newUnits) |
| Function which sets the units associated with the image pixels (i.e. More...
|
|
Table & | table () |
| Return the table holding the data. More...
|
|
virtual Bool | setCoordinateInfo (const CoordinateSystem &coords) |
| Flushes the new coordinate system to disk if the table is writable. More...
|
|
virtual Bool | ok () const |
| Check for symmetry in data members. More...
|
|
virtual T | getAt (const IPosition &where) const |
| These are the true implementations of the paran operator. More...
|
|
virtual void | putAt (const T &value, const IPosition &where) |
| Put the value of a single element. More...
|
|
virtual Bool | setMiscInfo (const RecordInterface &newInfo) |
| Replace the miscinfo in the PagedImage. More...
|
|
virtual Bool | setImageInfo (const ImageInfo &info) |
| 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. More...
|
|
virtual ImageAttrHandler & | attrHandler (Bool createHandler=False) |
| Get access to the attribute handler. More...
|
|
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). More...
|
|
virtual LatticeIterInterface< T > * | makeIter (const LatticeNavigator &navigator, Bool useRef) const |
| This is the implementation of the letter for the envelope Iterator class;
Note: Not for public use
;. More...
|
|
virtual uInt | advisedMaxPixels () const |
| Returns the maximum recommended number of pixels for a cursor. More...
|
|
virtual IPosition | doNiceCursorShape (uInt maxPixels) const |
| Help the user pick a cursor for most efficient access. More...
|
|
virtual uInt | maximumCacheSize () const |
| Maximum size - not necessarily all used. More...
|
|
virtual void | setMaximumCacheSize (uInt howManyPixels) |
| Set the maximum (allowed) cache size as indicated. More...
|
|
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. More...
|
|
virtual void | setCacheSizeInTiles (uInt howManyTiles) |
| Set the actual cache size for this Array to be be big enough for the indicated number of tiles. More...
|
|
virtual void | clearCache () |
| Clears and frees up the caches, but the maximum allowed cache size is unchanged from when setCacheSize was called. More...
|
|
virtual void | showCacheStatistics (ostream &os) const |
| Report on cache success. More...
|
|
virtual Bool | lock (FileLocker::LockType, uInt nattempts) |
| Handle the (un)locking. More...
|
|
virtual void | unlock () |
|
virtual Bool | hasLock (FileLocker::LockType) const |
|
virtual void | resync () |
| Resynchronize the PagedImage object with the table contents. More...
|
|
virtual void | flush () |
| Flush the data. More...
|
|
virtual void | tempClose () |
| Close the Image and associated files temporarily. More...
|
|
virtual void | reopen () |
| If needed, reopen a temporarily closed Image. More...
|
|
| ImageInterface () |
|
| ImageInterface (const RegionHandler ®ionHandler) |
| Construct for a specific region handler object. More...
|
|
| ImageInterface (const ImageInterface &other) |
| Copy constructor (copy semantics). More...
|
|
virtual | ~ImageInterface () |
|
virtual MaskedLattice< T > * | cloneML () const |
| Make a copy of the derived object (reference semantics). More...
|
|
virtual const Unit & | units () const |
|
const CoordinateSystem & | coordinates () const |
|
virtual LELCoordinates | lelCoordinates () const |
| Function to get a LELCoordinate object containing the coordinates. More...
|
|
LoggerHolder & | logger () |
| Get access to the LoggerHolder. More...
|
|
const LoggerHolder & | logger () const |
|
LogIO & | logSink () |
| Allow messages to be logged to this ImageInterface. More...
|
|
const LogIO & | logSink () const |
|
void | appendLog (const LoggerHolder &other) |
| Add the messages from the other image logger to this one. More...
|
|
const TableRecord & | miscInfo () const |
| Often we have miscellaneous information we want to attach to an image. More...
|
|
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. More...
|
|
ImageInfo & | rwImageInfo () |
| Get non-const access to the ImageInfo. More...
|
|
ImageAttrHandler & | roAttrHandler () const |
|
Bool | canDefineRegion () const |
| Can the image handle region definition? More...
|
|
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. More...
|
|
virtual void | defineRegion (const String &name, const ImageRegion ®ion, RegionHandler::GroupType, Bool overwrite=False) |
| Define a region/mask belonging to the image. More...
|
|
virtual Bool | hasRegion (const String ®ionName, RegionHandler::GroupType=RegionHandler::Any) const |
| Does the image have a region with the given name? More...
|
|
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). More...
|
|
virtual void | renameRegion (const String &newName, const String &oldName, RegionHandler::GroupType=RegionHandler::Any, Bool overwrite=False) |
| Rename a region. More...
|
|
virtual Vector< String > | regionNames (RegionHandler::GroupType=RegionHandler::Any) const |
| Get the names of all regions/masks. More...
|
|
virtual String | getDefaultMask () const |
| Get the name of the default pixelmask. More...
|
|
ImageRegion | getRegion (const String ®ionName, RegionHandler::GroupType=RegionHandler::Any) const |
| Get a region belonging to the image. More...
|
|
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. More...
|
|
Bool | toRecord (String &error, RecordInterface &outRec) |
| Save and restore an ImageInterface object to or from a state Record. More...
|
|
Bool | fromRecord (String &error, const RecordInterface &inRec) |
|
| MaskedLattice () |
| Default constructor. More...
|
|
| MaskedLattice (const MaskedLattice< T > &) |
| Copy constructor. More...
|
|
virtual | ~MaskedLattice () |
| a virtual destructor is needed so that it will use the actual destructor in the derived class More...
|
|
virtual Lattice< T > * | clone () const |
| Make a copy of the derived object (reference semantics). More...
|
|
virtual Bool | isMasked () const |
| Has the object really a mask? The default implementation returns True if the MaskedLattice has a region with a mask. More...
|
|
const LatticeRegion & | region () const |
| Get the region used. More...
|
|
Bool | getMask (COWPtr< Array< Bool > > &buffer, Bool removeDegenerateAxes=False) const |
| Get the mask or a slice from the mask. More...
|
|
Bool | getMaskSlice (COWPtr< Array< Bool > > &buffer, const Slicer §ion, Bool removeDegenerateAxes=False) const |
|
Bool | getMaskSlice (COWPtr< Array< Bool > > &buffer, const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) const |
|
Bool | getMaskSlice (COWPtr< Array< Bool > > &buffer, const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) const |
|
Bool | getMask (Array< Bool > &buffer, Bool removeDegenerateAxes=False) |
|
Bool | getMaskSlice (Array< Bool > &buffer, const Slicer §ion, Bool removeDegenerateAxes=False) |
|
Bool | getMaskSlice (Array< Bool > &buffer, const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) |
|
Bool | getMaskSlice (Array< Bool > &buffer, const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) |
|
Array< Bool > | getMask (Bool removeDegenerateAxes=False) const |
|
Array< Bool > | getMaskSlice (const Slicer §ion, Bool removeDegenerateAxes=False) const |
|
Array< Bool > | getMaskSlice (const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) const |
|
Array< Bool > | getMaskSlice (const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) const |
|
virtual Bool | doGetMaskSlice (Array< Bool > &buffer, const Slicer §ion) |
| The function (in the derived classes) doing the actual work. More...
|
|
virtual | ~Lattice () |
| a virtual destructor is needed so that it will use the actual destructor in the derived class More...
|
|
virtual DataType | dataType () const |
| Get the data type of the lattice. More...
|
|
T | operator() (const IPosition &where) const |
| Return the value of the single element located at the argument IPosition. More...
|
|
Bool | get (COWPtr< Array< T > > &buffer, Bool removeDegenerateAxes=False) const |
| Functions which extract an Array of values from a Lattice. More...
|
|
Bool | getSlice (COWPtr< Array< T > > &buffer, const Slicer §ion, Bool removeDegenerateAxes=False) const |
|
Bool | getSlice (COWPtr< Array< T > > &buffer, const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) const |
|
Bool | getSlice (COWPtr< Array< T > > &buffer, const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) const |
|
Bool | get (Array< T > &buffer, Bool removeDegenerateAxes=False) |
|
Bool | getSlice (Array< T > &buffer, const Slicer §ion, Bool removeDegenerateAxes=False) |
|
Bool | getSlice (Array< T > &buffer, const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) |
|
Bool | getSlice (Array< T > &buffer, const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) |
|
Array< T > | get (Bool removeDegenerateAxes=False) const |
|
Array< T > | getSlice (const Slicer §ion, Bool removeDegenerateAxes=False) const |
|
Array< T > | getSlice (const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) const |
|
Array< T > | getSlice (const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) const |
|
void | putSlice (const Array< T > &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". More...
|
|
void | putSlice (const Array< T > &sourceBuffer, const IPosition &where) |
|
void | put (const Array< T > &sourceBuffer) |
|
virtual void | set (const T &value) |
| Set all elements in the Lattice to the given value. More...
|
|
void | operator+= (const Lattice< T > &other) |
| Add, subtract, multiple, or divide by another Lattice. More...
|
|
void | operator-= (const Lattice< T > &other) |
|
void | operator*= (const Lattice< T > &other) |
|
void | operator/= (const Lattice< T > &other) |
|
virtual void | copyData (const Lattice< T > &from) |
| Copy the data from the given lattice to this one. More...
|
|
virtual void | copyDataTo (Lattice< T > &to) const |
| Copy the data from this lattice to the given lattice. More...
|
|
virtual | ~LatticeBase () |
| A virtual destructor is needed so that it will use the actual destructor in the derived class. More...
|
|
virtual Bool | canReferenceArray () const |
| Can the lattice data be referenced as an array section? That is the case for an ArrayLattice or a Temp/SubLattice using it. More...
|
|
virtual void | save (const String &fileName) const |
| Save the image in an AipsIO file with the given name. More...
|
|
virtual uInt | ndim () const |
| Return the number of axes in this Lattice. More...
|
|
virtual size_t | nelements () const |
| Return the total number of elements in this Lattice. More...
|
|
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". More...
|
|
IPosition | niceCursorShape (uInt maxPixels) const |
| Returns a recommended cursor shape for iterating through all the pixels in the Lattice. More...
|
|
IPosition | niceCursorShape () const |
|
template<class T>
class casacore::PagedImage< T >
Read, store, and manipulate astronomical images.
Intended use:
Public interface
Review Status
- Test programs:
- tPagedmage
- Demo programs:
- dPagedImage
Prerequisite
Etymology
The PagedImage name comes from its role as the Image class with paging from persistent memory. Users are thus invited to treat the PagedImage instances like Casacore Lattices
Synopsis
All Casacore Images are Lattices. They may be treated like any other Lattice; getSlice(...), putSlice(...), LatticeIterator for iterating, etc. ArrayImages contain a map, a mask for that map, and coordinate information. This provides a Lattice interface for images and their respective coordinates. Additional functionality is defined by the ImageInterface class.
You can use the global function imagePixelType
to determine what the pixel type of an image is before you open the image if your code can work with Images of many possible types, or for error checking.
Example
This example shows how to create a mask for an image, fill it, and make it known to the image.
PagedImage<Float> myimage ("image.name");
myimage.setDefaultMask ("mask1");
virtual ImageRegion makeMask(const LatticeBase &lattice, const String &name)
Make a mask for a lattice (e.g.
LatticeExprNode mask(const LatticeExprNode &expr)
This function returns the mask of the given expression.
It is possible to create as many masks as one likes. They can all be defined as masks for the image (with different names, of course). However, only one of them can be the default mask (the mask used by default when the image is opened). When another mask has to be used, one can do two things:
-
Use setDefaultMask to make the other mask the default mask. This is advisable when the change should be more or less permanent.
-
Open the PagedImage without using a default mask. Thereafter a SubImage object can be created from the PagedImage and the mask. This is advisable when it the mask has to be used only one time.
Motivation
The size of astronomical data can be very large. The ability to fit an entire image into random access memory cannot be guaranteed. Paging from disk pieces of the image appeared to be the way to deal with this problem.
Note: When you make a new PagedImage, and you are transferring information from some other PagedImage, be aware that you must copy, manually, things like miscInfo, imageInfo, units, logSink (history) to the new file;
To Do
-
The CoordinateSystem::store() function returns a TableRecord. That TableRecord should be stored in the same row as our image. This will allow ImageStack members to have their own coordinate frames.
Definition at line 135 of file PagedImage.h.