|
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 81 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 221 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 228 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 223 of file LCSlicer.h.
References itsInc.
Referenced by fillFromDouble(), fillFromIPosition(), LCSlicer(), LCSlicer(), LCSlicer(), LCSlicer(), LCSlicer(), and LCSlicer().
|
inline |
Definition at line 225 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 224 of file LCSlicer.h.
References itsIsFractional.
|
inline |
Definition at line 227 of file LCSlicer.h.
References itsIsStrided.
|
inline |
Definition at line 226 of file LCSlicer.h.
References itsIsUnspecified.
|
inline |
Definition at line 219 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 229 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 222 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 210 of file LCSlicer.h.
Definition at line 211 of file LCSlicer.h.
Definition at line 204 of file LCSlicer.h.
|
private |
Definition at line 216 of file LCSlicer.h.
Referenced by comment(), and setComment().
Definition at line 207 of file LCSlicer.h.
Definition at line 209 of file LCSlicer.h.
Definition at line 208 of file LCSlicer.h.
Definition at line 206 of file LCSlicer.h.
Referenced by inc().
|
private |
Definition at line 213 of file LCSlicer.h.
Referenced by isAbsolute().
|
private |
Definition at line 212 of file LCSlicer.h.
Referenced by isFractional().
|
private |
Definition at line 215 of file LCSlicer.h.
Referenced by isStrided().
|
private |
Definition at line 214 of file LCSlicer.h.
Referenced by isUnspecified().
Definition at line 205 of file LCSlicer.h.
Referenced by trc().