|
casacore
|
#include <LCSlicer.h>
Public Member Functions | |
| LCSlicer () | |
| LCSlicer (const Vector< Float > &blc, const Vector< Float > &trc, Bool fractionalBlcTrc=False, RegionType::AbsRelType=RegionType::Abs) | |
| Construct a slicer from the blc, trc, and stride (default 1). | |
| LCSlicer (const Vector< Float > &blc, const Vector< Float > &trc, const Vector< Float > &inc, Bool fractionalBlcTrc=False, RegionType::AbsRelType=RegionType::Abs) | |
| LCSlicer (const Vector< Float > &blc, const Vector< Float > &trc, const Vector< Float > &inc, const Vector< Bool > &fractionalBlc, const Vector< Bool > &fractionalTrc, const Vector< Bool > &fractionalInc, const Vector< Int > &absRelBlc, const Vector< Int > &absRelTrc) | |
| LCSlicer (const Vector< Double > &blc, const Vector< Double > &trc, Bool fractionalBlcTrc=False, RegionType::AbsRelType=RegionType::Abs) | |
| LCSlicer (const Vector< Double > &blc, const Vector< Double > &trc, const Vector< Double > &inc, Bool fractionalBlcTrc=False, RegionType::AbsRelType=RegionType::Abs) | |
| LCSlicer (const Vector< Double > &blc, const Vector< Double > &trc, const Vector< Double > &inc, const Vector< Bool > &fractionalBlc, const Vector< Bool > &fractionalTrc, const Vector< Bool > &fractionalInc, const Vector< Int > &absRelBlc, const Vector< Int > &absRelTrc) | |
| LCSlicer (const Slicer &slicer) | |
| LCSlicer (const IPosition &blc, const IPosition &trc, RegionType::AbsRelType=RegionType::Abs) | |
| LCSlicer (const IPosition &blc, const IPosition &trc, const IPosition &inc, RegionType::AbsRelType=RegionType::Abs) | |
| LCSlicer (const IPosition &blc, const IPosition &trc, const IPosition &inc, const Vector< Int > &absRelBlc, const Vector< Int > &absRelTrc) | |
| LCSlicer (const LCSlicer &other) | |
| Copy constructor (reference semantics). | |
| ~LCSlicer () | |
| LCSlicer & | operator= (const LCSlicer &other) |
| Assignment (copy semantics). | |
| Bool | operator== (const LCSlicer &other) const |
| Test for equality. | |
| Bool | operator!= (const LCSlicer &other) const |
| Bool | isComplete () const |
| The region is completely specified if it is absolute, not fractional, and has no unspecified values. | |
| uInt | ndim () const |
| Get the dimensionality of the region. | |
| const Vector< Float > & | blc () const |
| Simple accessor functions. | |
| const Vector< Float > & | trc () const |
| const Vector< Float > & | inc () const |
| Bool | isFractional () const |
| Bool | isAbsolute () const |
| Bool | isUnspecified () const |
| Bool | isStrided () const |
| String | type () const |
| Get the region type. | |
| const String & | comment () const |
| Get or set the comment. | |
| void | setComment (const String &comment) |
| Slicer | toSlicer (const IPosition &referencePixel, const IPosition &latticeShape) const |
| Make the region complete using the given reference pixel and shape. | |
| Slicer | toSlicer (const Vector< Double > &referencePixel, const IPosition &latticeShape) const |
| Slicer | toSlicer (const Vector< Float > &referencePixel, const IPosition &newLatticeShape) const |
| TableRecord | toRecord (const String &tableName) const |
| Convert the object to a record. | |
Static Public Member Functions | |
| static String | className () |
| Get the class name (to store in the record). | |
| static LCSlicer * | fromRecord (const TableRecord &, const String &tablename) |
| Convert to correct object from a record. | |
Private Member Functions | |
| void | fillFlags (Bool fractional, Int absRel, uInt nrblc, uInt nrtrc, uInt nrinc) |
| Fill the pixel based flags from the general ones. | |
| void | fillFromDouble (const Vector< Double > &blc, const Vector< Double > &trc, const Vector< Double > &inc) |
| Fill the vectors from the values given as doubles. | |
| void | fillFromIPosition (const IPosition &blc, const IPosition &trc, const IPosition &inc) |
| Fill the vectors from the values given as IPositions. | |
| void | fill () |
| Fill the remaining variables. | |
Private Attributes | |
| Vector< Float > | itsBlc |
| Vector< Float > | itsTrc |
| Vector< Float > | itsInc |
| Vector< Bool > | itsFracBlc |
| Vector< Bool > | itsFracTrc |
| Vector< Bool > | itsFracInc |
| Vector< Int > | itsAbsRelBlc |
| Vector< Int > | itsAbsRelTrc |
| Bool | itsIsFractional |
| Bool | itsIsAbsolute |
| Bool | itsIsUnspecified |
| Bool | itsIsStrided |
| String | itsComment |
Class to define a rectangular box of interest with strides.
Public interface
The LCSlicer makes it possible to define a rectangular box with strides. Note that this class is not derived from LCRegion, so it cannot be used in a compound region object like LCUnion. The reason is that strides make it impossible to use a region in a compound.
The slicer region can be defined from an Slicer object defining the blc/trc and a vector (of the same length) containing the strides. The LCSlicer can be of any type (thus relative, fractional, unspecified), while the strides can be defined as a number or a fraction.
It is also possible to construct it directly from a Slicer object,
Definition at line 82 of file LCSlicer.h.
| casacore::LCSlicer::LCSlicer | ( | ) |
Referenced by fromRecord(), LCSlicer(), operator!=(), operator=(), and operator==().
| casacore::LCSlicer::LCSlicer | ( | const Vector< Float > & | blc, |
| const Vector< Float > & | trc, | ||
| Bool | fractionalBlcTrc = False, | ||
| RegionType::AbsRelType | = RegionType::Abs ) |
Construct a slicer from the blc, trc, and stride (default 1).
The vectors can be different in lengths. The longest determines the dimensionality of the region. The shorter ones get padded with default values.
For each axis (or all axes) it can be defined if the blc/trc are given as pixel coordinates or as fractional values between 0 and 1. In the latter case the true pixel coordinate is derived from the image shape.
Also the region type can be given, if needed per axis.
References casacore::RegionType::Abs, blc(), casacore::False, and trc().
| casacore::LCSlicer::LCSlicer | ( | const Vector< Float > & | blc, |
| const Vector< Float > & | trc, | ||
| const Vector< Float > & | inc, | ||
| Bool | fractionalBlcTrc = False, | ||
| RegionType::AbsRelType | = RegionType::Abs ) |
References casacore::RegionType::Abs, blc(), casacore::False, inc(), and trc().
| casacore::LCSlicer::LCSlicer | ( | const Vector< Double > & | blc, |
| const Vector< Double > & | trc, | ||
| Bool | fractionalBlcTrc = False, | ||
| RegionType::AbsRelType | = RegionType::Abs ) |
References casacore::RegionType::Abs, blc(), casacore::False, and trc().
| casacore::LCSlicer::LCSlicer | ( | const Vector< Double > & | blc, |
| const Vector< Double > & | trc, | ||
| const Vector< Double > & | inc, | ||
| Bool | fractionalBlcTrc = False, | ||
| RegionType::AbsRelType | = RegionType::Abs ) |
References casacore::RegionType::Abs, blc(), casacore::False, inc(), and trc().
| casacore::LCSlicer::LCSlicer | ( | const Vector< Double > & | blc, |
| const Vector< Double > & | trc, | ||
| const Vector< Double > & | inc, | ||
| const Vector< Bool > & | fractionalBlc, | ||
| const Vector< Bool > & | fractionalTrc, | ||
| const Vector< Bool > & | fractionalInc, | ||
| const Vector< Int > & | absRelBlc, | ||
| const Vector< Int > & | absRelTrc ) |
| casacore::LCSlicer::LCSlicer | ( | const Slicer & | slicer | ) |
| casacore::LCSlicer::LCSlicer | ( | const IPosition & | blc, |
| const IPosition & | trc, | ||
| RegionType::AbsRelType | = RegionType::Abs ) |
References casacore::RegionType::Abs, blc(), and trc().
| casacore::LCSlicer::LCSlicer | ( | const IPosition & | blc, |
| const IPosition & | trc, | ||
| const IPosition & | inc, | ||
| RegionType::AbsRelType | = RegionType::Abs ) |
References casacore::RegionType::Abs, blc(), inc(), and trc().
| casacore::LCSlicer::LCSlicer | ( | const LCSlicer & | other | ) |
Copy constructor (reference semantics).
References LCSlicer().
| casacore::LCSlicer::~LCSlicer | ( | ) |
Simple accessor functions.
Definition at line 252 of file LCSlicer.h.
References itsBlc.
Referenced by fillFromDouble(), fillFromIPosition(), LCSlicer(), LCSlicer(), LCSlicer(), LCSlicer(), LCSlicer(), LCSlicer(), LCSlicer(), LCSlicer(), and LCSlicer().
|
static |
Get the class name (to store in the record).
|
inline |
Get or set the comment.
Definition at line 280 of file LCSlicer.h.
References itsComment.
Referenced by setComment(), and type().
|
private |
Fill the remaining variables.
It also adjust the lengths of the vectors if they are different. Check if everything is given correctly.
|
private |
Fill the pixel based flags from the general ones.
|
static |
Convert to correct object from a record.
References LCSlicer().
Definition at line 260 of file LCSlicer.h.
References itsInc.
Referenced by fillFromDouble(), fillFromIPosition(), LCSlicer(), LCSlicer(), LCSlicer(), LCSlicer(), LCSlicer(), and LCSlicer().
|
inline |
Definition at line 268 of file LCSlicer.h.
References itsIsAbsolute.
| Bool casacore::LCSlicer::isComplete | ( | ) | const |
The region is completely specified if it is absolute, not fractional, and has no unspecified values.
|
inline |
Definition at line 264 of file LCSlicer.h.
References itsIsFractional.
|
inline |
Definition at line 276 of file LCSlicer.h.
References itsIsStrided.
|
inline |
Definition at line 272 of file LCSlicer.h.
References itsIsUnspecified.
|
inline |
Definition at line 244 of file LCSlicer.h.
References LCSlicer().
Assignment (copy semantics).
References LCSlicer().
Test for equality.
True is returned when the given region is a slicer with exactly the same specification as this slicer. It does not compare the comment.
References LCSlicer().
|
inline |
Definition at line 284 of file LCSlicer.h.
References comment(), and itsComment.
| TableRecord casacore::LCSlicer::toRecord | ( | const String & | tableName | ) | const |
Convert the object to a record.
| Slicer casacore::LCSlicer::toSlicer | ( | const IPosition & | referencePixel, |
| const IPosition & | latticeShape ) const |
Make the region complete using the given reference pixel and shape.
It returns a new region where the relative regions are made absolute by translating them with respect to the reference pixel. Furthermore unspecified values are filled in and fractional values are turned into absolute ones.
| Slicer casacore::LCSlicer::toSlicer | ( | const Vector< Double > & | referencePixel, |
| const IPosition & | latticeShape ) const |
| Slicer casacore::LCSlicer::toSlicer | ( | const Vector< Float > & | referencePixel, |
| const IPosition & | newLatticeShape ) const |
Definition at line 256 of file LCSlicer.h.
References itsTrc.
Referenced by fillFromDouble(), fillFromIPosition(), LCSlicer(), LCSlicer(), LCSlicer(), LCSlicer(), LCSlicer(), LCSlicer(), LCSlicer(), LCSlicer(), and LCSlicer().
| String casacore::LCSlicer::type | ( | ) | const |
Definition at line 234 of file LCSlicer.h.
Definition at line 235 of file LCSlicer.h.
Definition at line 228 of file LCSlicer.h.
|
private |
Definition at line 240 of file LCSlicer.h.
Referenced by comment(), and setComment().
Definition at line 231 of file LCSlicer.h.
Definition at line 233 of file LCSlicer.h.
Definition at line 232 of file LCSlicer.h.
Definition at line 230 of file LCSlicer.h.
Referenced by inc().
|
private |
Definition at line 237 of file LCSlicer.h.
Referenced by isAbsolute().
|
private |
Definition at line 236 of file LCSlicer.h.
Referenced by isFractional().
|
private |
Definition at line 239 of file LCSlicer.h.
Referenced by isStrided().
|
private |
Definition at line 238 of file LCSlicer.h.
Referenced by isUnspecified().
Definition at line 229 of file LCSlicer.h.
Referenced by trc().