lsst.jointcal  master-g9041cab851+12
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)
 the constructor that enables to set all parameters independently. Not very useful. 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
 
- Public Member Functions inherited from lsst::jointcal::GtransfoPoly
 GtransfoPoly (const unsigned degree=1)
 Default transfo : identity for all degrees (>=1 ). More...
 
 GtransfoPoly (const Gtransfo *gtransfo, const Frame &frame, unsigned degree, unsigned nPoint=1000)
 Constructs a "polynomial image" from an existing transfo, over a specified domain. More...
 
void setDegree (const unsigned degree)
 
void apply (const double xIn, const double yIn, double &xOut, double &yOut) const
 
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 read (std::istream &s)
 
- Public Member Functions inherited from lsst::jointcal::Gtransfo
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...
 
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 (const double *params)
 
virtual std::unique_ptr< GtransforoughInverse (const Frame &region) const
 Rough inverse. More...
 
void write (const std::string &fileName) const
 
virtual ~Gtransfo ()
 

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 292 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 297 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 1059 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 
)

the constructor that enables to set all parameters independently. Not very useful.

Definition at line 1048 of file Gtransfo.cc.

◆ GtransfoLin() [4/4]

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

Handy converter:

Definition at line 324 of file Gtransfo.h.

Member Function Documentation

◆ A11()

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

Definition at line 330 of file Gtransfo.h.

◆ a11()

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

Definition at line 338 of file Gtransfo.h.

◆ A12()

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

Definition at line 331 of file Gtransfo.h.

◆ a12()

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

Definition at line 339 of file Gtransfo.h.

◆ A21()

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

Definition at line 332 of file Gtransfo.h.

◆ a21()

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

Definition at line 340 of file Gtransfo.h.

◆ A22()

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

Definition at line 333 of file Gtransfo.h.

◆ a22()

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

Definition at line 341 of file Gtransfo.h.

◆ 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 326 of file Gtransfo.h.

◆ 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 1081 of file Gtransfo.cc.

◆ Dx()

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

Definition at line 334 of file Gtransfo.h.

◆ dx()

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

Definition at line 342 of file Gtransfo.h.

◆ Dy()

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

Definition at line 335 of file Gtransfo.h.

◆ dy()

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

Definition at line 343 of file Gtransfo.h.

◆ 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 1115 of file Gtransfo.cc.

◆ invert()

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

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

Definition at line 1089 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 1087 of file Gtransfo.cc.

◆ operator*()

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

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

Definition at line 1066 of file Gtransfo.cc.

Friends And Related Function Documentation

◆ Gtransfo

friend class Gtransfo
friend

Definition at line 345 of file Gtransfo.h.

◆ GtransfoIdentity

friend class GtransfoIdentity
friend

Definition at line 346 of file Gtransfo.h.

◆ GtransfoPoly

friend class GtransfoPoly
friend

Definition at line 347 of file Gtransfo.h.


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