LSST Applications g1635faa6d4+215bc75b8c,g1653933729+a8ce1bb630,g22ce9dc20b+d972d8df89,g28da252d5a+0fcf840c6d,g29321ee8c0+e558be0e74,g2bbee38e9b+9634bc57db,g2bc492864f+9634bc57db,g2cdde0e794+c2c89b37c4,g3156d2b45e+41e33cbcdc,g347aa1857d+9634bc57db,g35bb328faa+a8ce1bb630,g3a166c0a6a+9634bc57db,g3e281a1b8c+9f2c4e2fc3,g414038480c+077ccc18e7,g41af890bb2+2a6f257a1d,g5fbc88fb19+17cd334064,g781aacb6e4+a8ce1bb630,g7ab3e175f3+59ce30aec6,g80478fca09+f8b2ab54e1,g82479be7b0+ba9d578ff8,g858d7b2824+d972d8df89,g9125e01d80+a8ce1bb630,g9726552aa6+10f999ec6a,ga5288a1d22+630363936d,gae0086650b+a8ce1bb630,gb58c049af0+d64f4d3760,gb9c6c11c1e+9553554aa7,gbd46683f8f+0c4209622a,gc28159a63d+9634bc57db,gcf0d15dbbd+2db122af0a,gda3e153d99+d972d8df89,gda6a2b7d83+2db122af0a,gdaeeff99f8+1711a396fd,ge2409df99d+d1dc2f3b25,ge33fd446bb+d972d8df89,ge79ae78c31+9634bc57db,gf0baf85859+147a0692ba,gf3967379c6+02b11634a5,w.2024.45
LSST Data Management Base Package
|
Virtual base class for endpoints, which are helper classes for Transform. More...
#include <Endpoint.h>
Public Types | |
using | Point = PointT |
using | Array = ArrayT |
Public Member Functions | |
BaseEndpoint (BaseEndpoint const &)=default | |
BaseEndpoint (BaseEndpoint &&)=default | |
BaseEndpoint & | operator= (BaseEndpoint const &)=delete |
BaseEndpoint & | operator= (BaseEndpoint &&)=delete |
virtual | ~BaseEndpoint ()=default |
int | getNAxes () const |
virtual int | getNPoints (Array const &arr) const =0 |
Return the number of points in an array. | |
virtual bool | operator== (BaseEndpoint const &other) const noexcept |
Determine whether two endpoints represent the same conversion. | |
bool | operator!= (BaseEndpoint const &other) const noexcept |
Determine whether two endpoints do not represent the same conversion. | |
virtual std::vector< double > | dataFromPoint (Point const &point) const =0 |
Get raw data from a single point. | |
virtual ndarray::Array< double, 2, 2 > | dataFromArray (Array const &arr) const =0 |
Get raw data from an array of points. | |
virtual Point | pointFromData (std::vector< double > const &data) const =0 |
Get a single point from raw data. | |
virtual Array | arrayFromData (ndarray::Array< double, 2, 2 > const &data) const =0 |
Get an array of points from raw data. | |
virtual std::shared_ptr< ast::Frame > | makeFrame () const |
Create a Frame that can be used with this end point in a Transform. | |
virtual void | normalizeFrame (std::shared_ptr< ast::Frame > framePtr) const |
Adjust and check the frame as needed. | |
Protected Member Functions | |
BaseEndpoint (int nAxes) | |
Construct a BaseEndpoint. | |
void | _assertNAxes (int nAxes) const |
int | _getNAxes (ndarray::Array< double, 2, 2 > const &data) const |
int | _getNAxes (ndarray::Array< double, 1, 1 > const &data) const |
int | _getNAxes (std::vector< double > const &data) const |
int | _getNPoints (ndarray::Array< double, 2, 2 > const &data) const |
Virtual base class for endpoints, which are helper classes for Transform.
Endpoints transform points and lists of points from LSST-specific data types, such as lsst::geom::Point2D and lsst::geom::SpherePoint, to a form accepted by ast::Mapping.tran. Each type of endpoint is used for a particular LSST data type, for example:
Endpoints use the following forms of data for raw data:
Endpoints are designed as helper classes for Transform. Each transform has a two endpoints: one for input data and one for output data.
Endpoint also provides two methods to work with ast::Frames:
PointT | LSST data type for one point |
ArrayT | LSST data type for an array of points |
Definition at line 67 of file Endpoint.h.
using lsst::afw::geom::BaseEndpoint< PointT, ArrayT >::Array = ArrayT |
Definition at line 70 of file Endpoint.h.
using lsst::afw::geom::BaseEndpoint< PointT, ArrayT >::Point = PointT |
Definition at line 69 of file Endpoint.h.
|
default |
|
default |
|
virtualdefault |
|
explicitprotected |
Construct a BaseEndpoint.
[in] | nAxes | The number of axes in a point; must be > 0 |
lsst.pex.exceptions.InvalidParameterError | if nAxes <= 0 |
Definition at line 55 of file Endpoint.cc.
|
protected |
Definition at line 73 of file Endpoint.cc.
|
inlineprotected |
Definition at line 179 of file Endpoint.h.
|
inlineprotected |
Definition at line 177 of file Endpoint.h.
|
inlineprotected |
Definition at line 181 of file Endpoint.h.
|
inlineprotected |
Definition at line 183 of file Endpoint.h.
|
pure virtual |
Get an array of points from raw data.
[in] | data | Raw data for an array of points, as a 2-D ndarray array [nPoints, nAxes] in C order, so the in-memory view is, for example, x0, y0, x1, y1, x2, y2, ... |
lsst::pex::exceptions::InvalidParameterError | if the array has the wrong nAxes dimension |
Implemented in lsst::afw::geom::GenericEndpoint, lsst::afw::geom::Point2Endpoint, and lsst::afw::geom::SpherePointEndpoint.
|
pure virtual |
Get raw data from an array of points.
[in] | arr | Array of points |
lsst::pex::exceptions::InvalidParameterError | if the array has the wrong nAxes dimension |
Implemented in lsst::afw::geom::GenericEndpoint, lsst::afw::geom::Point2Endpoint, and lsst::afw::geom::SpherePointEndpoint.
|
pure virtual |
Get raw data from a single point.
[in] | point | data for a single point |
lsst::pex::exceptions::InvalidParameterError | if the point has the wrong number of axes |
Implemented in lsst::afw::geom::GenericEndpoint, lsst::afw::geom::Point2Endpoint, and lsst::afw::geom::SpherePointEndpoint.
|
inline |
Definition at line 79 of file Endpoint.h.
|
pure virtual |
Return the number of points in an array.
Implemented in lsst::afw::geom::BaseVectorEndpoint< PointT >, and lsst::afw::geom::GenericEndpoint.
|
virtual |
Create a Frame that can be used with this end point in a Transform.
Reimplemented in lsst::afw::geom::SpherePointEndpoint.
Definition at line 68 of file Endpoint.cc.
|
inlinevirtual |
Adjust and check the frame as needed.
Do not bother to check the number of axes because that is done elsewhere.
The base implementation does nothing.
Reimplemented in lsst::afw::geom::Point2Endpoint, and lsst::afw::geom::SpherePointEndpoint.
Definition at line 163 of file Endpoint.h.
|
inlinenoexcept |
Determine whether two endpoints do not represent the same conversion.
Definition at line 109 of file Endpoint.h.
|
delete |
|
delete |
|
virtualnoexcept |
Determine whether two endpoints represent the same conversion.
other | the endpoint to compare |
true
iff this object and other
are of exactly the same class and all visible properties are identical. This implementation requires that the objects have the same number of axes.Definition at line 63 of file Endpoint.cc.
|
pure virtual |
Get a single point from raw data.
[in] | data | Data as a vector of length NAxes |
Implemented in lsst::afw::geom::GenericEndpoint, lsst::afw::geom::Point2Endpoint, and lsst::afw::geom::SpherePointEndpoint.