lsst.jointcal  14.0-26-gc4bc114+1
Public Member Functions | Protected Member Functions | Friends | List of all members
lsst::jointcal::GtransfoLin Class Reference

implements the linear transformations (6 real coefficients). More...

#include <Gtransfo.h>

Inheritance diagram for lsst::jointcal::GtransfoLin:
lsst::jointcal::GtransfoPoly lsst::jointcal::Gtransfo lsst::jointcal::GtransfoLinRot lsst::jointcal::GtransfoLinScale lsst::jointcal::GtransfoLinShift

Public Member Functions

 GtransfoLin ()
 the default constructor constructs the do-nothing transformation. More...
 
 GtransfoLin (const GtransfoPoly &gtransfoPoly)
 This triggers an exception if P.degree() != 1. More...
 
GtransfoLin operator* (const GtransfoLin &right) const
 enables to combine linear tranformations: T1=T2*T3 is legal. More...
 
GtransfoLin invert () const
 returns the inverse: T1 = T2.invert(); More...
 
void computeDerivative (const Point &where, GtransfoLin &derivative, const double step=0.01) const
 specialised analytic routine More...
 
GtransfoLin linearApproximation (const Point &where, const double step=0.01) const
 linear (local) approximation. More...
 
 GtransfoLin (const double ox, const double oy, const double aa11, const double aa12, const double aa21, const double aa22)
 Construct a GtransfoLin from parameters. More...
 
 GtransfoLin (const GtransfoIdentity &)
 Handy converter: More...
 
std::unique_ptr< Gtransfoclone () const
 returns a copy (allocated by new) of the transformation. More...
 
std::unique_ptr< GtransfoinverseTransfo (const double precision, const Frame &region) const
 returns an inverse transfo. Numerical if not overloaded. More...
 
double A11 () const
 
double A12 () const
 
double A21 () const
 
double A22 () const
 
double Dx () const
 
double Dy () const
 
void apply (const double xIn, const double yIn, double &xOut, double &yOut) const
 
void apply (const Point &in, Point &out) const
 applies the tranfo to in and writes into out. Is indeed virtual. More...
 
Point apply (const Point &in) const
 All these apply(..) shadow the virtual one in derived classes, unless one writes "using Gtransfo::apply". More...
 
virtual void transformPosAndErrors (const FatPoint &in, FatPoint &out) const
 a mix of apply and Derivative More...
 
unsigned getDegree () const
 returns degree More...
 
int getNpar () const
 total number of parameters More...
 
void dump (std::ostream &stream=std::cout) const
 print out of coefficients in a readable form. More...
 
double fit (const StarMatchList &starMatchList)
 guess what More...
 
GtransfoPoly operator* (const GtransfoPoly &right) const
 Composition (internal stuff in quadruple precision) More...
 
GtransfoPoly operator+ (const GtransfoPoly &right) const
 Addition. More...
 
GtransfoPoly operator- (const GtransfoPoly &right) const
 Subtraction. More...
 
