31 #include <tnt/tnt_array1d.h>
32 #include <tnt/tnt_array2d.h>
33 #include <tnt/tnt_array2d_utils.h>
74 m_x(chip.CubeSample()){ }
78 void setLatLon(
const double &latitude,
const double &longitude) {
117 double yd = pntA.m_y -
m_y;
118 double xd = pntA.m_x -
m_x;
119 return (std::sqrt((xd * xd) + (yd * yd)));
282 trans[1][2] = offset.
getLine();
301 void clone(
const GVector &alpha) {
302 if ( alpha.dim1() != 8 ) {
303 QString mess =
"Alpha array for AffineRadio must have 8 elements "
304 " but has " +
toString(alpha.dim1());
339 const double &shearTol) :
m_transTol(transTol),
381 const double *alpha = Malpha[0];
382 for (
int i = 0 ; i <
m_thresh.dim1() ; i++ ) {
383 if ( std::fabs(alpha[i]) >=
m_thresh[i] )
return (
false);
402 for (
int i = 0 ; i < 2 ; i++ ) {
420 for (
int i = 0 ; i < 2 ; i++ ) {
Coordinate operator-(const Coordinate &A, const Coordinate &B)
Subtraction operator for Coordinate.
Definition: GruenTypes.h:164
long long int BigInt
Definition: Constants.h:63
double m_sevals[2]
Definition: GruenTypes.h:430
Radiometric(const double &shift, const double &gain)
Definition: GruenTypes.h:225
bool isValid() const
Definition: GruenTypes.h:464
PointPair(const double &line, const double &sample)
Definition: GruenTypes.h:190
double getSample() const
Definition: GruenTypes.h:130
~AffineTolerance()
Definition: GruenTypes.h:342
const double Null
Value for an Isis Null pixel.
Definition: SpecialPixel.h:109
AffineRadio(const GMatrix &M, const double &shift, const double &gain)
Definition: GruenTypes.h:262
void setZeroState()
Resets eigenvalues to 0.
Definition: GruenTypes.h:419
Define a generic Y/X container.
Definition: GruenTypes.h:69
AffineRadio()
Definition: GruenTypes.h:260
Coordinate getAffinePoint(const Coordinate &coord=Coordinate(0.0, 0.0)) const
Return registration offset of a given chip coordinate from center.
Definition: GruenTypes.h:468
Store for radiometric gain and shift parameters.
Definition: GruenTypes.h:222
A small chip of data used for pattern matching.
Definition: Chip.h:101
const MatchPoint & setStatus(int status)
Definition: GruenTypes.h:459
double Gain() const
Definition: GruenTypes.h:229
void Translate(const Coordinate &offset)
Apply a translation to the given offset.
Definition: GruenTypes.h:279
double m_transTol
Definition: GruenTypes.h:344
bool hasConverged(const AffineRadio &affine) const
Determines convergence from an affine/radiometric fit.
Definition: GruenTypes.h:379
PointPair()
Definition: GruenTypes.h:189
Coordinate m_right
Definition: GruenTypes.h:211
Define a point set of left, right and geometry at that location.
Definition: GruenTypes.h:187
double m_scaleTol
Definition: GruenTypes.h:345
Affine::AMatrix GMatrix
Definition: GruenTypes.h:45
Definition: GruenTypes.h:49
AffineRadio m_affine
Definition: GruenTypes.h:474
int m_status
Definition: GruenTypes.h:432
const Coordinate & getRight() const
Definition: GruenTypes.h:201
double m_x
Definition: GruenTypes.h:133
MatchPoint()
Definition: GruenTypes.h:451
double getLine() const
Definition: GruenTypes.h:129
Radiometric m_radio
Definition: GruenTypes.h:297
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
Definition: IString.cpp:226
This error is for when a programmer made an API call that was illegal.
Definition: IException.h:154
double m_kmat[2]
Definition: GruenTypes.h:431
void setLatLon(const double &latitude, const double &longitude)
Use Latitude/Longitude interface.
Definition: GruenTypes.h:78
Threshold(const Chip &chip, const AffineTolerance &tolerance)
Definition: GruenTypes.h:367
BigInt m_npts
Definition: GruenTypes.h:428
int Samples() const
Return the number of samples in the chip.
Definition: Chip.h:114
Coordinate getPoint(const Coordinate &location) const
Applies the affine transfrom to a point and returns result.
Definition: GruenTypes.h:288
Radiometric & operator+=(const Radiometric &B)
Add radiometric parameters from another set of parameters.
Definition: GruenTypes.h:233
TNT::Array2D< double > AMatrix
Definition: Affine.h:81
GVector m_thresh
Definition: GruenTypes.h:388
~Analysis()
Definition: GruenTypes.h:407
Affine basis function.
Definition: Affine.h:79
AffineRadio(const GVector &alpha)
Definition: GruenTypes.h:264
MatchPoint(const PointPair &point)
Definition: GruenTypes.h:454
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:38
Coordinate operator+(const Coordinate &A, const Coordinate &B)
Summation operator for Coordinate.
Definition: GruenTypes.h:146
PointPair m_point
Definition: GruenTypes.h:473
AffineTolerance(const double &transTol, const double &scaleTol, const double &shearTol)
Definition: GruenTypes.h:338
double getLeftSample() const
Definition: GruenTypes.h:206
void setLineSamp(const double &line, const double &sample)
Use the Line/Sample interface.
Definition: GruenTypes.h:85
double getLine() const
Definition: GruenTypes.h:203
int m_status
Definition: GruenTypes.h:477
Coordinate(double y, double x)
Definition: GruenTypes.h:72
MatchPoint(const AffineRadio &radio)
Definition: GruenTypes.h:452
~Threshold()
Definition: GruenTypes.h:376
bool IsSpecial(const double d)
Returns if the input pixel is special.
Definition: SpecialPixel.h:199
bool isValid() const
Left, right and geometry coordinates must all be good data.
Definition: GruenTypes.h:197
AffineRadio(const Radiometric &radio)
Definition: GruenTypes.h:267
AffineRadio & operator+=(const AffineRadio &other)
Define update procedure for accumulating Gruen iterations.
Definition: GruenTypes.h:272
double getEigen() const
Returns the square of the of sum of the squares of eigenvalues.
Definition: GruenTypes.h:412
double getEigen() const
Definition: GruenTypes.h:465
Coordinate()
Definition: GruenTypes.h:71
double m_gain
Definition: GruenTypes.h:240
~AffineRadio()
Definition: GruenTypes.h:269
double getLeftLine() const
Definition: GruenTypes.h:205
double getLatitude() const
Definition: GruenTypes.h:127
Container for Affine limits parameters.
Definition: GruenTypes.h:335
Coordinate m_left
Definition: GruenTypes.h:210
double Shift() const
Definition: GruenTypes.h:228
Container for affine and radiometric parameters.
Definition: GruenTypes.h:258
double getRightLine() const
Definition: GruenTypes.h:207
const Coordinate & getLeft() const
Definition: GruenTypes.h:200
Coordinate & operator-=(const Coordinate &other)
Subtract a point from this point.
Definition: GruenTypes.h:104
Analysis m_analysis
Definition: GruenTypes.h:475
Structure containing comprehensive registration info/results.
Definition: GruenTypes.h:449
double getLongitude() const
Definition: GruenTypes.h:128
PointPair(const Coordinate &left, const Coordinate &right=Coordinate())
Definition: GruenTypes.h:192
int m_nIters
Definition: GruenTypes.h:476
TNT::Array1D< double > GVector
Definition: GruenTypes.h:46
AffineRadio(const GMatrix &A)
Definition: GruenTypes.h:261
int Lines() const
Return the number of lines in the chip.
Definition: Chip.h:121
int getStatus() const
Definition: GruenTypes.h:458
double getDistance(const Coordinate &pntA=Coordinate(0.0, 0.0)) const
Computes the distance from this point and the point provided.
Definition: GruenTypes.h:116
static AMatrix getIdentity()
Return an Affine identity matrix.
Definition: Affine.cpp:74
Threshold()
Definition: GruenTypes.h:366
GMatrix m_affine
Definition: GruenTypes.h:296
AffineTolerance()
Definition: GruenTypes.h:337
double getSample() const
Definition: GruenTypes.h:204
Isis exception class.
Definition: IException.h:99
Compute/test the Affine convergence from given parameters/chip.
Definition: GruenTypes.h:364
double m_y
Definition: GruenTypes.h:132
Radiometric()
Definition: GruenTypes.h:224
Error analysis of Gruen match point solution.
Definition: GruenTypes.h:399
Analysis()
Definition: GruenTypes.h:400
Coordinate(const Chip &chip)
Definition: GruenTypes.h:73
double m_variance
Definition: GruenTypes.h:429
~Coordinate()
Definition: GruenTypes.h:75
bool isValid() const
Definition: GruenTypes.h:409
double getRightSample() const
Definition: GruenTypes.h:208
~MatchPoint()
Definition: GruenTypes.h:456
Coordinate & operator+=(const Coordinate &other)
Add a point to this point.
Definition: GruenTypes.h:92
double m_shearTol
Definition: GruenTypes.h:346
double m_shift
Definition: GruenTypes.h:239
bool isValid() const
Check for goodness.
Definition: GruenTypes.h:123