casa
5.7.0-16
|
An image crosscut based on a curve in a plane. More...
#include <CurvedImage2D.h>
Public Member Functions | |
CurvedImage2D () | |
The default constructor. More... | |
CurvedImage2D (const ImageInterface< T > &, const CLInterpolator2D< T > &, const PixelCurve1D &, uInt axis1, uInt axis2, Int curveAxis=-1) | |
Take a curved slice from the given image. More... | |
CurvedImage2D (const CurvedImage2D< T > &other) | |
Copy constructor (reference semantics). More... | |
virtual | ~CurvedImage2D () |
CurvedImage2D< T > & | operator= (const CurvedImage2D< T > &other) |
Assignment (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 derived class). More... | |
virtual Bool | isMasked () const |
Is the CurvedImage2D masked? It is if its parent image is masked. More... | |
virtual Bool | hasPixelMask () const |
Does the image object have a pixelmask? It does if its parent has a pixelmask. More... | |
virtual const Lattice< Bool > & | pixelMask () const |
Get access to the pixelmask in use (thus to the pixelmask of the parent). More... | |
virtual Lattice< Bool > & | pixelMask () |
virtual const LatticeRegion * | getRegionPtr () const |
Get the region used (always returns 0). More... | |
virtual Bool | isPersistent () const |
A CurvedImage2D is not persistent. More... | |
virtual Bool | isPaged () const |
Is the CurvedImage2D paged to disk? More... | |
virtual Bool | isWritable () const |
An CurvedImage2D is not writable. More... | |
virtual IPosition | shape () const |
Returns the shape of the CurvedImage2D. More... | |
virtual uInt | advisedMaxPixels () const |
This function returns the recommended maximum number of pixels to include in the cursor of an iterator. More... | |
virtual void | resize (const TiledShape &newShape) |
Function which changes the shape of the CurvedImage2D. More... | |
virtual String | name (Bool stripPath=False) const |
Return the name of the parent ImageInterface object. More... | |
virtual Bool | ok () const |
Check class invariants. More... | |
virtual ImageAttrHandler & | attrHandler (Bool createHandler=False) |
Get access to the attribute handler (of the parent image). More... | |
virtual Bool | doGetSlice (Array< T > &buffer, const Slicer §ion) |
Do the actual getting of an array of values. More... | |
virtual void | doPutSlice (const Array< T > &sourceBuffer, const IPosition &where, const IPosition &stride) |
Putting data is not possible. More... | |
virtual Bool | doGetMaskSlice (Array< Bool > &buffer, const Slicer §ion) |
Get a section of the mask. More... | |
virtual LatticeIterInterface< T > * | makeIter (const LatticeNavigator &navigator, Bool useRef) const |
This function is used by the LatticeIterator class to generate an iterator of the correct type for this Lattice. More... | |
virtual IPosition | doNiceCursorShape (uInt maxPixels) const |
Get the best cursor shape. More... | |
virtual Bool | lock (FileLocker::LockType, uInt nattempts) |
Handle the (un)locking and syncing, etc. More... | |
virtual void | unlock () |
virtual Bool | hasLock (FileLocker::LockType) const |
virtual void | resync () |
Resynchronize the Lattice object with the lattice file. More... | |
virtual void | flush () |
Flush the data (but do not unlock). More... | |
virtual void | tempClose () |
Temporarily close the lattice. More... | |
virtual void | reopen () |
Explicitly reopen the temporarily closed lattice. More... | |
Public Member Functions inherited from casacore::ImageInterface< T > | |
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 Bool | setUnits (const Unit &newUnits) |
Function which get and set the units associated with the image pixels (i.e. More... | |
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. More... | |
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... | |
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. More... | |
ImageInfo & | rwImageInfo () |
Get non-const access to the ImageInfo. More... | |
virtual Bool | setImageInfo (const ImageInfo &info) |
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 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 Vector< String > | regionNames (RegionHandler::GroupType=RegionHandler::Any) const |
Get the names of all regions/masks. More... | |
virtual void | useMask (MaskSpecifier=MaskSpecifier()) |
Use the mask as specified. More... | |
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). 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) |
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... | |
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 |
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... | |
T | operator() (const IPosition &where) const |
Return the value of the single element located at the argument IPosition. More... | |
virtual T | getAt (const IPosition &where) const |
virtual void | putAt (const T &value, const IPosition &where) |
Put the value of a single element. 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... | |
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) |
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 |
virtual uInt | maximumCacheSize () const |
Maximum cache size - not necessarily all used. More... | |
virtual void | setMaximumCacheSize (uInt howManyPixels) |
Set the maximum (allowed) cache size as indicated. More... | |
virtual void | setCacheSizeInTiles (uInt howManyTiles) |
Set the actual cache size for this Array to be big enough for the indicated number of tiles. 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 | 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... | |
Private Attributes | |
ImageInterface< T > * | itsImagePtr |
CurvedLattice2D< T > * | itsCurLatPtr |
Additional Inherited Members | |
Protected Member Functions inherited from casacore::ImageInterface< T > | |
ImageInterface & | operator= (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... | |
RegionHandler * | getRegionHandler () |
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 > &) |
template<> | |
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... | |
LatticeBase & | operator= (const LatticeBase &) |
void | throwBoolMath () const |
Throw an exception for arithmetic on a Bool Lattice. More... | |
An image crosscut based on a curve in a plane.
Public interface
Class CurvedImage2D can be used to make a crosscut through an image with a dimensionality >= 2. The dimensionality of the resulting image is one less. The crosscut is based on a curve defined by a PixelCurve1D object. The curve can be any 1-dim function (e.g. straight line, spline) supported by the Functionals module. The curve must be in one of the main planes of the image as defined by the axes arguments in the constructor.
For example: in an RA-DEC-FREQ image a straight line can be defined in the RA-DEC plane (axis1=0, axis2=1) from blc {0,0) to trc (511,511). The crosscut will follow this line, so the result is a 2-dim image with axes 'line' and FREQ. So it contains the spectrum for all points on the line (points (0,0), (1,1)... (511,511)).
In this example the line only contains exact grid points. In practice that usually won't be case, so interpolation has to be done. This is done by a class derived from CLInterpolator2D, so any interpolation scheme is possible. Currently only the nearest neighbour scheme is implemented (CLIPNearest2D).
The following example uses a 3-dim image. It makes a crosscut using a line from the blc to the trc in the XY plane. The number of points on the line is the maximum of the number of points in X and Y.
Note that in the general case the line (or any curve) won't be from the blc to the trc. In fact, it is possible to give any starting and end point and any number of points on the curve.
Users like to view arbitrary image crosscuts.
Definition at line 113 of file CurvedImage2D.h.
casacore::CurvedImage2D< T >::CurvedImage2D | ( | ) |
The default constructor.
casacore::CurvedImage2D< T >::CurvedImage2D | ( | const ImageInterface< T > & | , |
const CLInterpolator2D< T > & | , | ||
const PixelCurve1D & | , | ||
uInt | axis1, | ||
uInt | axis2, | ||
Int | curveAxis = -1 |
||
) |
Take a curved slice from the given image.
The PixelCurve1D object defines the curve in one of the planes of the image. The arguments axis1 and axis2 define the plane the curve is in. The CLInterpolator2D object defines the interpolation scheme for pixels that are not on grid points. An example is CLIPNearest2D which takes the nearest neighbour. The dimensionality of the CurvedImage2D is one less than the dimensionality of the given image. Two axes (axis1 and axis2) are replaced by the new axis representing the curve. The argument curveAxis defines the axis number of the new axis. It defaults to the last axis. An exception is thrown if the dimensionality of the input image is < 2 or if the given axes numbers are too high. Note that the output CoordinateSystem of the CurvedImage is just a dummy LinearCoordinate at this point. The values are all arbitrary.
casacore::CurvedImage2D< T >::CurvedImage2D | ( | const CurvedImage2D< T > & | other | ) |
Copy constructor (reference semantics).
|
virtual |
|
virtual |
This function returns the recommended maximum number of pixels to include in the cursor of an iterator.
Reimplemented from casacore::Lattice< T >.
|
virtual |
Get access to the attribute handler (of the parent image).
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 >.
|
virtual |
Make a copy of the object (reference semantics).
Implements casacore::ImageInterface< T >.
|
virtual |
Get a section of the mask.
Reimplemented from casacore::MaskedLattice< T >.
|
virtual |
Do the actual getting of an array of values.
Implements casacore::Lattice< T >.
|
virtual |
Get the best cursor shape.
Reimplemented from casacore::LatticeBase.
|
virtual |
Putting data is not possible.
Implements casacore::Lattice< T >.
|
virtual |
Flush the data (but do not unlock).
By default the function does not do anything at all.
Reimplemented from casacore::LatticeBase.
|
virtual |
Get the region used (always returns 0).
Implements casacore::MaskedLattice< T >.
|
virtual |
Reimplemented from casacore::LatticeBase.
|
virtual |
Does the image object have a pixelmask? It does if its parent has a pixelmask.
Reimplemented from casacore::MaskedLattice< T >.
|
virtual |
Get the image type (returns name of derived class).
Implements casacore::ImageInterface< T >.
|
virtual |
Is the CurvedImage2D masked? It is if its parent image is masked.
Reimplemented from casacore::MaskedLattice< T >.
|
virtual |
Is the CurvedImage2D paged to disk?
Reimplemented from casacore::LatticeBase.
|
virtual |
A CurvedImage2D is not persistent.
Reimplemented from casacore::LatticeBase.
|
virtual |
An CurvedImage2D is not writable.
Reimplemented from casacore::LatticeBase.
|
virtual |
Handle the (un)locking and syncing, etc.
Reimplemented from casacore::LatticeBase.
|
virtual |
This function is used by the LatticeIterator class to generate an iterator of the correct type for this Lattice.
Not recommended for general use.
Reimplemented from casacore::Lattice< T >.
|
virtual |
Return the name of the parent ImageInterface object.
Implements casacore::ImageInterface< T >.
|
virtual |
Check class invariants.
Implements casacore::ImageInterface< T >.
CurvedImage2D<T>& casacore::CurvedImage2D< T >::operator= | ( | const CurvedImage2D< T > & | other | ) |
Assignment (reference semantics).
|
virtual |
Get access to the pixelmask in use (thus to the pixelmask of the parent).
An exception is thrown if the parent does not have a pixelmask.
Reimplemented from casacore::MaskedLattice< T >.
|
virtual |
Reimplemented from casacore::MaskedLattice< T >.
|
virtual |
Explicitly reopen the temporarily closed lattice.
By default the function does not do anything at all.
Reimplemented from casacore::LatticeBase.
|
virtual |
Function which changes the shape of the CurvedImage2D.
Throws an exception as resizing an CurvedImage2D is not possible.
Implements casacore::ImageInterface< T >.
|
virtual |
Resynchronize the Lattice object with the lattice file.
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.
By default the function does not do anything at all.
Reimplemented from casacore::LatticeBase.
|
virtual |
Returns the shape of the CurvedImage2D.
Implements casacore::LatticeBase.
|
virtual |
Temporarily close the lattice.
It will be reopened automatically on the next access.
By default the function does not do anything at all.
Reimplemented from casacore::LatticeBase.
|
virtual |
Reimplemented from casacore::LatticeBase.
|
private |
Definition at line 240 of file CurvedImage2D.h.
|
private |
Definition at line 239 of file CurvedImage2D.h.