std::unique_ptr< GtransforeduceCompo (const Gtransfo *right) const
 to be overloaded by derived classes if they can really "reduce" the composition (e.g. More...
 
double coeff (const unsigned powX, const unsigned powY, const unsigned whichCoord) const
 access to coefficients (read only) More...
 
double & coeff (const unsigned powX, const unsigned powY, const unsigned whichCoord)
 write access More...
 
double coeffOrZero (const unsigned powX, const unsigned powY, const unsigned whichCoord) const
 read access, zero if beyond degree More...
 
double determinant () const
 
double paramRef (const int i) const
 
double & paramRef (const int i)
 
void paramDerivatives (const Point &where, double *dx, double *dy) const
 Derivative w.r.t parameters. More...
 
void write (std::ostream &s) const
 
void write (const std::string &fileName) const
 
void read (std::istream &s)
 
std::string __str__ ()
 
void transformStar (FatPoint &in) const
 allows to write MyTransfo(MyStar) More...
 
virtual double getJacobian (const Point &point) const
 returns the local jacobian. More...
 
virtual double getJacobian (const double x, const double y) const
 returns the local jacobian. More...
 
virtual void transformErrors (const Point &where, const double *vIn, double *vOut) const
 transform errors (represented as double[3] in order V(xx),V(yy),Cov(xy)) More...
 
void getParams (double *params) const
 params should be at least Npar() long More...
 
void offsetParams (Eigen::VectorXd const &delta)
 
virtual std::unique_ptr< GtransforoughInverse (const Frame &region) const
 Rough inverse. More...
 

Protected Member Functions

double & a11 ()
 
double & a12 ()
 
double & a21 ()
 
double & a22 ()
 
double & dx ()
 
double & dy ()
 

Friends

class Gtransfo
 
class GtransfoIdentity
 
class GtransfoPoly
 

Detailed Description

implements the linear transformations (6 real coefficients).

Definition at line 294 of file Gtransfo.h.

Constructor & Destructor Documentation

◆ GtransfoLin() [1/4]

lsst::jointcal::GtransfoLin::GtransfoLin ( )
inline

the default constructor constructs the do-nothing transformation.

Definition at line 299 of file Gtransfo.h.

◆ GtransfoLin() [2/4]

lsst::jointcal::GtransfoLin::GtransfoLin ( const GtransfoPoly gtransfoPoly)
explicit

This triggers an exception if P.degree() != 1.

Definition at line 1060 of file Gtransfo.cc.

◆ GtransfoLin() [3/4]

lsst::jointcal::GtransfoLin::GtransfoLin ( const double  ox,
const double  oy,
const double  aa11,
const double  aa12,
const double  aa21,
const double  aa22 
)

Construct a GtransfoLin from parameters.

Definition at line 1049 of file Gtransfo.cc.

◆ GtransfoLin() [4/4]

lsst::jointcal::GtransfoLin::GtransfoLin ( const GtransfoIdentity )
inline

Handy converter:

Definition at line 326 of file Gtransfo.h.

Member Function Documentation

◆ __str__()

std::string lsst::jointcal::Gtransfo::__str__ ( )
inlineinherited

Definition at line 60 of file Gtransfo.h.

◆ A11()

double lsst::jointcal::GtransfoLin::A11 ( ) const
inline

Definition at line 332 of file Gtransfo.h.

◆ a11()

double& lsst::jointcal::GtransfoLin::a11 ( )
inlineprotected

Definition at line 340 of file Gtransfo.h.

◆ A12()

double lsst::jointcal::GtransfoLin::A12 ( ) const
inline

Definition at line 333 of file Gtransfo.h.

◆ a12()

double& lsst::jointcal::GtransfoLin::a12 ( )
inlineprotected

Definition at line 341 of file Gtransfo.h.

◆ A21()

double lsst::jointcal::GtransfoLin::A21 ( ) const
inline

Definition at line 334 of file Gtransfo.h.

◆ a21()

double& lsst::jointcal::GtransfoLin::a21 ( )
inlineprotected

Definition at line 342 of file Gtransfo.h.

◆ A22()

double lsst::jointcal::GtransfoLin::A22 ( ) const
inline

Definition at line 335 of file Gtransfo.h.

◆ a22()

double& lsst::jointcal::GtransfoLin::a22 ( )
inlineprotected

Definition at line 343 of file Gtransfo.h.

◆ apply() [1/3]

void lsst::jointcal::Gtransfo::apply ( const Point in,
Point out 
) const
inlineinherited

applies the tranfo to in and writes into out. Is indeed virtual.

Definition at line 47 of file Gtransfo.h.

◆ apply() [2/3]

Point lsst::jointcal::Gtransfo::apply ( const Point in) const
inlineinherited

All these apply(..) shadow the virtual one in derived classes, unless one writes "using Gtransfo::apply".

Definition at line 51 of file Gtransfo.h.

◆ apply() [3/3]

void lsst::jointcal::GtransfoPoly::apply ( const double  xIn,
const double  yIn,
double &  xOut,
double &  yOut 
) const
virtualinherited

Implements lsst::jointcal::Gtransfo.

Definition at line 486 of file Gtransfo.cc.

◆ clone()

std::unique_ptr<Gtransfo> lsst::jointcal::GtransfoLin::clone ( ) const
inlinevirtual

returns a copy (allocated by new) of the transformation.

Reimplemented from lsst::jointcal::GtransfoPoly.

Definition at line 328 of file Gtransfo.h.

◆ coeff() [1/2]

double lsst::jointcal::GtransfoPoly::coeff ( const unsigned  powX,
const unsigned  powY,
const unsigned  whichCoord 
) const
inherited

access to coefficients (read only)

Definition at line 651 of file Gtransfo.cc.

◆ coeff() [2/2]

double & lsst::jointcal::GtransfoPoly::coeff ( const unsigned  powX,
const unsigned  powY,
const unsigned  whichCoord 
)
inherited

write access

Definition at line 659 of file Gtransfo.cc.

◆ coeffOrZero()

double lsst::jointcal::GtransfoPoly::coeffOrZero ( const unsigned  powX,
const unsigned  powY,
const unsigned  whichCoord 
) const
inherited

read access, zero if beyond degree

Definition at line 664 of file Gtransfo.cc.

◆ computeDerivative()

void lsst::jointcal::GtransfoLin::computeDerivative ( const Point where,
GtransfoLin derivative,
const double  step = 0.01 
) const
virtual

specialised analytic routine

Reimplemented from lsst::jointcal::GtransfoPoly.

Definition at line 1082 of file Gtransfo.cc.

◆ determinant()

double lsst::jointcal::GtransfoPoly::determinant ( ) const
inherited

Definition at line 719 of file Gtransfo.cc.

◆ dump()

void lsst::jointcal::GtransfoPoly::dump ( std::ostream stream = std::cout) const
virtualinherited

print out of coefficients in a readable form.

Implements lsst::jointcal::Gtransfo.

Definition at line 703 of file Gtransfo.cc.

◆ Dx()

double lsst::jointcal::GtransfoLin::Dx ( ) const
inline

Definition at line 336 of file Gtransfo.h.

◆ dx()

double& lsst::jointcal::GtransfoLin::dx ( )
inlineprotected

Definition at line 344 of file Gtransfo.h.

◆ Dy()

double lsst::jointcal::GtransfoLin::Dy ( ) const
inline

Definition at line 337 of file Gtransfo.h.

◆ dy()

double& lsst::jointcal::GtransfoLin::dy ( )
inlineprotected

Definition at line 345 of file Gtransfo.h.

◆ fit()

double lsst::jointcal::GtransfoPoly::fit ( const StarMatchList starMatchList)
virtualinherited

guess what

Implements lsst::jointcal::Gtransfo.

Reimplemented in lsst::jointcal::GtransfoLinRot, and lsst::jointcal::GtransfoLinShift.

Definition at line 817 of file Gtransfo.cc.

◆ getDegree()

unsigned lsst::jointcal::GtransfoPoly::getDegree ( ) const
inlineinherited

returns degree

Definition at line 218 of file Gtransfo.h.

◆ getJacobian() [1/2]

virtual double lsst::jointcal::Gtransfo::getJacobian ( const Point point) const
inlinevirtualinherited

returns the local jacobian.

Definition at line 77 of file Gtransfo.h.

◆ getJacobian() [2/2]

double lsst::jointcal::Gtransfo::getJacobian ( const double  x,
const double  y 
) const
virtualinherited

returns the local jacobian.

Definition at line 57 of file Gtransfo.cc.

◆ getNpar()

int lsst::jointcal::GtransfoPoly::getNpar ( ) const
inlinevirtualinherited

total number of parameters

Reimplemented from lsst::jointcal::Gtransfo.

Reimplemented in lsst::jointcal::GtransfoLinScale, lsst::jointcal::GtransfoLinRot, and lsst::jointcal::GtransfoLinShift.

Definition at line 221 of file Gtransfo.h.

◆ getParams()

void lsst::jointcal::Gtransfo::getParams ( double *  params) const
inherited

params should be at least Npar() long

Definition at line 170 of file Gtransfo.cc.

◆ inverseTransfo()

std::unique_ptr< Gtransfo > lsst::jointcal::GtransfoLin::inverseTransfo ( const double  precision,
const Frame region 
) const
virtual

returns an inverse transfo. Numerical if not overloaded.

precision and region refer to the "input" side of this, and hence to the output side of the returned Gtransfo.

Reimplemented from lsst::jointcal::Gtransfo.

Definition at line 1116 of file Gtransfo.cc.

◆ invert()

GtransfoLin lsst::jointcal::GtransfoLin::invert ( ) const

returns the inverse: T1 = T2.invert();

Definition at line 1090 of file Gtransfo.cc.

◆ linearApproximation()

GtransfoLin lsst::jointcal::GtransfoLin::linearApproximation ( const Point where,
const double  step = 0.01 
) const
virtual

linear (local) approximation.

Reimplemented from lsst::jointcal::Gtransfo.

Definition at line 1088 of file Gtransfo.cc.

◆ offsetParams()

void lsst::jointcal::Gtransfo::offsetParams ( Eigen::VectorXd const &  delta)
inherited

Definition at line 175 of file Gtransfo.cc.

◆ operator*() [1/2]

GtransfoPoly lsst::jointcal::GtransfoPoly::operator* ( const GtransfoPoly right) const
inherited

Composition (internal stuff in quadruple precision)

Definition at line 944 of file Gtransfo.cc.

◆ operator*() [2/2]

GtransfoLin lsst::jointcal::GtransfoLin::operator* ( const GtransfoLin right) const

enables to combine linear tranformations: T1=T2*T3 is legal.

Definition at line 1067 of file Gtransfo.cc.

◆ operator+()

GtransfoPoly lsst::jointcal::GtransfoPoly::operator+ ( const GtransfoPoly right) const
inherited

Addition.

Definition at line 965 of file Gtransfo.cc.

◆ operator-()

GtransfoPoly lsst::jointcal::GtransfoPoly::operator- ( const GtransfoPoly right) const
inherited

Subtraction.

Definition at line 978 of file Gtransfo.cc.

◆ paramDerivatives()

void lsst::jointcal::GtransfoPoly::paramDerivatives ( const Point where,
double *  dx,
double *  dy 
) const
virtualinherited

Derivative w.r.t parameters.

Derivatives should be al least 2*NPar long. first Npar, for x, last Npar for y.

Reimplemented from lsst::jointcal::Gtransfo.

Definition at line 683 of file Gtransfo.cc.

◆ paramRef() [1/2]

double lsst::jointcal::GtransfoPoly::paramRef ( const int  i) const
virtualinherited

Reimplemented from lsst::jointcal::Gtransfo.

Definition at line 673 of file Gtransfo.cc.

◆ paramRef() [2/2]

double & lsst::jointcal::GtransfoPoly::paramRef ( const int  i)
virtualinherited

Reimplemented from lsst::jointcal::Gtransfo.

Definition at line 678 of file Gtransfo.cc.

◆ read()

void lsst::jointcal::GtransfoPoly::read ( std::istream s)
inherited

Definition at line 998 of file Gtransfo.cc.

◆ reduceCompo()

std::unique_ptr< Gtransfo > lsst::jointcal::GtransfoPoly::reduceCompo ( const Gtransfo right) const
virtualinherited

to be overloaded by derived classes if they can really "reduce" the composition (e.g.

composition of Polynomial can be reduced)

Reimplemented from lsst::jointcal::Gtransfo.

Definition at line 835 of file Gtransfo.cc.

◆ roughInverse()

std::unique_ptr< Gtransfo > lsst::jointcal::Gtransfo::roughInverse ( const Frame region) const
virtualinherited

Rough inverse.

Stored by the numerical inverter to guess starting point for the trials. Just here to enable overloading.

Reimplemented in lsst::jointcal::TanRaDec2Pix, lsst::jointcal::TanPix2RaDec, and lsst::jointcal::GtransfoInverse.

Definition at line 150 of file Gtransfo.cc.

◆ transformErrors()

void lsst::jointcal::Gtransfo::transformErrors ( const Point where,
const double *  vIn,
double *  vOut 
) const
virtualinherited

transform errors (represented as double[3] in order V(xx),V(yy),Cov(xy))

Definition at line 117 of file Gtransfo.cc.

◆ transformPosAndErrors()

void lsst::jointcal::GtransfoPoly::transformPosAndErrors ( const FatPoint in,
FatPoint out 
) const
virtualinherited

a mix of apply and Derivative

Reimplemented from lsst::jointcal::Gtransfo.

Definition at line 567 of file Gtransfo.cc.

◆ transformStar()

void lsst::jointcal::Gtransfo::transformStar ( FatPoint in) const
inlineinherited

allows to write MyTransfo(MyStar)

Definition at line 74 of file Gtransfo.h.

◆ write() [1/2]

void lsst::jointcal::Gtransfo::write ( const std::string fileName) const
inherited

Definition at line 199 of file Gtransfo.cc.

◆ write() [2/2]

void lsst::jointcal::GtransfoPoly::write ( std::ostream s) const
virtualinherited

Reimplemented from lsst::jointcal::Gtransfo.

Definition at line 988 of file Gtransfo.cc.

Friends And Related Function Documentation

◆ Gtransfo

friend class Gtransfo
friend

Definition at line 347 of file Gtransfo.h.

◆ GtransfoIdentity

friend class GtransfoIdentity
friend

Definition at line 348 of file Gtransfo.h.

◆ GtransfoPoly

friend class GtransfoPoly
friend

Definition at line 349 of file Gtransfo.h.


The documentation for this class was generated from the following files: