casacore
|
#include <LCRegionMulti.h>
Public Member Functions | |
LCRegionMulti () | |
LCRegionMulti (const LCRegion ®ion1, const LCRegion ®ion2) | |
Construct from 2 regions. More... | |
LCRegionMulti (Bool takeOver, const LCRegion *region1, const LCRegion *region2=0, const LCRegion *region3=0, const LCRegion *region4=0, const LCRegion *region5=0, const LCRegion *region6=0, const LCRegion *region7=0, const LCRegion *region8=0, const LCRegion *region9=0, const LCRegion *region10=0) | |
Construct from multiple regions. More... | |
LCRegionMulti (Bool takeOver, const PtrBlock< const LCRegion * > ®ions) | |
Construct from multiple regions given as a Block. More... | |
LCRegionMulti (const LCRegionMulti &other) | |
Copy constructor (copy semantics). More... | |
virtual | ~LCRegionMulti () |
LCRegionMulti & | operator= (const LCRegionMulti &other) |
Assignment (copy semantics). More... | |
virtual Bool | operator== (const LCRegion &other) const |
Comparison More... | |
virtual Bool | hasMask () const |
Does the region have a mask? More... | |
Public Member Functions inherited from casacore::LCRegion | |
LCRegion () | |
LCRegion (const IPosition &latticeShape) | |
Construct with the lattice shape only. More... | |
LCRegion (const LCRegion &other) | |
Copy constructor (copy semantics). More... | |
virtual | ~LCRegion () |
Bool | operator!= (const LCRegion &other) const |
Non-equality. More... | |
virtual Lattice< Bool > * | clone () const |
Make a copy of the derived object. More... | |
virtual LCRegion * | cloneRegion () const =0 |
virtual void | handleDelete () |
Handle deletion of the region by deleting possible tables. More... | |
virtual void | handleRename (const String &newName, Bool overwrite) |
Handle renaming the region by renaming possible tables. More... | |
virtual String | type () const =0 |
Region type. More... | |
const String & | comment () const |
Get or set the comment. More... | |
void | setComment (const String &comment) |
LCRegion * | translate (const IPosition &translateVector) const |
Construct another LCRegion (for e.g. More... | |
LCRegion * | translate (const IPosition &translateVector, const IPosition &newLatticeShape) const |
LCRegion * | translate (const Vector< Float > &translateVector) const |
LCRegion * | translate (const Vector< Float > &translateVector, const IPosition &newLatticeShape) const |
const IPosition & | latticeShape () const |
Give the full lattice shape. More... | |
const Slicer & | boundingBox () const |
Give the bounding box. More... | |
Slicer | expand (const Slicer &slicer) const |
Expand a slicer or position in the region to the full lattice. More... | |
IPosition | expand (const IPosition &index) const |
virtual TableRecord | toRecord (const String &tableName) const =0 |
Convert the (derived) object to a record. More... | |
virtual uInt | ndim () const |
Return the dimensionality of the region. More... | |
virtual IPosition | shape () const |
Return the shape of the region (i.e. More... | |
virtual Bool | isWritable () const |
Usually the lattice (i.e. More... | |
virtual void | doPutSlice (const Array< Bool > &sourceBuffer, const IPosition &where, const IPosition &stride) |
Regions can usually not be put; i.e. More... | |
virtual void | set (const Bool &value) |
Set all elements in the Lattice to the given value. More... | |
virtual void | apply (Bool(*function)(Bool)) |
Replace every element, x, of the Lattice with the result of f(x). More... | |
virtual void | apply (Bool(*function)(const Bool &)) |
virtual void | apply (const Functional< Bool, Bool > &function) |
virtual void | putAt (const Bool &value, const IPosition &where) |
Put the value of a single element. More... | |
virtual void | copyData (const Lattice< Bool > &from) |
Copy the data from the given lattice to this one. More... | |
Public Member Functions inherited from casacore::Lattice< Bool > | |
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... | |
Bool | operator() (const IPosition &where) const |
Return the value of the single element located at the argument IPosition. More... | |
virtual Bool | getAt (const IPosition &where) const |
Bool | get (COWPtr< Array< Bool > > &buffer, Bool removeDegenerateAxes=False) const |
Functions which extract an Array of values from a Lattice. More... | |
Bool | get (Array< Bool > &buffer, Bool removeDegenerateAxes=False) |
Array< Bool > | get (Bool removeDegenerateAxes=False) const |
Bool | getSlice (COWPtr< Array< Bool > > &buffer, const Slicer §ion, Bool removeDegenerateAxes=False) const |
Bool | getSlice (COWPtr< Array< Bool > > &buffer, const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) const |
Bool | getSlice (COWPtr< Array< Bool > > &buffer, const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) const |
Bool | getSlice (Array< Bool > &buffer, const Slicer §ion, Bool removeDegenerateAxes=False) |
Bool | getSlice (Array< Bool > &buffer, const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) |
Bool | getSlice (Array< Bool > &buffer, const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) |
Array< Bool > | getSlice (const Slicer §ion, Bool removeDegenerateAxes=False) const |
Array< Bool > | getSlice (const IPosition &start, const IPosition &shape, Bool removeDegenerateAxes=False) const |
Array< Bool > | getSlice (const IPosition &start, const IPosition &shape, const IPosition &stride, Bool removeDegenerateAxes=False) const |
void | putSlice (const Array< Bool > &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< Bool > &sourceBuffer, const IPosition &where) |
void | put (const Array< Bool > &sourceBuffer) |
void | operator+= (const Lattice< Bool > &other) |
Add, subtract, multiple, or divide by another Lattice. More... | |
void | operator-= (const Lattice< Bool > &other) |
void | operator*= (const Lattice< Bool > &other) |
void | operator/= (const Lattice< Bool > &other) |
virtual void | copyDataTo (Lattice< Bool > &to) const |
Copy the data from this lattice to the given lattice. More... | |
virtual uInt | advisedMaxPixels () const |
This function returns the advised maximum number of pixels to include in the cursor of an iterator. More... | |
virtual LatticeIterInterface< Bool > * | makeIter (const LatticeNavigator &navigator, Bool useRef) const |
These functions are used by the LatticeIterator class to generate an iterator of the correct type for a specified 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 String | imageType () const |
Get the image type (returns name of derived class). More... | |
virtual Bool | isPersistent () const |
Is the lattice persistent and can it be loaded by other processes as well? That is the case for a PagedArray or PagedImage and for an ImageExpr which does not use transient lattices or regions. More... | |
virtual Bool | isPaged () const |
Is the lattice paged to disk? The default implementation returns False. 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 Bool | lock (FileLocker::LockType, uInt nattempts) |
It is strongly recommended to use class LatticeLocker to handle lattice locking. 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... | |
virtual String | name (Bool stripPath=False) const |
Return the name of the current Lattice object. 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... | |
virtual LELCoordinates | lelCoordinates () const |
Return the coordinates of the lattice. 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 Bool | ok () const |
Check class internals - used for debugging. More... | |
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... | |
Protected Member Functions | |
TableRecord | makeRecord (const String &tableName) const |
Store the contributing regions in a record. More... | |
void | multiTranslate (PtrBlock< const LCRegion * > &, const Vector< Float > &translateVector, const IPosition &newLatticeShape) const |
Translate all regions. More... | |
void | fillHasMask () |
Determine if all regions have mask (used by LCIntersection). More... | |
Bool | findAreas (IPosition &bufStart, IPosition &bufEnd, IPosition ®Start, IPosition ®End, const Slicer §ion, uInt regNr) const |
Find which area of the section and region are needed. More... | |
const PtrBlock< const LCRegion * > & | regions () const |
Get the contributing regions. More... | |
LCRegionMulti (const LCRegion *region, const IPosition &latticeShape) | |
Construct from lattice shape and region pointer, which is taken over. More... | |
virtual Bool | doGetSlice (Array< Bool > &buffer, const Slicer §ion) |
Do the actual getting of an array of values. More... | |
virtual void | multiGetSlice (Array< Bool > &buffer, const Slicer §ion)=0 |
Get the values from the class derived from Multi. More... | |
virtual IPosition | doNiceCursorShape (uInt maxPixels) const |
Get the best cursor shape. More... | |
Protected Member Functions inherited from casacore::LCRegion | |
LCRegion & | operator= (const LCRegion &other) |
Assignment (copy semantics) is only useful for derived classes. More... | |
void | setBoundingBox (const Slicer &boundingBox) |
Sometimes it is inconvenient for a derived class to set the bounding box in the constructor. More... | |
void | setShapeAndBoundingBox (const IPosition &latticeShape, const Slicer &boundingBox) |
virtual LCRegion * | doTranslate (const Vector< Float > &translateVector, const IPosition &newLatticeShape) const =0 |
Do the actual translate in a derived class. More... | |
void | defineRecordFields (RecordInterface &record, const String &className) const |
Define the type and class name in the record. More... | |
Protected Member Functions inherited from casacore::Lattice< Bool > | |
Lattice () | |
Define default constructor to satisfy compiler. More... | |
Lattice (const Lattice< Bool > &) | |
Copy constructor and assignment can only be used by derived classes. More... | |
virtual void | handleMath (const Lattice< Bool > &from, int oper) |
Handle the Math operators (+=, -=, *=, /=). More... | |
virtual void | handleMathTo (Lattice< Bool > &to, int oper) const |
void | handleMathTo (Lattice< Bool > &, int) const |
Lattice< Bool > & | operator= (const Lattice< Bool > &) |
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... | |
Static Protected Member Functions | |
static void | unmakeRecord (PtrBlock< const LCRegion * > &, const TableRecord &, const String &tableName) |
Retrieve the contributing objects from the record. More... | |
Private Member Functions | |
void | init (Bool takeOver) |
Check if the regions are correct. More... | |
Private Attributes | |
Int | itsHasMask |
PtrBlock< const LCRegion * > | itsRegions |
Additional Inherited Members | |
Static Public Member Functions inherited from casacore::LCRegion | |
static LCRegion * | fromRecord (const TableRecord &, const String &tableName) |
Convert correct object from a record. More... | |
Make the intersection of 2 or more regions.
Public interface
The LCRegionMulti class is a specialization of class LCRegion. It makes it possible to extend a LCRegion along straight lines to other dimensions. E.g. a circle in the xy-plane can be extended to a cylinder in the xyz-space. includes the intersection border. It can only be used for a lattice of any dimensionality as long as the dimensionality of the (hyper-)intersection matches the dimensionality of the lattice.
The center of the intersection must be inside the lattice
Definition at line 76 of file LCRegionMulti.h.
casacore::LCRegionMulti::LCRegionMulti | ( | ) |
Construct from 2 regions.
casacore::LCRegionMulti::LCRegionMulti | ( | Bool | takeOver, |
const LCRegion * | region1, | ||
const LCRegion * | region2 = 0 , |
||
const LCRegion * | region3 = 0 , |
||
const LCRegion * | region4 = 0 , |
||
const LCRegion * | region5 = 0 , |
||
const LCRegion * | region6 = 0 , |
||
const LCRegion * | region7 = 0 , |
||
const LCRegion * | region8 = 0 , |
||
const LCRegion * | region9 = 0 , |
||
const LCRegion * | region10 = 0 |
||
) |
Construct from multiple regions.
casacore::LCRegionMulti::LCRegionMulti | ( | Bool | takeOver, |
const PtrBlock< const LCRegion * > & | regions | ||
) |
Construct from multiple regions given as a Block.
When takeOver
is True, the destructor will delete the given regions. Otherwise a copy of the regions is made.
casacore::LCRegionMulti::LCRegionMulti | ( | const LCRegionMulti & | other | ) |
Copy constructor (copy semantics).
|
virtual |
|
protected |
Construct from lattice shape and region pointer, which is taken over.
Primarily meant for LCExtension.
|
protectedvirtual |
Do the actual getting of an array of values.
Implements casacore::Lattice< Bool >.
|
protectedvirtual |
Get the best cursor shape.
Reimplemented from casacore::LatticeBase.
Reimplemented in casacore::LCStretch, casacore::LCExtension, and casacore::LCConcatenation.
|
protected |
Determine if all regions have mask (used by LCIntersection).
|
protected |
Find which area of the section and region are needed.
False is returned if no part of the region is included in the section.
|
virtual |
Does the region have a mask?
Implements casacore::LCRegion.
|
private |
Check if the regions are correct.
If needed, make a copy of the region objects.
|
protected |
Store the contributing regions in a record.
|
protectedpure virtual |
Get the values from the class derived from Multi.
It is called when there is a mask. Note that it is not sure whether the buffer has the correct size.
Implemented in casacore::LCUnion, casacore::LCStretch, casacore::LCIntersection, casacore::LCExtension, casacore::LCDifference, casacore::LCConcatenation, and casacore::LCComplement.
|
protected |
Translate all regions.
LCRegionMulti& casacore::LCRegionMulti::operator= | ( | const LCRegionMulti & | other | ) |
Assignment (copy semantics).
Comparison
Reimplemented from casacore::LCRegion.
Reimplemented in casacore::LCUnion, casacore::LCStretch, casacore::LCIntersection, casacore::LCExtension, casacore::LCDifference, casacore::LCConcatenation, and casacore::LCComplement.
Get the contributing regions.
Definition at line 171 of file LCRegionMulti.h.
References itsRegions.
Referenced by casacore::LCExtension::region(), and casacore::LCStretch::region().
|
staticprotected |
Retrieve the contributing objects from the record.
|
private |
Definition at line 166 of file LCRegionMulti.h.
Definition at line 167 of file LCRegionMulti.h.
Referenced by regions().