43 input._assignToQuadrupole(
m(0, 0),
m(1, 1),
m(0, 1));
52 Jacobian rhs = input._dAssignToQuadrupole(
m(0, 0),
m(1, 1),
m(0, 1));
55 Jacobian lhs = output->_dAssignFromQuadrupole(
m(0, 0),
m(1, 1),
m(0, 1));
67 return lhs * mid * rhs;
73 input._assignToQuadrupole(
m(0, 0),
m(1, 1),
m(0, 1));
74 Eigen::Matrix<double, 3, 4> mid = Eigen::Matrix<double, 3, 4>::Zero();
93 Jacobian lhs = output->_dAssignFromQuadrupole(
m(0, 0),
m(1, 1),
m(0, 1));
99 input.getCore().transform(transform.getLinear()).copy(), transform(input.getCenter()));
104 input.setCenter(transform(input.getCenter()));
105 input.getCore().transform(transform.getLinear()).inPlace();
110 r.block<2, 2>(3, 3) = transform.getLinear().getMatrix();
111 r.block<3, 3>(0, 0) = input.getCore().
transform(transform.getLinear()).d();
117 r.block<2, 6>(3, 0) = transform.
dTransform(input.getCenter());
118 r.block<3, 4>(0, 0) = input.getCore().transform(transform.getLinear()).dTransform();
A base class for parametrizations of the "core" of an ellipse - the ellipticity and size.
std::shared_ptr< BaseCore > clone() const
Deep-copy the Core.
virtual void _assignFromQuadrupole(double ixx, double iyy, double ixy)=0
Return the size of the bounding box for the ellipse core.
Transformer transform(lsst::geom::LinearTransform const &transform)
Return the transform that maps the ellipse to the unit circle.
Eigen::Matrix3d Jacobian
Parameter Jacobian matrix type.