casacore
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
casacore::PagedImage< T > Class Template Reference

More...

#include <PagedImage.h>

Public Member Functions

 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 LatticeRegiongetRegionPtr () 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...
 
Tabletable ()
 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 ImageAttrHandlerattrHandler (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...
 
- Public Member Functions inherited from casacore::ImageInterface< T >
 ImageInterface ()
 
 ImageInterface (const RegionHandler &regionHandler)
 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 Unitunits () const
 
const CoordinateSystemcoordinates () const
 
virtual LELCoordinates lelCoordinates () const
 Function to get a LELCoordinate object containing the coordinates. More...
 
LoggerHolderlogger ()
 Get access to the LoggerHolder. More...
 
const LoggerHolderlogger () const
 
LogIOlogSink ()
 Allow messages to be logged to this ImageInterface. More...
 
const LogIOlogSink () const
 
void appendLog (const LoggerHolder &other)
 Add the messages from the other image logger to this one. More...
 
const TableRecordmiscInfo () const
 Often we have miscellaneous information we want to attach to an image. More...
 
const ImageInfoimageInfo () 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...
 
ImageInforwImageInfo ()
 Get non-const access to the ImageInfo. More...
 
ImageAttrHandlerroAttrHandler () 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 &region, RegionHandler::GroupType, Bool overwrite=False)
 Define a region/mask belonging to the image. More...
 
virtual Bool hasRegion (const String &regionName, RegionHandler::GroupType=RegionHandler::Any) const
 Does the image have a region with the given name? More...
 
