casa
5.7.0-16
|
This class represents a annotation referring to a region specified in an ascii region file as proposed in CAS-2285 <author>Dave Mehringer</author> More...
#include <AnnRegion.h>
Public Member Functions | |
virtual | ~AnnRegion () |
void | setAnnotationOnly (const casacore::Bool isAnnotationOnly) |
casacore::Bool | isAnnotationOnly () const |
is this region an annotation only? ie just for graphical rendering? More... | |
virtual casacore::TableRecord | asRecord () const |
virtual casacore::ImageRegion | asImageRegion () const |
virtual casacore::CountedPtr < const casacore::WCRegion > | getRegion () const |
this version is deprecated, use the version that returns std::shared_ptr instead More... | |
virtual std::shared_ptr< const casacore::WCRegion > | getRegion2 () const |
virtual casacore::Bool | isRegion () const |
returns true unless overridden. More... | |
void | setDifference (const casacore::Bool difference) |
casacore::Bool | isDifference () const |
std::vector< casacore::Double > | getSpectralPixelRange () const |
get the pixel range included in the spectral selection. More... | |
casacore::Bool | setFrequencyLimits (const casacore::Quantity &beginFreq, const casacore::Quantity &endFreq, const casacore::String &freqRefFrame, const casacore::String &dopplerString, const casacore::Quantity &restfreq) |
if freqRefFrame=="" -> use the reference frame of the coordinate system if dopplerString=="" -> use the doppler system associated with the coordinate system if restfreq=casacore::Quantity(0, "Hz") -> use the rest frequency associated with the coordinate system Tacitly does nothing if the coordinate system has no spectral axis. More... | |
Public Member Functions inherited from casa::AnnotationBase | |
virtual | ~AnnotationBase () |
Type | getType () const |
void | setLabel (const casacore::String &label) |
casacore::String | getLabel () const |
void | setColor (const casacore::String &color) |
color must either be a recognized color name or a valid rgb hex string, else an expection is thrown More... | |
void | setColor (const RGB &color) |
color must have three elements all with values between 0 and 255 inclusive or an exception is thrown. More... | |
casacore::String | getColorString () const |
returns the color name if it is recognized or its rgb hex string More... | |
RGB | getColor () const |
get the color associated with this object More... | |
void | setLineStyle (const LineStyle lineStyle) |
LineStyle | getLineStyle () const |
void | setLineWidth (const casacore::uInt linewidth) |
casacore::uInt | getLineWidth () const |
void | setSymbolSize (const casacore::uInt symbolsize) |
casacore::uInt | getSymbolSize () const |
void | setSymbolThickness (const casacore::uInt symbolthickness) |
casacore::uInt | getSymbolThickness () const |
void | setFont (const casacore::String &font) |
casacore::String | getFont () const |
void | setFontSize (const casacore::uInt fontsize) |
casacore::uInt | getFontSize () const |
void | setFontStyle (const FontStyle &fontstyle) |
FontStyle | getFontStyle () const |
void | setUseTex (const casacore::Bool usetex) |
casacore::Bool | isUseTex () const |
void | setLabelColor (const casacore::String &color) |
color must either be a recognized color name or a valid rgb hex string, else an expection is thrown More... | |
void | setLabelColor (const RGB &color) |
color must have three elements all with values between 0 and 255 inclusive or an exception is thrown. More... | |
casacore::String | getLabelColorString () const |
returns the color name if it is recognized or its rgb hex string More... | |
RGB | getLabelColor () const |
get the color associated with this object's label More... | |
casacore::String | getLabelPosition () const |
returns one of top, bottom, left, or right. More... | |
void | setLabelPosition (const casacore::String &position) |
position must have a value in top, bottom, left, or right. More... | |
void | setLabelOffset (const std::vector< casacore::Int > &offset) |
offset must have two elements More... | |
std::vector< casacore::Int > | getLabelOffset () const |
virtual std::ostream & | print (std::ostream &os) const =0 |
void | setGlobals (const casacore::Vector< Keyword > &globalKeys) |
These parameters are included at the global scope. More... | |
const casacore::CoordinateSystem & | getCsys () const |
get the coordinate system associated with this object. More... | |
Direction | getDirections () const |
DEPRECATED Please use getConvertedDirections() the pair elements have longitude as the first member and latitude as the second. More... | |
casacore::Vector < casacore::MFrequency > | getFrequencyLimits () const |
get the frequency limits converted to the spectral frame of the coordinate system of this object. More... | |
casacore::Vector < casacore::Stokes::StokesTypes > | getStokes () const |
Get the stokes for which the selection applies. More... | |
const casacore::Vector < casacore::MDirection > & | getConvertedDirections () const |
same as getDirections, only returns proper MDirections More... | |
Protected Member Functions | |
AnnRegion (const Type shape, const casacore::String &dirRefFrameString, const casacore::CoordinateSystem &csys, const casacore::IPosition &imShape, const casacore::Quantity &beginFreq, const casacore::Quantity &endFreq, const casacore::String &freqRefFrame, const casacore::String &dopplerString, const casacore::Quantity &restfreq, const casacore::Vector< casacore::Stokes::StokesTypes > stokes, const casacore::Bool annotationOnly, casacore::Bool requireImageRegion=true) | |
only to be called by subclasses More... | |
AnnRegion (const Type shape, const casacore::CoordinateSystem &csys, const casacore::IPosition &imShape, const casacore::Vector< casacore::Stokes::StokesTypes > &stokes, casacore::Bool requireImageRegion=true) | |
use if all coordinate values will be specified in the same frames as the input coordinate system. More... | |
AnnRegion (const AnnRegion &other) | |
copy constructor More... | |
AnnRegion & | operator= (const AnnRegion &rhs) |
assignment operator More... | |
casacore::Bool | operator== (const AnnRegion &other) const |
casacore::Bool | hasImageRegion () const |
check if image region has a region More... | |
void | _extend () |
extend the direction plane region over spectral and/or polarization coordinates More... | |
void | _toRecord (const casacore::ImageRegion ®ion) |
casacore::Quantity | _lengthToAngle (const casacore::Quantity &quantity, const casacore::uInt pixelAxis) const |
convert a length in pixels to an angle. More... | |
virtual void | _printPrefix (std::ostream &os) const |
void | _setDirectionRegion (const casacore::ImageRegion ®ion) |
subclasses must call this at construction to set their base region defined in the direction plane More... | |
Protected Member Functions inherited from casa::AnnotationBase | |
AnnotationBase (const Type type, const casacore::String &dirRefFrameString, const casacore::CoordinateSystem &csys, const casacore::Quantity &beginFreq, const casacore::Quantity &endFreq, const casacore::String &freqRefFrame, const casacore::String &dopplerString, const casacore::Quantity &restfreq, const casacore::Vector< casacore::Stokes::StokesTypes > &stokes) | |
if freqRefFrame or dopplerString are empty, the values from the spectral coordinate of csys will be used, if one exists. More... | |
AnnotationBase (const Type type, const casacore::CoordinateSystem &csys, const casacore::Vector< casacore::Stokes::StokesTypes > &stokes) | |
use only if the frame of the input directions is the same as the frame of the coordinate system. More... | |
AnnotationBase & | operator= (const AnnotationBase &other) |
assignment operator More... | |
casacore::MDirection | _directionFromQuantities (const casacore::Quantity &q0, const casacore::Quantity &q1) |
void | _checkAndConvertDirections (const casacore::String &origin, const Direction &dirs) |
virtual void | _printPairs (std::ostream &os) const |
const casacore::IPosition & | _getDirectionAxes () const |
casacore::String | _printDirection (const casacore::Quantity &longitude, const casacore::Quantity &latitude) const |
direction to string, precision of 0.1 mas ra and dec in sexigesimal format, non-equatorial coords in degrees More... | |
void | _setParam (const Keyword k, const casacore::String &s) |
casacore::MDirection::Types | _getDirectionRefFrame () const |
Protected Attributes | |
casacore::Bool | _requireImageRegion |
casacore::ImageRegion | _imageRegion |
casacore::ImageRegion | _directionRegion |
Private Member Functions | |
casacore::WCBox | _makeExtensionBox (const casacore::Vector< casacore::Quantity > &freqRange, const casacore::Vector< casacore::Stokes::StokesTypes > &stokesRange, const casacore::IPosition &pixelAxes) const |
void | _init () |
casacore::Bool | _hasDirectionRegion () |
Private Attributes | |
casacore::Bool | _isAnnotationOnly |
casacore::Bool | _isDifference |
casacore::Bool | _constructing |
casacore::IPosition | _imShape |
std::vector< casacore::Double > | _spectralPixelRange |
Static Private Attributes | |
static const casacore::String | _class |
Additional Inherited Members | |
Public Types inherited from casa::AnnotationBase | |
enum | Type { LINE, VECTOR, TEXT, SYMBOL, RECT_BOX, CENTER_BOX, ROTATED_BOX, POLYGON, POLYLINE, CIRCLE, ANNULUS, ELLIPSE } |
enum | Keyword { COORD, RANGE, FRAME, CORR, VELTYPE, RESTFREQ, LINEWIDTH, LINESTYLE, SYMSIZE, SYMTHICK, COLOR, FONT, FONTSIZE, FONTSTYLE, USETEX, LABEL, LABELCOLOR, LABELPOS, LABELOFF, UNKNOWN_KEYWORD, N_KEYS } |
enum | LineStyle { SOLID, DASHED, DOT_DASHED, DOTTED } |
enum | FontStyle { NORMAL, BOLD, ITALIC, ITALIC_BOLD } |
using | RGB = std::vector< float > |
using | Direction = casacore::Vector< std::pair< casacore::Quantity, casacore::Quantity > > |
The pairs have longitude as the first member and latitude as the second. More... | |
Static Public Member Functions inherited from casa::AnnotationBase | |
static LineStyle | lineStyleFromString (const casacore::String &ls) |
static Type | typeFromString (const casacore::String &type) |
Given a string, return the corresponding annotation type or throw an error if the string does not correspond to an allowed type. More... | |
static casacore::String | typeToString (const Type type) |
static casacore::String | keywordToString (const Keyword key) |
static casacore::String | lineStyleToString (const LineStyle linestyle) |
static FontStyle | fontStyleFromString (const casacore::String &fs) |
static casacore::String | fontStyleToString (const FontStyle fs) |
static casacore::String | colorToString (const RGB &color) |
static void | unitInit () |
set "pix" as valid unit. More... | |
static std::ostream & | print (std::ostream &os, const std::map< Keyword, casacore::String > ¶ms) |
print a set of keyword value pairs More... | |
static std::ostream & | print (std::ostream &os, const LineStyle ls) |
print a line style representation More... | |
static std::ostream & | print (std::ostream &os, const FontStyle fs) |
print a font style representation More... | |
static std::ostream & | print (std::ostream &os, const Direction d) |
static std::list< std::string > | colorChoices () |
Get a list of the user-friendly color names supported. More... | |
Static Public Attributes inherited from casa::AnnotationBase | |
static const RGB | BLACK |
static const RGB | BLUE |
static const RGB | CYAN |
static const RGB | GRAY |
static const RGB | GREEN |
static const RGB | MAGENTA |
static const RGB | ORANGE |
static const RGB | RED |
static const RGB | WHITE |
static const RGB | YELLOW |
static const casacore::String | DEFAULT_LABEL |
static const RGB | DEFAULT_COLOR |
static const LineStyle | DEFAULT_LINESTYLE |
static const casacore::uInt | DEFAULT_LINEWIDTH |
static const casacore::uInt | DEFAULT_SYMBOLSIZE |
static const casacore::uInt | DEFAULT_SYMBOLTHICKNESS |
static const casacore::String | DEFAULT_FONT |
static const casacore::uInt | DEFAULT_FONTSIZE |
static const FontStyle | DEFAULT_FONTSTYLE |
static const casacore::Bool | DEFAULT_USETEX |
static const RGB | DEFAULT_LABELCOLOR |
static const casacore::String | DEFAULT_LABELPOS |
static const std::vector < casacore::Int > | DEFAULT_LABELOFF |
static const casacore::Regex | rgbHexRegex |
Static Protected Member Functions inherited from casa::AnnotationBase | |
static void | _checkMixed (const casacore::String &origin, const Direction &dirs) |
static casacore::String | _toArcsec (const casacore::Quantity &angle) |
convert angle to arcsec, precision 0.1 mas More... | |
static casacore::String | _toDeg (const casacore::Quantity &angle) |
convert angle to degrees, precision 0.1 mas More... | |
static casacore::String | _printPixel (const casacore::Double &d) |
return a string representing a pixel value, precision 1. More... | |
This class represents a annotation referring to a region specified in an ascii region file as proposed in CAS-2285 <author>Dave Mehringer</author>
Public interface
Holds the specification of an annotation containing a region as specified in ASCII format.
This class is meant to be a container for all parameters necessary to specify a region per the format proposal attached to CAS-2285 (https://bugs.nrao.edu/browse/CAS-2285).
Conversions of frequency from one reference frame to another are done here. The position of the reference pixel in the supplied coordinate system is used when converting frequencies.
Definition at line 53 of file AnnRegion.h.
|
virtual |
|
protected |
only to be called by subclasses
beginFreq and endFreq can both be 0, in which case all the spectral range is used if a spectral axis exists in csys</csys>. If one of <src>beginFreq
or endFreq
is given, the other must be given. Frequency units can either conform to Hz, m/s, or pix. If beginFreq
and endFreq
are not specifed or if they are specified in pixel units, freqRefFrame
, dopplerString
, and restfreq
are ignored. If provided, beginFreq
and endFreq
must conform to the same units. requireImageRegion
indicates whether to rethrow the ToLCRegionConversionError exception when the region is outside the image, or to create the AnnRegion object even if the ImageRegion has no lattice region. The default (true) rethrows the exception to maintain the previous behavior. CAS-12631: added for CARTA, which can import regions outside an image.
|
protected |
use if all coordinate values will be specified in the same frames as the input coordinate system.
frequencies and the annotationOnly flag can be set after construction. By default, all frequencies and all polarizations are used, and the annotationOnly flag is false
|
protected |
copy constructor
|
protected |
extend the direction plane region over spectral and/or polarization coordinates
|
private |
|
private |
|
protected |
convert a length in pixels to an angle.
|
private |
|
protectedvirtual |
|
protected |
subclasses must call this at construction to set their base region defined in the direction plane
|
protected |
|
virtual |
|
virtual |
|
virtual |
this version is deprecated, use the version that returns std::shared_ptr instead
|
virtual |
std::vector<casacore::Double> casa::AnnRegion::getSpectralPixelRange | ( | ) | const |
get the pixel range included in the spectral selection.
If there is no spectral axis, a zero length vector is returned. Otherwise, a vector of two values is returned. The zeroth value will always be less than or equal to the first.
|
protected |
check if image region has a region
|
virtual |
is this region an annotation only? ie just for graphical rendering?
Reimplemented from casa::AnnotationBase.
casacore::Bool casa::AnnRegion::isDifference | ( | ) | const |
|
virtual |
returns true unless overridden.
Reimplemented from casa::AnnotationBase.
|
protected |
void casa::AnnRegion::setAnnotationOnly | ( | const casacore::Bool | isAnnotationOnly | ) |
void casa::AnnRegion::setDifference | ( | const casacore::Bool | difference | ) |
|
virtual |
if freqRefFrame=="" -> use the reference frame of the coordinate system if dopplerString=="" -> use the doppler system associated with the coordinate system if restfreq=casacore::Quantity(0, "Hz") -> use the rest frequency associated with the coordinate system Tacitly does nothing if the coordinate system has no spectral axis.
Returns true if frequencies actually need to be set and were set.
Reimplemented from casa::AnnotationBase.
|
staticprivate |
Definition at line 181 of file AnnRegion.h.
|
private |
Definition at line 177 of file AnnRegion.h.
|
protected |
Definition at line 172 of file AnnRegion.h.
|
protected |
Definition at line 172 of file AnnRegion.h.
|
private |
Definition at line 178 of file AnnRegion.h.
|
private |
Definition at line 176 of file AnnRegion.h.
|
private |
Definition at line 177 of file AnnRegion.h.
|
protected |
Definition at line 171 of file AnnRegion.h.
|
private |
Definition at line 179 of file AnnRegion.h.