A 2-d coordinate transform represented by a lazy composition of an AffineTransform, a PolynomialTransform, and another AffineTransform.
More...
#include <PolynomialTransform.h>
A 2-d coordinate transform represented by a lazy composition of an AffineTransform, a PolynomialTransform, and another AffineTransform.
ScaledPolynomialTransform instances should be confined to a single thread.
Definition at line 157 of file PolynomialTransform.h.
◆ ScaledPolynomialTransform() [1/3]
Construct a new ScaledPolynomialTransform from its constituents.
- Parameters
-
[in] | poly | A PolynomialTransform to be applied to points. after the inputScaling transform. |
[in] | inputScaling | An AffineTransform to be applied immediately to input points. |
[in] | outputScalingInverse | An AffineTransform to be applied to points after the PolynomialTransform. |
Definition at line 195 of file PolynomialTransform.cc.
198 : _poly(
poly), _inputScaling(inputScaling), _outputScalingInverse(outputScalingInverse) {}
Low-level polynomials (including special polynomials) in C++.
◆ ScaledPolynomialTransform() [2/3]
◆ ScaledPolynomialTransform() [3/3]
◆ convert() [1/3]
◆ convert() [2/3]
Convert a SipForwardTransform to an equivalent ScaledPolynomialTransform.
The input transform's CRPIX offset and CD matrix scaling are used to define the input and output affine transforms, respectively, leaving the polynomial coefficients unmodified.
Definition at line 176 of file PolynomialTransform.cc.
178 geom::AffineTransform(
geom::Point2D(0, 0) - sipForward.getPixelOrigin()),
179 geom::AffineTransform(sipForward.getCdMatrix()));
182 result._poly._xCoeffs(1, 0) += 1;
183 result._poly._yCoeffs(0, 1) += 1;
Point< double, 2 > Point2D
◆ convert() [3/3]
Convert a SipForwardTransform to an equivalent ScaledPolynomialTransform.
The input transform's CD matrix scaling and CRPIX offset are used to define the input and output affine transforms, respectively, leaving the polynomial coefficients unmodified.
Definition at line 187 of file PolynomialTransform.cc.
189 geom::AffineTransform(
geom::Extent2D(sipReverse.getPixelOrigin())));
190 result._poly._xCoeffs(1, 0) += 1;
191 result._poly._yCoeffs(0, 1) += 1;
Extent< double, 2 > Extent2D
◆ getInputScaling()
Return the first affine transform applied to input points.
Definition at line 212 of file PolynomialTransform.h.
212 {
return _inputScaling; }
◆ getOutputScalingInverse()
geom::AffineTransform const& lsst::meas::astrom::ScaledPolynomialTransform::getOutputScalingInverse |
( |
| ) |
const |
|
inline |
Return the affine transform applied to points after the polynomial transform.
Definition at line 215 of file PolynomialTransform.h.
215 {
return _outputScalingInverse; }
◆ getPoly()
◆ linearize()
Return an approximate affine transform at the given point.
Definition at line 206 of file PolynomialTransform.cc.
207 return _outputScalingInverse * _poly.
linearize(_inputScaling(in)) * _inputScaling;
◆ operator()()
Apply the transform to a point.
Definition at line 210 of file PolynomialTransform.cc.
211 return _outputScalingInverse(_poly(_inputScaling(in)));
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ swap()
◆ ScaledPolynomialTransformFitter
The documentation for this class was generated from the following files: