LSSTApplications
20.0.0
LSSTDataManagementBasePackage
|
Go to the documentation of this file.
23 #ifndef LSST_AFW_GEOM_SipApproximation_h_INCLUDED
24 #define LSST_AFW_GEOM_SipApproximation_h_INCLUDED
130 Eigen::Matrix2d
const &
cd,
134 bool useInverse=
true,
135 double svdThreshold=-1
179 Eigen::Matrix2d
const &
cd,
182 ndarray::Array<double const, 2>
const &
a,
183 ndarray::Array<double const, 2>
const &
b,
184 ndarray::Array<double const, 2>
const & ap,
185 ndarray::Array<double const, 2>
const & bp,
211 double getA(
int p,
int q) const;
220 double getB(
int p,
int q) const;
229 double getAP(
int p,
int q) const;
238 double getBP(
int p,
int q) const;
241 Eigen::MatrixXd
getA() const noexcept;
244 Eigen::MatrixXd
getB() const noexcept;
247 Eigen::MatrixXd
getAP() const noexcept;
250 Eigen::MatrixXd
getBP() const noexcept;
338 void fit(
int order,
double svdThreshold=-1);
364 std::unique_ptr<Grid const> _grid;
365 std::unique_ptr<Solution const> _solution;
370 #endif // !LSST_AFW_GEOM_SipApproximation_h_INCLUDED
Eigen::MatrixXd getA() const noexcept
Return the coefficients of the forward transform polynomial.
void refineGrid(int factor=2)
Update the grid by making it finer by a given integer factor.
lsst::geom::Extent2I getGridShape() const noexcept
Return the number of grid points in x and y.
SipApproximation & operator=(SipApproximation const &)=delete
A fitter and results class for approximating a general Transform in a form compatible with FITS WCS p...
lsst::geom::Point2D applyInverse(lsst::geom::Point2D const &iwcs) const
Convert a point from intermediate world coordinates to pixels.
Eigen::Matrix2d getCdMatrix() const noexcept
Return the CD matrix of the WCS being approximated.
lsst::geom::Point2D applyForward(lsst::geom::Point2D const &pix) const
Convert a point from pixels to intermediate world coordinates.
SipApproximation(std::shared_ptr< TransformPoint2ToPoint2 > pixelToIwc, lsst::geom::Point2D const &crpix, Eigen::Matrix2d const &cd, lsst::geom::Box2D const &bbox, lsst::geom::Extent2I const &gridShape, int order, bool useInverse=true, double svdThreshold=-1)
Construct a new approximation by fitting on a grid of points.
lsst::geom::Point2D getPixelOrigin() const noexcept
Return the pixel origin of the WCS being approximated.
void updateGrid(lsst::geom::Extent2I const &shape)
Update the grid to the given number of points in x and y.
Point< double, 2 > Point2D
void fit(int order, double svdThreshold=-1)
Obtain a new solution at the given order with the current grid.
SipApproximation(SipApproximation const &)=delete
SipApproximation(SipApproximation &&) noexcept=default
int getOrder() const noexcept
Return the polynomial order of the current solution (same for forward and reverse).
Eigen::MatrixXd getAP() const noexcept
Return the coefficients of the reverse transform polynomial.
table::PointKey< double > crpix
lsst::geom::Extent2D getGridStep() const noexcept
Return the distance between grid points in pixels.
table::Key< table::Array< double > > cd
A base class for image defects.
Eigen::MatrixXd getBP() const noexcept
Return the coefficients of the reverse transform polynomial.
Extent< int, 2 > Extent2I
std::pair< double, double > computeMaxDeviation() const noexcept
Return the maximum deviation of the solution from the exact transform on the current grid.
Extent< double, 2 > Extent2D
Eigen::MatrixXd getB() const noexcept
Return the coefficients of the forward transform polynomial.
lsst::geom::Box2D getBBox() const noexcept
Return the pixel-coordinate bounding box over which the approximation should be valid.
A floating-point coordinate rectangle geometry.