virtual ImageRegiongetImageRegionPtr (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< StringregionNames (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 &regionName, 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)
 
- Public Member Functions inherited from casacore::MaskedLattice< T >
 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 LatticeRegionregion () 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 &section, 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 &section, 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< BoolgetMask (Bool removeDegenerateAxes=False) const
 
Array< BoolgetMaskSlice (const Slicer &section, Bool removeDegenerateAxes=False) const
 
Array< BoolgetMaskSlice (const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) const
 
Array< BoolgetMaskSlice (const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) const
 
virtual Bool doGetMaskSlice (Array< Bool > &buffer, const Slicer &section)
 The function (in the derived classes) doing the actual work. More...
 
- Public Member Functions inherited from casacore::Lattice< T >
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...
 
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 &section, 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 &section, 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 &section, 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...
 
- 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. 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
 

Static Public Member Functions

static String className ()
 Return the name of this derived class. More...
 

Private Member Functions

void attach_logtable ()
 This must be called in every constructor and place where the image is attached to a new image. More...
 
void open_logtable ()
 
void restoreUnits (const TableRecord &rec)
 
void restoreMiscInfo (const TableRecord &rec)
 
void restoreImageInfo (const TableRecord &rec)
 
void restoreAll (const TableRecord &rec)
 
void check_conformance (const Lattice< T > &other)
 
void reopenRW ()
 
void setTableType ()
 
void applyMaskSpecifier (const MaskSpecifier &)
 
void applyMask (const String &maskName)
 
void makePagedImage (const TiledShape &mapShape, const CoordinateSystem &coordinateInfo, const String &nameOfNewFile, const TableLock &lockOptions, uInt rowNumber)
 
void makePagedImage (const String &filename, const TableLock &lockOptions, const MaskSpecifier &, uInt rowNumber)
 
const Tabletable () const
 

Static Private Member Functions

static TablegetTable (void *imagePtr, Bool writable)
 Function to return the internal Table object to the RegionHandler. More...
 

Private Attributes

PagedArray< T > map_p
 
LatticeRegionregionPtr_p
 
ImageAttrHandlerCasa itsAttrHandler
 

Additional Inherited Members

- Protected Member Functions inherited from casacore::ImageInterface< T >
ImageInterfaceoperator= (const ImageInterface &other)
 Assignment (copy semantics) is only useful for derived classes. More...
 
Bool restoreImageInfo (const RecordInterface &rec)
 Restore the image info from the record. More...
 
void setLogMember (const LoggerHolder &logger)
 Set the image logger variable. More...
 
void setImageInfoMember (const ImageInfo &imageInfo)
 Set the image info variable. More...
 
void setCoordsMember (const CoordinateSystem &coords)
 Set the coordinate system variable. More...
 
void setUnitMember (const Unit &unit)
 Set the unit variable. More...
 
void setMiscInfoMember (const RecordInterface &rec)
 Set the miscinfo variable. More...
 
RegionHandlergetRegionHandler ()
 Get access to the region handler. More...
 
- Protected Member Functions inherited from casacore::MaskedLattice< T >
MaskedLattice< T > & operator= (const MaskedLattice< T > &)
 Assignment can only be used by derived classes. More...
 
- Protected Member Functions inherited from casacore::Lattice< T >
 Lattice ()
 Define default constructor to satisfy compiler. More...
 
virtual void handleMath (const Lattice< T > &from, int oper)
 Handle the Math operators (+=, -=, *=, /=). More...
 
virtual void handleMathTo (Lattice< T > &to, int oper) const
 
 Lattice (const Lattice< T > &)
 Copy constructor and assignment can only be used by derived classes. More...
 
Lattice< T > & operator= (const Lattice< T > &)
 
void handleMathTo (Lattice< Bool > &, int) const
 
- Protected Member Functions inherited from casacore::LatticeBase
 LatticeBase ()
 Define default constructor to be used by derived classes. More...
 
 LatticeBase (const LatticeBase &)
 Copy constructor and assignment can only be used by derived classes. More...
 
LatticeBaseoperator= (const LatticeBase &)
 
void throwBoolMath () const
 Throw an exception for arithmetic on a Bool Lattice. More...
 

Detailed Description

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.

// Open the image (as readonly for the moment).
PagedImage<Float> myimage ("image.name");
// Create a mask for the image.
// The mask will be stored in a subtable of the image.
LCPagedMask mask (RegionHandler::makeMask (myimage, "mask.name"));
// Fill the mask with whatever values (e.g. all True).
mask.set (True);
// Make the mask known to the image (with name mask1).
myimage.defineRegion ("mask1", mask, RegionHandler::Masks);
// Make the mask the default mask for this image.
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.
const Bool True
Definition: aipstype.h:43

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:

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

Definition at line 135 of file PagedImage.h.

Constructor & Destructor Documentation

◆ PagedImage() [1/9]

template<class T >
casacore::PagedImage< T >::PagedImage ( const TiledShape mapShape,
const CoordinateSystem coordinateInfo,
Table table,
uInt  rowNumber = 0 
)

Construct a new Image from shape and coordinate information.

Data will be stored in the argument table.

◆ PagedImage() [2/9]

template<class T >
casacore::PagedImage< T >::PagedImage ( const TiledShape mapShape,
const CoordinateSystem coordinateInfo,
const String nameOfNewFile,
uInt  rowNumber = 0 
)

Construct a new Image from shape and coordinate information.

Table will be stored in the named file.

◆ PagedImage() [3/9]

template<class T >
casacore::PagedImage< T >::PagedImage ( const TiledShape mapShape,
const CoordinateSystem coordinateInfo,
const String nameOfNewFile,
TableLock::LockOption  ,
uInt  rowNumber = 0 
)

Construct a new Image from shape and coordinate information.

Table will be stored in the named file. The lock options may be specified

◆ PagedImage() [4/9]

template<class T >
casacore::PagedImage< T >::PagedImage ( const TiledShape mapShape,
const CoordinateSystem coordinateInfo,
const String nameOfNewFile,
const TableLock lockOptions,
uInt  rowNumber = 0 
)

◆ PagedImage() [5/9]

template<class T >
casacore::PagedImage< T >::PagedImage ( Table table,
MaskSpecifier  = MaskSpecifier(),
uInt  rowNumber = 0 
)
explicit

Reconstruct an image from a pre-existing file.

By default the default pixelmask (if available) is used.

◆ PagedImage() [6/9]

template<class T >
casacore::PagedImage< T >::PagedImage ( const String filename,
MaskSpecifier  = MaskSpecifier(),
uInt  rowNumber = 0 
)
explicit

Reconstruct an image from a pre-existing file.

By default the default pixelmask (if available) is used.

◆ PagedImage() [7/9]

template<class T >
casacore::PagedImage< T >::PagedImage ( const String filename,
TableLock::LockOption  ,
MaskSpecifier  = MaskSpecifier(),
uInt  rowNumber = 0 
)

Reconstruct an image from a pre-existing file with Locking.

By default the default pixelmask (if available) is used.

◆ PagedImage() [8/9]

template<class T >
casacore::PagedImage< T >::PagedImage ( const String filename,
const TableLock lockOptions,
MaskSpecifier  = MaskSpecifier(),
uInt  rowNumber = 0 
)

◆ PagedImage() [9/9]

template<class T >
casacore::PagedImage< T >::PagedImage ( const PagedImage< T > &  other)

Copy constructor (reference semantics).

◆ ~PagedImage()

template<class T >
casacore::PagedImage< T >::~PagedImage ( )

Member Function Documentation

◆ advisedMaxPixels()

template<class T >
virtual uInt casacore::PagedImage< T >::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< T >.

◆ apply() [1/3]

template<class T >
virtual void casacore::PagedImage< T >::apply ( const Functional< T, T > &  function)
virtual

Reimplemented from casacore::Lattice< T >.

◆ apply() [2/3]

template<class T >
virtual void casacore::PagedImage< T >::apply ( T(*)(const T &)  function)
virtual

Reimplemented from casacore::Lattice< T >.

◆ apply() [3/3]

template<class T >
virtual void casacore::PagedImage< T >::apply ( T(*)(T)  function)
virtual

Replace every element, x, of the lattice with the result of f(x).

you must pass in the address of the function – so the function must be declared and defined in the scope of your program.
Both versions of apply require a function that accepts a single argument of type T (the Lattice template actual type) and returns a result of the same type. The first apply expects a function with an argument passed by value; the second expects the argument to be passed by const reference. The first form ought to run faster for the built-in types, which may be an issue for large Lattices stored in memory, where disk access is not an issue.

Reimplemented from casacore::Lattice< T >.

◆ applyMask()

template<class T >
void casacore::PagedImage< T >::applyMask ( const String maskName)
private

◆ applyMaskSpecifier()

template<class T >
void casacore::PagedImage< T >::applyMaskSpecifier ( const MaskSpecifier )
private

◆ attach_logtable()

template<class T >
void casacore::PagedImage< T >::attach_logtable ( )
private

This must be called in every constructor and place where the image is attached to a new image.

◆ attrHandler()

template<class T >
virtual ImageAttrHandler& casacore::PagedImage< T >::attrHandler ( Bool  createHandler = False)
virtual

Get access to the attribute handler.

If a handler keyword does not exist yet, it is created if createHandler is set. Otherwise the handler is empty and no groups can be created for it.

Reimplemented from casacore::ImageInterface< T >.

◆ check_conformance()

template<class T >
void casacore::PagedImage< T >::check_conformance ( const Lattice< T > &  other)
private

◆ className()

template<class T >
static String casacore::PagedImage< T >::className ( )
inlinestatic

Return the name of this derived class.

Definition at line 199 of file PagedImage.h.

◆ clearCache()

template<class T >
virtual void casacore::PagedImage< T >::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.

◆ cloneII()

template<class T >
virtual ImageInterface<T>* casacore::PagedImage< T >::cloneII ( ) const
virtual

Make a copy of the object (reference semantics).

Implements casacore::ImageInterface< T >.

◆ doGetSlice()

template<class T >
virtual Bool casacore::PagedImage< T >::doGetSlice ( Array< T > &  buffer,
const Slicer theSlice 
)
virtual

Function which extracts an array from the map.

Implements casacore::Lattice< T >.

◆ doNiceCursorShape()

template<class T >
virtual IPosition casacore::PagedImage< T >::doNiceCursorShape ( uInt  maxPixels) const
virtual

Help the user pick a cursor for most efficient access.

Reimplemented from casacore::LatticeBase.

◆ doPutSlice()

template<class T >
virtual void casacore::PagedImage< T >::doPutSlice ( const Array< T > &  sourceBuffer,
const IPosition where,
const IPosition stride 
)
virtual

Function to replace the values in the map with soureBuffer.

Implements casacore::Lattice< T >.

◆ flush()

template<class T >
virtual void casacore::PagedImage< T >::flush ( )
virtual

Flush the data.

Reimplemented from casacore::LatticeBase.

◆ getAt()

template<class T >
virtual T casacore::PagedImage< T >::getAt ( const IPosition where) const
virtual

These are the true implementations of the paran operator.


Note: Not for public use

Reimplemented from casacore::Lattice< T >.

◆ getRegionPtr()

template<class T >
virtual const LatticeRegion* casacore::PagedImage< T >::getRegionPtr ( ) const
virtual

Get a pointer the default pixelmask object used with this image.

It returns 0 if no default pixelmask is used.

Implements casacore::MaskedLattice< T >.

◆ getTable()

template<class T >
static Table& casacore::PagedImage< T >::getTable ( void *  imagePtr,
Bool  writable 
)
staticprivate

Function to return the internal Table object to the RegionHandler.

◆ hasLock()

template<class T >
virtual Bool casacore::PagedImage< T >::hasLock ( FileLocker::LockType  ) const
virtual

Reimplemented from casacore::LatticeBase.

◆ hasPixelMask()

template<class T >
virtual Bool casacore::PagedImage< T >::hasPixelMask ( ) const
virtual

Does the image object use a pixelmask?

Reimplemented from casacore::MaskedLattice< T >.

◆ imageType()

template<class T >
virtual String casacore::PagedImage< T >::imageType ( ) const
virtual

Get the image type (returns name of this derived class).

Implements casacore::ImageInterface< T >.

◆ isPaged()

template<class T >
virtual Bool casacore::PagedImage< T >::isPaged ( ) const
virtual

A PagedImage is always paged to disk.

Reimplemented from casacore::LatticeBase.

◆ isPersistent()

template<class T >
virtual Bool casacore::PagedImage< T >::isPersistent ( ) const
virtual

A PagedImage is always persistent.

Reimplemented from casacore::LatticeBase.

◆ isWritable()

template<class T >
virtual Bool casacore::PagedImage< T >::isWritable ( ) const
virtual

Is the PagedImage writable?

Reimplemented from casacore::LatticeBase.

◆ lock()

template<class T >
virtual Bool casacore::PagedImage< T >::lock ( FileLocker::LockType  ,
uInt  nattempts 
)
virtual

Handle the (un)locking.

Unlocking also unlocks the logtable and a possible mask table. Locking only locks the image itself.

Reimplemented from casacore::LatticeBase.

◆ makeIter()

template<class T >
virtual LatticeIterInterface<T>* casacore::PagedImage< T >::makeIter ( const LatticeNavigator navigator,
Bool  useRef 
) const
virtual

This is the implementation of the letter for the envelope Iterator class;
Note: Not for public use
;.

Reimplemented from casacore::Lattice< T >.

◆ makePagedImage() [1/2]

template<class T >
void casacore::PagedImage< T >::makePagedImage ( const String filename,
const TableLock lockOptions,
const MaskSpecifier ,
uInt  rowNumber 
)
private

◆ makePagedImage() [2/2]

template<class T >
void casacore::PagedImage< T >::makePagedImage ( const TiledShape mapShape,
const CoordinateSystem coordinateInfo,
const String nameOfNewFile,
const TableLock lockOptions,
uInt  rowNumber 
)
private

◆ maximumCacheSize()

template<class T >
virtual uInt casacore::PagedImage< T >::maximumCacheSize ( ) const
virtual

Maximum size - not necessarily all used.

In pixels.

Reimplemented from casacore::LatticeBase.

◆ name()

template<class T >
virtual String casacore::PagedImage< T >::name ( Bool  stripPath = False) const
virtual

Return the current Table name.

By default this includes the full path. the path preceding the file name can be stripped off on request.

Implements casacore::ImageInterface< T >.

◆ ok()

template<class T >
virtual Bool casacore::PagedImage< T >::ok ( ) const
virtual

Check for symmetry in data members.

Implements casacore::ImageInterface< T >.

◆ open_logtable()

template<class T >
void casacore::PagedImage< T >::open_logtable ( )
private

◆ operator+=()

template<class T >
PagedImage<T>& casacore::PagedImage< T >::operator+= ( const Lattice< T > &  other)

Add a lattice to this image.

◆ operator=()

template<class T >
PagedImage<T>& casacore::PagedImage< T >::operator= ( const PagedImage< T > &  other)

Assignment operator (reference semantics).

◆ pixelMask() [1/2]

template<class T >
virtual Lattice<Bool>& casacore::PagedImage< T >::pixelMask ( )
virtual

Reimplemented from casacore::MaskedLattice< T >.

◆ pixelMask() [2/2]

template<class T >
virtual const Lattice<Bool>& casacore::PagedImage< T >::pixelMask ( ) const
virtual

Get access to the pixelmask used.

An exception is thrown if the image does not use a pixelmask.

Reimplemented from casacore::MaskedLattice< T >.

◆ putAt()

template<class T >
virtual void casacore::PagedImage< T >::putAt ( const T &  value,
const IPosition where 
)
virtual

Put the value of a single element.


The default implementation uses putSlice.

Reimplemented from casacore::Lattice< T >.

◆ removeRegion()

template<class T >
virtual void casacore::PagedImage< T >::removeRegion ( const String name,
RegionHandler::GroupType  = RegionHandler::Any,
Bool  throwIfUnknown = True 
)
virtual

Remove a region/mask belonging to the image from the given group (which can be Any).

If a mask removed is the default mask, the image gets unmasked.
Optionally an exception is thrown if the region does not exist.

Reimplemented from casacore::ImageInterface< T >.

◆ rename()

template<class T >
void casacore::PagedImage< T >::rename ( const String newName)

Function to change the name of the Table file on disk.

PagedImage is given a file name at construction time. You may change that name here.

◆ reopen()

template<class T >
virtual void casacore::PagedImage< T >::reopen ( )
virtual

If needed, reopen a temporarily closed Image.

Reimplemented from casacore::LatticeBase.

◆ reopenRW()

template<class T >
void casacore::PagedImage< T >::reopenRW ( )
private

◆ resize()

template<class T >
virtual void casacore::PagedImage< T >::resize ( const TiledShape newShape)
virtual

Change the shape of the image (N.B.

the data is thrown away).

Implements casacore::ImageInterface< T >.

◆ restoreAll()

template<class T >
void casacore::PagedImage< T >::restoreAll ( const TableRecord rec)
private

◆ restoreImageInfo()

template<class T >
void casacore::PagedImage< T >::restoreImageInfo ( const TableRecord rec)
private

◆ restoreMiscInfo()

template<class T >
void casacore::PagedImage< T >::restoreMiscInfo ( const TableRecord rec)
private

◆ restoreUnits()

template<class T >
void casacore::PagedImage< T >::restoreUnits ( const TableRecord rec)
private

◆ resync()

template<class T >
virtual void casacore::PagedImage< T >::resync ( )
virtual

Resynchronize the PagedImage object with the table contents.

The logtable and possible mask table are also synchronized if they do not have a readlock.
This function is only useful if no read-locking is used, ie. if the table lock option is UserNoReadLocking or AutoNoReadLocking. In that cases the table system does not acquire a read-lock, thus does not synchronize itself automatically.

Reimplemented from casacore::LatticeBase.

◆ rowNumber()

template<class T >
uInt casacore::PagedImage< T >::rowNumber ( ) const

Return the current TableColumn row number.

◆ setCacheSizeFromPath()

template<class T >
virtual void casacore::PagedImage< T >::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.

◆ setCacheSizeInTiles()

template<class T >
virtual void casacore::PagedImage< T >::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.

◆ setCoordinateInfo()

template<class T >
virtual Bool casacore::PagedImage< T >::setCoordinateInfo ( const CoordinateSystem coords)
virtual

Flushes the new coordinate system to disk if the table is writable.

Reimplemented from casacore::ImageInterface< T >.

◆ setDefaultMask()

template<class T >
virtual void casacore::PagedImage< T >::setDefaultMask ( const String maskName)
virtual

Set the default pixelmask to the mask with the given name (which has to exist in the "masks" group).

If the image table is writable, the setting is persistent by writing the name as a keyword. If the given regionName is the empty string, the default pixelmask is unset.

Reimplemented from casacore::ImageInterface< T >.

◆ setImageInfo()

template<class T >
virtual Bool casacore::PagedImage< T >::setImageInfo ( const ImageInfo info)
virtual

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.

Note that setImageInfo REPLACES the information with the new information. It can fail if, e.g., the underlying table is not writable.

Reimplemented from casacore::ImageInterface< T >.

◆ setMaximumCacheSize()

template<class T >
virtual void casacore::PagedImage< T >::setMaximumCacheSize ( uInt  howManyPixels)
virtual

Set the maximum (allowed) cache size as indicated.

Reimplemented from casacore::LatticeBase.

◆ setMiscInfo()

template<class T >
virtual Bool casacore::PagedImage< T >::setMiscInfo ( const RecordInterface newInfo)
virtual

Replace the miscinfo in the PagedImage.

It can fail if, e.g., the underlying table is not writable.

Reimplemented from casacore::ImageInterface< T >.

◆ setTableType()

template<class T >
void casacore::PagedImage< T >::setTableType ( )
private

◆ setUnits()

template<class T >
virtual Bool casacore::PagedImage< T >::setUnits ( const Unit newUnits)
virtual

Function which sets the units associated with the image pixels (i.e.

the "brightness" unit). setUnits() returns False if it cannot set the unit for some reason (e.g. the underlying file is not writable).

Reimplemented from casacore::ImageInterface< T >.

◆ shape()

template<class T >
virtual IPosition casacore::PagedImage< T >::shape ( ) const
virtual

Return the shape of the image.

Implements casacore::LatticeBase.

◆ showCacheStatistics()

template<class T >
virtual void casacore::PagedImage< T >::showCacheStatistics ( ostream &  os) const
virtual

Report on cache success.

Reimplemented from casacore::LatticeBase.

◆ table() [1/2]

template<class T >
Table& casacore::PagedImage< T >::table ( )
inline

Return the table holding the data.

Definition at line 292 of file PagedImage.h.

References casacore::PagedImage< T >::map_p.

Referenced by casacore::PagedImage< T >::table().

◆ table() [2/2]

template<class T >
const Table& casacore::PagedImage< T >::table ( ) const
inlineprivate

Definition at line 428 of file PagedImage.h.

References casacore::PagedImage< T >::table().

◆ tempClose()

template<class T >
virtual void casacore::PagedImage< T >::tempClose ( )
virtual

Close the Image and associated files temporarily.

It'll be reopened automatically when needed or when reopen is called explicitly.

Reimplemented from casacore::LatticeBase.

◆ unlock()

template<class T >
virtual void casacore::PagedImage< T >::unlock ( )
virtual

Reimplemented from casacore::LatticeBase.

◆ useMask()

template<class T >
virtual void casacore::PagedImage< T >::useMask ( MaskSpecifier  = MaskSpecifier())
virtual

Use the mask as specified.

If a mask was already in use, it is replaced by the new one.

Reimplemented from casacore::ImageInterface< T >.

Member Data Documentation

◆ itsAttrHandler

template<class T >
ImageAttrHandlerCasa casacore::PagedImage< T >::itsAttrHandler
private

Definition at line 434 of file PagedImage.h.

◆ map_p

template<class T >
PagedArray<T> casacore::PagedImage< T >::map_p
private

Definition at line 432 of file PagedImage.h.

Referenced by casacore::PagedImage< T >::table().

◆ regionPtr_p

template<class T >
LatticeRegion* casacore::PagedImage< T >::regionPtr_p
private

Definition at line 433 of file PagedImage.h.


The documentation for this class was generated from the following files: