| 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.