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
Big int.
Definition: Constants.h:65
double m_sevals[2]
Definition: GruenTypes.h:430
Radiometric(const double &shift, const double &gain)
Definition: GruenTypes.h:225
PointPair(const double &line, const double &sample)
Definition: GruenTypes.h:190
double getEigen() const
Returns the square of the of sum of the squares of eigenvalues.
Definition: GruenTypes.h:412
~AffineTolerance()
Definition: GruenTypes.h:342
const double Null
Value for an Isis Null pixel.
Definition: SpecialPixel.h:110
AffineRadio(const GMatrix &M, const double &shift, const double &gain)
Definition: GruenTypes.h:262
void setZeroState()
Resets eigenvalues to 0.
Definition: GruenTypes.h:419
Coordinate getPoint(const Coordinate &location) const
Applies the affine transfrom to a point and returns result.
Definition: GruenTypes.h:288
double getSample() const
Definition: GruenTypes.h:130
Define a generic Y/X container.
Definition: GruenTypes.h:69
AffineRadio()
Definition: GruenTypes.h:260
Store for radiometric gain and shift parameters.
Definition: GruenTypes.h:222
bool isValid() const
Definition: GruenTypes.h:409
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
A small chip of data used for pattern matching.
Definition: Chip.h:102
double Gain() const
Definition: GruenTypes.h:229
const MatchPoint & setStatus(int status)
Definition: GruenTypes.h:459
void Translate(const Coordinate &offset)
Apply a translation to the given offset.
Definition: GruenTypes.h:279
double m_transTol
Definition: GruenTypes.h:344
const Coordinate & getRight() const
Definition: GruenTypes.h:201
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
double getEigen() const
Definition: GruenTypes.h:465
Affine::AMatrix GMatrix
Definition: GruenTypes.h:45
Definition: GruenTypes.h:49
AffineRadio m_affine
Definition: GruenTypes.h:474
int getStatus() const
Definition: GruenTypes.h:458
int m_status
Definition: GruenTypes.h:432
bool isValid() const
Left, right and geometry coordinates must all be good data.
Definition: GruenTypes.h:197
double m_x
Definition: GruenTypes.h:133
const Coordinate & getLeft() const
Definition: GruenTypes.h:200
MatchPoint()
Definition: GruenTypes.h:451
Radiometric m_radio
Definition: GruenTypes.h:297
double getLatitude() const
Definition: GruenTypes.h:127
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:162
double m_kmat[2]
Definition: GruenTypes.h:431
void setLatLon(const double &latitude, const double &longitude)
Use Latitude/Longitude interface.
Definition: GruenTypes.h:78
double getLeftSample() const
Definition: GruenTypes.h:206
Threshold(const Chip &chip, const AffineTolerance &tolerance)
Definition: GruenTypes.h:367
BigInt m_npts
Definition: GruenTypes.h:428
Radiometric & operator+=(const Radiometric &B)
Add radiometric parameters from another set of parameters.
Definition: GruenTypes.h:233
TNT::Array2D< double > AMatrix
Affine Matrix.
Definition: Affine.h:82
GVector m_thresh
Definition: GruenTypes.h:388
~Analysis()
Definition: GruenTypes.h:407
int Lines() const
Definition: Chip.h:122
double getRightLine() const
Definition: GruenTypes.h:207
Affine basis function.
Definition: Affine.h:80
double getLongitude() const
Definition: GruenTypes.h:128
AffineRadio(const GVector &alpha)
Definition: GruenTypes.h:264
double getLine() const
Definition: GruenTypes.h:129
MatchPoint(const PointPair &point)
Definition: GruenTypes.h:454
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:40
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
void setLineSamp(const double &line, const double &sample)
Use the Line/Sample interface.
Definition: GruenTypes.h:85
int m_status
Definition: GruenTypes.h:477
Coordinate(double y, double x)
Definition: GruenTypes.h:72
double getSample() const
Definition: GruenTypes.h:204
double Shift() const
Definition: GruenTypes.h:228
MatchPoint(const AffineRadio &radio)
Definition: GruenTypes.h:452
bool isValid() const
Check for goodness.
Definition: GruenTypes.h:123
~Threshold()
Definition: GruenTypes.h:376
bool IsSpecial(const double d)
Returns if the input pixel is special.
Definition: SpecialPixel.h:212
AffineRadio(const Radiometric &radio)
Definition: GruenTypes.h:267
AffineRadio & operator+=(const AffineRadio &other)
Define update procedure for accumulating Gruen iterations.
Definition: GruenTypes.h:272
Coordinate()
Definition: GruenTypes.h:71
double m_gain
Definition: GruenTypes.h:240
~AffineRadio()
Definition: GruenTypes.h:269
Container for Affine limits parameters.
Definition: GruenTypes.h:335
Coordinate m_left
Definition: GruenTypes.h:210
Container for affine and radiometric parameters.
Definition: GruenTypes.h:258
double getRightSample() const
Definition: GruenTypes.h:208
Coordinate & operator-=(const Coordinate &other)
Subtract a point from this point.
Definition: GruenTypes.h:104
double getLeftLine() const
Definition: GruenTypes.h:205
Analysis m_analysis
Definition: GruenTypes.h:475
Structure containing comprehensive registration info/results.
Definition: GruenTypes.h:449
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
bool hasConverged(const AffineRadio &affine) const
Determines convergence from an affine/radiometric fit.
Definition: GruenTypes.h:379
int Samples() const
Definition: Chip.h:115
static AMatrix getIdentity()
Return an Affine identity matrix.
Definition: Affine.cpp:75
Threshold()
Definition: GruenTypes.h:366
GMatrix m_affine
Definition: GruenTypes.h:296
AffineTolerance()
Definition: GruenTypes.h:337
Isis exception class.
Definition: IException.h:107
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
Compute/test the Affine convergence from given parameters/chip.
Definition: GruenTypes.h:364
double m_y
Definition: GruenTypes.h:132
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
double getLine() const
Definition: GruenTypes.h:203
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
bool isValid() const
Definition: GruenTypes.h:464
~Coordinate()
Definition: GruenTypes.h:75
~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