LSSTApplications
18.1.0
LSSTDataManagementBasePackage
|
AST wrapper classes and functions. More...
Namespaces | |
detail | |
Classes | |
class | Channel |
Channel provides input/output of AST objects. More... | |
class | ChebyDomain |
The domain over which a Chebyshev polynomial is defined; returned by ChebyMap.getDomain. More... | |
class | ChebyMap |
A ChebyMap is a form of Mapping which performs a Chebyshev polynomial transformation. More... | |
class | CmpFrame |
A CmpFrame is a compound Frame which allows two component Frames (of any class) to be merged together to form a more complex Frame. More... | |
class | CmpMap |
Abstract base class for SeriesMap and ParallelMap. More... | |
class | DirectionPoint |
Struct returned by Frame::offset2 containing a direction and a point. More... | |
class | FileStream |
File-based source or sink (not both) for channels. More... | |
class | FitsChan |
A specialized form of Channel which reads and writes FITS header cards. More... | |
class | FoundValue |
A value and associated validity flag. More... | |
class | Frame |
Frame is used to represent a coordinate system. More... | |
class | FrameDict |
A FrameSet whose frames can be referenced by domain name. More... | |
class | FrameMapping |
Struct returned by Frame::pickAxes containing a frame and a mapping. More... | |
class | FrameSet |
A FrameSet consists of a set of one or more Frames (which describe coordinate systems), connected together by Mappings (which describe how the coordinate systems are inter-related). More... | |
class | KeyMap |
KeyMap is used to store a set of values with associated keys which identify the values. More... | |
class | LutMap |
LutMap is a specialised form of Mapping which transforms 1-dimensional coordinates by using linear interpolation in a lookup table. More... | |
class | MapBox |
Object to compute the bounding box which just encloses another box after it has been transformed by a mapping. More... | |
class | Mapping |
An abstract base class for objects which transform one set of coordinates to another. More... | |
class | MapSplit |
A Mapping split off as a subset of another Mapping. More... | |
class | MathMap |
A MathMap is a Mapping which allows you to specify a set of forward and/or inverse transformation functions using arithmetic operations and mathematical functions similar to those available in C. More... | |
class | MatrixMap |
MatrixMap is a form of Mapping which performs a general linear transformation. More... | |
class | NormMap |
A Mapping which normalises coordinate values using the norm method of the supplied Frame. More... | |
class | NReadValue |
Struct returned by Frame::unformat containing the number of characters read and corresponding value. More... | |
class | Object |
Abstract base class for all AST objects. More... | |
class | ParallelMap |
A parallel compound mapping where the first Mapping is used to transform the lower numbered coordinates of each point and the second Mapping is used to transform the remaining coordinates. More... | |
class | PcdMap |
A PcdMap is a non-linear Mapping which transforms 2-dimensional positions to correct for the radial distortion introduced by some cameras and telescopes. More... | |
class | PermMap |
A Mapping which permutes the order of coordinates, and possibly also changes the number of coordinates, between its input and output. More... | |
class | PolyMap |
PolyMap is a Mapping which performs a general polynomial transformation. More... | |
class | QuadApprox |
A quadratic approximation to a 2D Mapping. More... | |
class | RateMap |
RateMap is a Mapping which represents a single element of the Jacobian matrix of another Mapping. More... | |
class | ResolvedPoint |
Struct returned by Frame::resolve containing a point and the resolved vector components. More... | |
class | SeriesMap |
A series compound mapping where the first Mapping is used to transform the coordinates of each point and the second Mapping is then applied to the result. More... | |
class | ShiftMap |
ShiftMap is a linear Mapping which shifts each axis by a specified constant value. More... | |
class | SkyFrame |
SkyFrame is a specialised form of Frame which describes celestial longitude/latitude coordinate systems. More... | |
class | SlaMap |
SlaMap is a specialised form of Mapping which can be used to represent a sequence of conversions between standard celestial (longitude, latitude) coordinate systems. More... | |
class | SpecFrame |
A specialised form of one-dimensional Frame which represents various coordinate systems used to describe positions within an electro-magnetic spectrum. More... | |
class | SphMap |
A SphMap is a Mapping which transforms points from a 3-dimensional Cartesian coordinate system into a 2-dimensional spherical coordinate system (longitude and latitude on a unit sphere centred at the origin). More... | |
class | Stream |
A stream for ast::Channel. More... | |
class | StringStream |
String-based source and sink for channels. More... | |
class | TimeFrame |
A TimeFrame is a specialised form of one-dimensional Frame which represents various coordinate systems used to describe positions in time. More... | |
class | TimeMap |
A TimeMap is a specialised form of 1-dimensional Mapping which can be used to represent a sequence of conversions between standard time coordinate systems. More... | |
class | TranMap |
TranMap is a Mapping which combines the forward transformation of a supplied Mapping with the inverse transformation of another supplied Mapping, ignoring the un-used transformation in each Mapping (indeed the un-used transformation need not exist). More... | |
class | UnitMap |
A UnitMap is a unit (null) Mapping that has no effect on the coordinates supplied to it. More... | |
class | UnitNormMap |
The forward transformation of a UnitNormMap subtracts the specified centre and then transforms the resulting vector to a unit vector and the vector norm. More... | |
class | WcsMap |
Map from a spherical system to a cartesian system using standard FITS sky coordinate projections. More... | |
class | WinMap |
A WinMap is a linear Mapping which transforms a rectangular window in one coordinate system into a similar window in another coordinate system by scaling and shifting each axis (the window edges being parallel to the coordinate axes). More... | |
class | XmlChan |
XmlChan provides input/output of AST objects. More... | |
class | ZoomMap |
A Mapping which "zooms" a set of points about the origin by multiplying all coordinate values by the same scale factor. More... | |
Typedefs | |
using | Array2D = ndarray::Array< double, 2, 2 > |
2D array of const double; typically used for lists of const points More... | |
using | ConstArray2D = ndarray::Array< const double, 2, 2 > |
2D array of const double; typically used for lists of const points More... | |
using | PointI = std::vector< int > |
Vector of ints; typically used for the bounds of Mapping.tranGridForward and inverse. More... | |
using | PointD = std::vector< double > |
Vector of double; used for bounds, points. More... | |
Enumerations | |
enum | DataType { DataType::IntType = AST__INTTYPE, DataType::ShortIntType = AST__SINTTYPE, DataType::ByteType = AST__BYTETYPE, DataType::DoubleType = AST__DOUBLETYPE, DataType::FloatType = AST__FLOATTYPE, DataType::StringType = AST__STRINGTYPE, DataType::ObjectType = AST__OBJECTTYPE, DataType::PointerType = AST__POINTERTYPE, DataType::UndefinedType = AST__UNDEFTYPE, DataType::BadType = AST__BADTYPE } |
Data types held by a KeyMap. More... | |
enum | FitsKeyState { FitsKeyState::ABSENT = 0, FitsKeyState::NOVALUE, FitsKeyState::PRESENT } |
Enums describing the presence or absence of a FITS keyword. More... | |
enum | CardType { CardType::NOTYPE = AST__NOTYPE, CardType::COMMENT = AST__COMMENT, CardType::INT = AST__INT, CardType::FLOAT = AST__FLOAT, CardType::STRING = AST__STRING, CardType::COMPLEXF = AST__COMPLEXF, CardType::COMPLEXI = AST__COMPLEXI, CardType::LOGICAL = AST__LOGICAL, CardType::CONTINUE = AST__CONTINUE, CardType::UNDEF = AST__UNDEF } |
Enums describing the FITS card type. More... | |
enum | WcsType { WcsType::AZP = AST__AZP, WcsType::SZP = AST__SZP, WcsType::TAN = AST__TAN, WcsType::STG = AST__STG, WcsType::SIN = AST__SIN, WcsType::ARC = AST__ARC, WcsType::ZPN = AST__ZPN, WcsType::ZEA = AST__ZEA, WcsType::AIR = AST__AIR, WcsType::CYP = AST__CYP, WcsType::CEA = AST__CEA, WcsType::CAR = AST__CAR, WcsType::MER = AST__MER, WcsType::SFL = AST__SFL, WcsType::PAR = AST__PAR, WcsType::MOL = AST__MOL, WcsType::AIT = AST__AIT, WcsType::COP = AST__COP, WcsType::COE = AST__COE, WcsType::COD = AST__COD, WcsType::COO = AST__COO, WcsType::BON = AST__BON, WcsType::PCO = AST__PCO, WcsType::TSC = AST__TSC, WcsType::CSC = AST__CSC, WcsType::QSC = AST__QSC, WcsType::NCP = AST__NCP, WcsType::GLS = AST__GLS, WcsType::TPN = AST__TPN, WcsType::HPX = AST__HPX, WcsType::XPH = AST__XPH, WcsType::WCSBAD = AST__WCSBAD } |
WCS types that give the projection type code (in upper case) as used in the FITS-WCS "CTYPEi" keyword. More... | |
Functions | |
void | assertOK (AstObject *rawPtr1=nullptr, AstObject *rawPtr2=nullptr) |
Throw std::runtime_error if AST's state is bad. More... | |
bool | escapes (int include=-1) |
Control whether graphical escape sequences are included in strings. More... | |
std::shared_ptr< FrameSet > | append (FrameSet const &first, FrameSet const &second) |
Construct a FrameSet that performs two transformations in series. More... | |
std::shared_ptr< Mapping > | makeRadialMapping (std::vector< double > const ¢er, Mapping const &mapping1d) |
Construct a radially symmetric mapping from a 1-dimensional mapping. More... | |
ConstArray2D | arrayFromVector (std::vector< double > const &vec, int nAxes) |
Reshape a vector as a 2-dimensional array that shares the same memory. More... | |
Array2D | arrayFromVector (std::vector< double > &vec, int nAxes) |
Reshape a vector as a 2-dimensional array that shares the same memory. More... | |
AST wrapper classes and functions.
using ast::Array2D = typedef ndarray::Array<double, 2, 2> |
using ast::ConstArray2D = typedef ndarray::Array<const double, 2, 2> |
using ast::PointD = typedef std::vector<double> |
using ast::PointI = typedef std::vector<int> |
Vector of ints; typically used for the bounds of Mapping.tranGridForward and inverse.
|
strong |
Enums describing the FITS card type.
Definition at line 48 of file FitsChan.h.
|
strong |
|
strong |
Enums describing the presence or absence of a FITS keyword.
Enumerator | |
---|---|
ABSENT | keyword is not present |
NOVALUE | keyword is present, but has no value |
PRESENT | keyword is present and has a value |
Definition at line 39 of file FitsChan.h.
|
strong |
WCS types that give the projection type code (in upper case) as used in the FITS-WCS "CTYPEi" keyword.
You should consult the FITS-WCS paper for a list of the available projections. The additional code of WcsType::TPN can be supplied which represents a TAN projection with polynomial correction terms as defined in an early draft of the FITS-WCS paper.
These have the same value as the corresponding AST__ constant, e.g. WcsType::TAN = AST__TAN.
I am not sure what AST__WCSBAD is used for, but I included it anyway.
Enumerator | |
---|---|
AZP | |
SZP | |
TAN | |
STG | |
SIN | |
ARC | |
ZPN | |
ZEA | |
AIR | |
CYP | |
CEA | |
CAR | |
MER | |
SFL | |
PAR | |
MOL | |
AIT | |
COP | |
COE | |
COD | |
COO | |
BON | |
PCO | |
TSC | |
CSC | |
QSC | |
NCP | |
GLS | |
TPN | |
HPX | |
XPH | |
WCSBAD |
Definition at line 48 of file WcsMap.h.
std::shared_ptr< FrameSet > ast::append | ( | FrameSet const & | first, |
FrameSet const & | second | ||
) |
Construct a FrameSet that performs two transformations in series.
When used as a Mapping, the FrameSet shall apply first
, followed by second
. Its inverse shall apply the inverse of second
, followed by the inverse of first
. The concatenation is only valid if first.getCurrent()
and second.getBase()
have the same number of axes.
The new FrameSet shall contain all Frames and Mappings from first
, followed by all Frames and Mappings from second
, preserving their original order. The current frame of first
shall be connected to the base frame of second
by a UnitMap. The new set's base frame shall be the base frame of first
, and its current frame shall be the current frame of second
.
The FrameSet shall be independent of the input arguments, so changes to the original FrameSets (in particular, reassignments of their base or current frames) shall not affect it.
first,second | the FrameSets to concatenate. |
Example: if first
has 3 frames and second
has 4, then the result shall contain 7 frames, of which frames 1-3 are the same as frames 1-3 of first
, in order, and frames 4-7 are the same as frames 1-4 of second
, in order.
Definition at line 33 of file functional.cc.
ConstArray2D ast::arrayFromVector | ( | std::vector< double > const & | vec, |
int | nAxes | ||
) |
Reshape a vector as a 2-dimensional array that shares the same memory.
To convert a vector of coefficients to an array of coefficients for PolyMap or ChebyMap, call this with nAxes = nPoints / width, where width is the number of elements in each coefficient: width = nOut + 2 for forward coefficients, nIn + 2 for inverse coefficients.
[in] | vec | Vector of points, with all values for one axis first, then the next axes, and so on, e.g. x1, x2, ...xnPt, y1, y2, ...ynNpt |
[in] | nAxes | Number of axes per point |
std::runtime_error | if vec length is not a multiple of nAxes |
Definition at line 65 of file base.cc.
Array2D ast::arrayFromVector | ( | std::vector< double > & | vec, |
int | nAxes | ||
) |
Reshape a vector as a 2-dimensional array that shares the same memory.
To convert a vector of coefficients to an array of coefficients for PolyMap or ChebyMap, call this with nAxes = nPoints / width, where width is the number of elements in each coefficient: width = nOut + 2 for forward coefficients, nIn + 2 for inverse coefficients.
[in] | vec | Vector of points, with all values for one axis first, then the next axes, and so on, e.g. x1, x2, ...xnPt, y1, y2, ...ynNpt |
[in] | nAxes | Number of axes per point |
std::runtime_error | if vec length is not a multiple of nAxes |
Definition at line 69 of file base.cc.
void ast::assertOK | ( | AstObject * | rawPtr1 = nullptr , |
AstObject * | rawPtr2 = nullptr |
||
) |
Throw std::runtime_error if AST's state is bad.
rawPtr1 | An AST object to free if status is bad |
rawPtr2 | An AST object to free if status is bad |
|
inline |
Control whether graphical escape sequences are included in strings.
The Plot
class defines a set of escape sequences which can be included within a text string in order to control the appearance of sub-strings within the text. (See the Escape attribute for a description of these escape sequences). It is usually inappropriate for AST to return strings containing such escape sequences when called by application code. For instance, an application which displays the value of the Title attribute of a Frame usually does not want the displayed string to include potentially long escape sequences which a human read would have difficuly interpreting. Therefore the default behaviour is for AST to strip out such escape sequences when called by application code. This default behaviour can be changed using this function.
[in] | include | Possible values are:
|
include
is negative).astStripEscapes
removes escape sequences from the supplied string, or returns the supplied string without change.astEscapes
, this function will not attempt to execute if an error has already occurred. Definition at line 140 of file base.h.
std::shared_ptr< Mapping > ast::makeRadialMapping | ( | std::vector< double > const & | center, |
Mapping const & | mapping1d | ||
) |
Construct a radially symmetric mapping from a 1-dimensional mapping.
The transform will be symmetrical about the specified center. The forward transform is as follows: input -> unitNormMap -> input norm -> mapping1d -> output norm -> unitNormMap inverse -> output -> unit vector -------------------------—> where unitNormMap is UnitNormMap(center)
The returned mapping will support forward and/or inverse transformation as mapping1d
does.
[in] | center | Center of radial symmetry |
[in] | mapping1d | 1-dimensional mapping |
std::invalid_argument | if mapping1d has nIn or nOut != 1 |
std::runtime_error | if center is empty |
Definition at line 48 of file functional.cc.