Isis 3 Programmer Reference
Isis::Gruen Class Reference

Gruen pattern matching algorithm. More...

#include <Gruen.h>

Inheritance diagram for Isis::Gruen:
Inheritance graph
Collaboration diagram for Isis::Gruen:
Collaboration graph

Classes

struct  ErrorCounter
 Struct that maintains error counts. More...
 

Public Types

enum  RegisterStatus {
  SuccessPixel , SuccessSubPixel , PatternChipNotEnoughValidData , FitChipNoData ,
  FitChipToleranceNotMet , SurfaceModelNotEnoughValidData , SurfaceModelSolutionInvalid , SurfaceModelDistanceInvalid ,
  PatternZScoreNotMet , AdaptiveAlgorithmFailed
}
 Enumeration of the Register() method's return status. More...
 
enum  GradientFilterType { None , Sobel }
 Enumeration of the different types of gradient filters that can be applied to the pattern and search chips before matching them. More...
 

Public Member Functions

 Gruen ()
 Default constructor.
 
 Gruen (Pvl &pvl)
 Construct a Gruen search algorithm.
 
virtual ~Gruen ()
 Destructor.
 
BigInt CallCount () const
 Returns the current call count.
 
void WriteSubsearchChips (const QString &pattern="SubChip")
 Set up for writing subsearch for a a given registration call.
 
AffineTolerance getAffineTolerance () const
 Return set of tolerances for affine convergence.
 
double getSpiceConstraint () const
 Returns the SPICE tolerance constraint as read from config file.
 
double getAffineConstraint () const
 Returns the Affine tolerance constraint as read from config file.
 
void setAffineRadio (const AffineRadio &affrad)
 Sets initial chip transformation.
 
void setAffineRadio ()
 Set affine parameters to defaults.
 
const AffineRadiogetDefaultAffineRadio () const
 Returns default settings for Affine/Radiometric parameters.
 
const AffineRadiogetAffineRadio () const
 Return current state of Affine/Radio state

 
MatchPoint getLastMatch () const
 Returns the register state of the last successful Gruen match.
 
ChipPatternChip ()
 Return pointer to pattern chip.
 
ChipSearchChip ()
 Return pointer to search chip.
 
ChipFitChip ()
 Return pointer to fit chip.
 
ChipRegistrationPatternChip ()
 Return pointer to pattern chip used in registration.
 
ChipRegistrationSearchChip ()
 Return pointer to search chip used in registration.
 
ChipReducedPatternChip ()
 Return pointer to reduced pattern chip.
 
ChipReducedSearchChip ()
 Return pointer to reduced search chip.
 
ChipReducedFitChip ()
 Return pointer to reduced fit chip.
 
void SetSubPixelAccuracy (bool on)
 If the sub-pixel accuracy is enabled, the Register() method will attempt to match the pattern chip to the search chip at sub-pixel accuracy, otherwise it will be registered at whole pixel accuracy.
 
void SetPatternValidPercent (const double percent)
 Set the amount of data in the pattern chip that must be valid.
 
void SetSubsearchValidPercent (const double percent)
 Set the amount of data in the search chip's subchip that must be valid.
 
void SetTolerance (double tolerance)
 Set the tolerance for an acceptable goodness of fit.
 
void SetChipInterpolator (const QString &interpolator)
 Sets the Chip class interpolator type to be used to load pattern and search chips.
 
void SetSurfaceModelWindowSize (int size)
 Set the surface model window size.
 
void SetSurfaceModelDistanceTolerance (double distance)
 Set a distance the surface model solution is allowed to move away from the best whole pixel fit in the fit chip.
 
void SetReductionFactor (int reductionFactor)
 Set the reduction factor used to speed up the pattern matching algorithm.
 
void SetPatternZScoreMinimum (double minimum)
 Set the minimum pattern zscore.
 
void SetGradientFilterType (const QString &gradientFilterType)
 Set the gradient filter type to be applied to the search and pattern chips.
 
QString GradientFilterString () const
 
bool SubPixelAccuracy ()
 Return whether this object will attempt to register to whole or sub-pixel accuracy.
 
int ReductionFactor ()
 Return the reduction factor.
 
double PatternValidPercent () const
 Return pattern chip valid percent. The default value is.
 
double SubsearchValidPercent () const
 Return subsearch chip valid percent.
 
double Tolerance () const
 Return match algorithm tolerance.
 
double WindowSize () const
 Return window size.
 
double DistanceTolerance () const
 Return distance tolerance.
 
void Distance (double &sampDistance, double &lineDistance)
 Return the distance point moved.
 
AutoReg::RegisterStatus Register ()
 Walk the pattern chip through the search chip to find the best registration.
 
bool Success () const
 Return whether the match algorithm succeeded or not.
 
double GoodnessOfFit () const
 Return the goodness of fit of the match algorithm.
 
bool IsIdeal (double fit)
 Returns true if the fit parameter is arbitrarily close to the ideal fit value.
 
double ChipSample () const
 Return the search chip sample that best matched.
 
double ChipLine () const
 Return the search chip line that best matched.
 
double CubeSample () const
 Return the search chip cube sample that best matched.
 
double CubeLine () const
 Return the search chip cube line that best matched.
 
double MinimumZScore () const
 Return minimumPatternZScore.
 
void ZScores (double &score1, double &score2) const
 Return the ZScores of the pattern chip.
 
Pvl RegistrationStatistics ()
 This returns the cumulative registration statistics.
 
virtual double MostLenientTolerance ()
 Minimum tolerance specific to algorithm.
 
PvlGroup RegTemplate ()
 This function returns the keywords that this object was created from.
 
PvlGroup UpdatedTemplate ()
 Returns a PvlGroup containing the PvlKeywords of the parameters this object was most recently run with.
 

Protected Member Functions

virtual QString AlgorithmName () const
 Returns the default name of the algorithm as Gruen.
 
int algorithm (Chip &pattern, Chip &subsearch, const Radiometric &radio, BigInt &ptsUsed, double &resid, GMatrix &atai, AffineRadio &affrad)
 Real workhorse of the computational Gruen algorithm.
 
Analysis errorAnalysis (const BigInt &npts, const double &resid, const GMatrix &atai)
 Compute the error analysis of convergent Gruen matrix.
 
virtual double MatchAlgorithm (Chip &pattern, Chip &subsearch)
 Minimization of data set using Gruen algorithm.
 
virtual bool CompareFits (double fit1, double fit2)
 This virtual method must return if the 1st fit is equal to or better than the second fit.
 
virtual double IdealFit () const
 Returns the ideal fit for a perfect Gruen result.
 
virtual AutoReg::RegisterStatus Registration (Chip &sChip, Chip &pChip, Chip &fChip, int startSamp, int startLine, int endSamp, int endLine, int bestSamp, int bestLine)
 Applies the adaptive Gruen algorithm to pattern and search chips.
 
virtual Pvl AlgorithmStatistics (Pvl &pvl)
 Create Gruen error and processing statistics Pvl output.
 
void SetChipSample (double sample)
 Sets the search chip subpixel sample that matches the pattern tack sample.
 
void SetChipLine (double line)
 Sets the search chip subpixel line that matches the pattern tack line.
 
void SetGoodnessOfFit (double fit)
 Sets the goodness of fit for adaptive algorithms.
 
void Parse (Pvl &pvl)
 Initialize parameters in the AutoReg class using a PVL specification.
 
bool SetSubpixelPosition (Chip &window)
 Set the search chip sample and line to subpixel values if possible.
 
Chip Reduce (Chip &chip, int reductionFactor)
 This method reduces the given chip by the given reduction factor.
 

Protected Attributes

PvlObject p_template
 AutoRegistration object that created this projection.
 

Private Types

enum  ErrorTypes {
  NotEnoughPoints = 1 , CholeskyFailed = 2 , EigenSolutionFailed = 3 , AffineNotInvertable = 4 ,
  MaxIterationsExceeded = 5 , RadShiftExceeded = 6 , RadGainExceeded = 7 , MaxEigenExceeded = 8 ,
  AffineDistExceeded = 9
}
 Error enumeration values. More...
 
typedef CollectorMap< int, ErrorCounterErrorList
 Declaration of error count list.
 

Private Member Functions

QString ConfKey (const DbProfile &conf, const QString &keyname, const QString &defval, int index=0) const
 Helper method to initialize parameters.
 
template<typename T >
ConfKey (const DbProfile &conf, const QString &keyname, const T &defval, int index=0) const
 Helper method to initialize parameters.
 
template<typename T >
PvlKeyword ParameterKey (const QString &keyname, const T &value, const QString &unit="") const
 Keyword formatter for Gruen parameters.
 
PvlKeyword ValidateKey (const QString keyname, const double &value, const QString &unit="") const
 Checks value of key, produces appropriate value.
 
ErrorList initErrorList () const
 Creates an error list from know Gruen errors.
 
int logError (int gerrno, const QString &gerrmsg)
 Logs a Gruen error.
 
PvlGroup StatsLog () const
 Create a PvlGroup with the Gruen specific statistics.
 
PvlGroup ParameterLog () const
 Create a PvlGroup with the Gruen specific parameters.
 
void init (Pvl &pvl)
 Initialize the object.
 
Radiometric getDefaultRadio () const
 Returns the default radiometric gain value.
 
double DegreesOfFreedom (const int npts) const
 Returns number of degrees of freedom of points.
 
void resetStats ()
 Reset Gruen statistics as needed.
 
GMatrix Identity (const int &ndiag=3) const
 
GMatrix Choldc (const GMatrix &a, GVector &p) const
 Compute Cholesky solution.
 
GMatrix Cholsl (const GMatrix &a, const GVector &p, const GMatrix &b, const GMatrix &x) const
 Compute Cholesky solution matrix from correlation.
 
int Jacobi (const GMatrix &a, GVector &evals, GMatrix &evecs, const int &MaxIters=50) const
 Compute the Jacobian of a covariance matrix.
 
void EigenSort (GVector &evals, GMatrix &evecs) const
 Sort eigenvectors from highest to lowest.
 
BigInt MinValidPoints (BigInt totalPoints) const
 Computes the number of minimum valid points.
 
bool ValidPoints (BigInt totalPoints, BigInt nPoints) const
 Determines if number of points is valid percentage of all points.
 
int CheckConstraints (MatchPoint &point)
 Test user limits/contraints after the algorithm has converged.
 
Coordinate getChipUpdate (Chip &sChip, MatchPoint &point) const
 Compute the chip coordinate of the registered pixel.
 
AutoReg::RegisterStatus Status (const MatchPoint &result)
 Returns the proper status given a Gruen result container.
 
void Match (Chip &sChip, Chip &pChip, Chip &fChip, int startSamp, int endSamp, int startLine, int endLine)
 Empty copy constructor.
 
bool ComputeChipZScore (Chip &chip)
 This method computes the given Chip's Z-Score.
 
void Init ()
 Initialize AutoReg object private variables.
 
void ApplyGradientFilter (Chip &chip)
 Run a gradient filter over the chip.
 
void SobelGradient (Buffer &in, double &v)
 Compute a Sobel gradient based on an input buffer.
 

Static Private Member Functions

static PvlgetDefaultParameters ()
 Load default Gruen parameter file in $ISISROOT/appdata/templates.
 

Private Attributes

BigInt m_callCount
 
QString m_filePattern
 
ErrorList m_errors
 
BigInt m_unclassified
 
int m_maxIters
 
int m_nIters
 
BigInt m_totalIterations
 
DbProfile m_prof
 
double m_transTol
 
double m_scaleTol
 
double m_shearTol
 
double m_spiceTol
 
double m_affineTol
 
double m_shiftTol
 
double m_rgainMinTol
 
double m_rgainMaxTol
 
double m_defGain
 
double m_defShift
 
AffineRadio m_defAffine
 
AffineRadio m_affine
 
MatchPoint m_point
 
Statistics m_eigenStat
 
Statistics m_iterStat
 
Statistics m_shiftStat
 
Statistics m_gainStat
 
Chip p_patternChip
 Chip to be matched.
 
Chip p_searchChip
 Chip to be searched for best registration.
 
Chip p_fitChip
 Results from MatchAlgorithm() method.
 
Chip p_gradientSearchChip
 Chip to be searched for best registration with gradient applied.
 
Chip p_gradientPatternChip
 Chip to be matched with gradient applied.
 
Chip p_reducedPatternChip
 Pattern Chip with reduction factor.
 
Chip p_reducedSearchChip
 Search Chip with reduction factor.
 
Chip p_reducedFitChip
 Fit Chip with reduction factor.
 
bool p_subpixelAccuracy
 Indicates whether sub-pixel accuracy is enabled. Default is true.
 
int p_totalRegistrations
 Registration Statistics Total keyword.
 
int p_pixelSuccesses
 Registration statistics Success keyword.
 
int p_subpixelSuccesses
 Registration statistics Success keyword.
 
int p_patternChipNotEnoughValidDataCount
 Registration statistics PatternNotEnoughValidData keyword.
 
int p_patternZScoreNotMetCount
 Registration statistics PatternZScoreNotMet keyword.
 
int p_fitChipNoDataCount
 Registration statistics FitChipNoData keyword.
 
int p_fitChipToleranceNotMetCount
 Registration statistics FitChipToleranceNotMet keyword.
 
int p_surfaceModelNotEnoughValidDataCount
 Registration statistics SurfaceModelNotEnoughValidData keyword.
 
int p_surfaceModelSolutionInvalidCount
 Registration statistics SurfaceModelSolutionInvalid keyword.
 
int p_surfaceModelDistanceInvalidCount
 Registration statistics SurfaceModelDistanceInvalid keyword.
 
double p_zScoreMin
 First Z-Score of pattern chip.
 
double p_zScoreMax
 Second Z-Score of pattern chip.
 
double p_minimumPatternZScore
 Minimum pattern Z-Score.
 
double p_patternValidPercent
 Percentage of data in pattern chip that must be valid.
 
double p_subsearchValidPercent
 Percentage of data in subsearch chip that must be valid.
 
double p_chipSample
 Chip sample.
 
double p_chipLine
 Chip line.
 
double p_cubeSample
 Cube sample.
 
double p_cubeLine
 Cube line.
 
double p_goodnessOfFit
 Goodness of fit of the match algorithm.
 
double p_tolerance
 Tolerance for acceptable goodness of fit in match algorithm.
 
int p_windowSize
 Surface model window size.
 
double p_distanceTolerance
 Maximum distance the surface model solution may be from the best whole pixel fit in the fit chip.
 
double p_bestFit
 Goodness of fit for adaptive algorithms.
 
int p_bestSamp
 Sample value of best fit.
 
int p_bestLine
 Line value of best fit.
 
double p_sampMovement
 The number of samples the point moved.
 
double p_lineMovement
 The number of lines the point moved.
 
int p_reduceFactor
 Reduction factor.
 
Isis::AutoReg::RegisterStatus p_registrationStatus
 Registration status to be returned by Register().
 
AutoReg::GradientFilterType p_gradientFilterType
 Type of gradient filter to use before matching.
 

Detailed Description

Gruen pattern matching algorithm.

This class provides adaptive image (chip) registration using the AutoReg factory architecture. This algorithm uses an Affine transform to iteratively adjust the search chip at each iteration. Each iteration solves for new adjustments to the Affine transform until the 6 affine parameters fall below the tolerances as specified in AffineThreshHold1 and AffineThreshHold2.

This class minimizes the 6 specifiable Affine transform components of a 3x3 matrix. The three Affine components for X (sample) and Y (line) are scale, shear and translation. Gruen provides control over the maximum values these three components should attain in order for the registration to converge to a successful match. These limits are specified by AffineScaleTolerance, AffineShearTolerance and AffineTranslationTolerance. AffineShearTolerance is optional and if not specified, it defaults to the value of AffineScaleTolerance. These tolerances specify the maximum amount of translation pixels can be shifted between one Gruen iteration and another. For example, AffineTranslationTolerance = 0.2 means that a subsearch chip cannot move in sample or line direction more than 0.2 pixels in order to satisfy convergence. AffineScaleTolerance constrains the sample and line scale elements of the Affine transformation. And AffineShearTolerance constrains the sample and line shear elements of the Affine transformation. The scale and shear parameters are scaled by size of the Chip. The sample scale and shear Affine components maximum limit is computed as AffineScaleTolerance/((#Samples-1)/2) and AffineShearTolerance/((#Samples-1)/2). Likewise, the line scale and shear maximums are computed using #Lines in the preceding equation.

See also
MinimumGruen AdaptiveGruen AutoReg
Author
2009-09-09 Kris Becker
History

2009-09-10 Kris Becker Changed AffineThreshHold1 to AffineTranslationTolerance and AffineThreshHold2 to AffineScaleTolerance. Added AffineShearTolerance. Added logging of Gruen parameters.

2009-09-11 Kris Becker Minor error in computation of radiometric shift

2010-06-14 Jeannie Walldren - Capitalized getTransform and setTransform to match changes in Chip class

2011-05-23 Kris Becker - Reworked major portions of implementation for a more modular support.

Definition at line 74 of file Gruen.h.

Member Typedef Documentation

◆ ErrorList

Declaration of error count list.

Definition at line 182 of file Gruen.h.

Member Enumeration Documentation

◆ ErrorTypes

Error enumeration values.

Definition at line 157 of file Gruen.h.

◆ GradientFilterType

Enumeration of the different types of gradient filters that can be applied to the pattern and search chips before matching them.

Enumerator
None 

default, no gradient filter

Sobel 

Sobel gradient filter.

Definition at line 196 of file AutoReg.h.

◆ RegisterStatus

Enumeration of the Register() method's return status.

All of the enumerations describe a failure to register except "Success". These status values can be used to provide the user with more specific feedback on why registration did not succeed.

Enumerator
SuccessPixel 

Success registering to whole pixel.

SuccessSubPixel 

Success registering to sub-pixel accuracy.

PatternChipNotEnoughValidData 

Not enough valid data in pattern chip.

FitChipNoData 

Fit chip did not have any valid data.

FitChipToleranceNotMet 

Goodness of fit tolerance not satisfied.

SurfaceModelNotEnoughValidData 

Not enough points to fit a surface model for sub-pixel accuracy.

SurfaceModelSolutionInvalid 

Could not model surface for sub-pixel accuracy.

SurfaceModelDistanceInvalid 

Surface model moves registration more than one pixel.

PatternZScoreNotMet 

Pattern data max or min does not pass the z-score test.

AdaptiveAlgorithmFailed 

Error occured in Adaptive algorithm.

Definition at line 179 of file AutoReg.h.

Constructor & Destructor Documentation

◆ Gruen() [1/2]

Isis::Gruen::Gruen ( )

Default constructor.

Default constructor sets up default Gruen parameters.

Author
Kris Becker - 5/22/2011

Definition at line 32 of file Gruen.cpp.

References getDefaultParameters(), and init().

◆ Gruen() [2/2]

Isis::Gruen::Gruen ( Pvl & pvl)

Construct a Gruen search algorithm.

This will construct a minimum difference search algorith. It is recommended that you use a AutoRegFactory class as opposed to this constructor. Direct construction is used commonly in stereo matching.

Parameters
pvlA Pvl object that contains a valid automatic registration definition

Definition at line 47 of file Gruen.cpp.

References init().

◆ ~Gruen()

virtual Isis::Gruen::~Gruen ( )
inlinevirtual

Destructor.

Definition at line 82 of file Gruen.h.

Member Function Documentation

◆ algorithm()

int Isis::Gruen::algorithm ( Chip & pattern,
Chip & subsearch,
const Radiometric & radio,
BigInt & ptsUsed,
double & resid,
GMatrix & atai,
AffineRadio & affrad )
protected

Real workhorse of the computational Gruen algorithm.

This method is called for all registration requests and actually performs the registration of two chips.

The pattern chip is deemed constant. The subsearch chip is generally an extraction from the search chip that has had an affine transform applied to fill it.

At each iteration of the Gruen algorithm, the affine transform is incrementally updated based upon the results from this method. There are six affine parameters and two radiometric (shift and gain) parameters that are solved/computed here.

The algorithm itself is a first derivative computation of the subsearch chip with small radiometric adjustments applied to better tone match the two chips. This is intended to minimize the affine variability.

Parameters
patternFixed pattern chip which subsearch is trying to match
subsearchAffined extraction of the search chip
Returns
Returns 0 if successful, otherwise returns the error number associated with the problem encountered (see ErrorTypes)

Definition at line 156 of file Gruen.cpp.

References Choldc(), Cholsl(), logError(), MinValidPoints(), and ValidPoints().

Referenced by MatchAlgorithm(), and Registration().

◆ AlgorithmName()

virtual QString Isis::Gruen::AlgorithmName ( ) const
inlineprotectedvirtual

Returns the default name of the algorithm as Gruen.

Implements Isis::AutoReg.

Reimplemented in Isis::AdaptiveGruen.

Definition at line 124 of file Gruen.h.

Referenced by AlgorithmStatistics().

◆ AlgorithmStatistics()

Pvl Isis::Gruen::AlgorithmStatistics ( Pvl & pvl)
protectedvirtual

Create Gruen error and processing statistics Pvl output.

This method generates two groups specific to the Gruen algorithm: The GruenFailures group which logs all the errors enountered during processing and the GruenStatistics group which logs selected statistics gathered during a registration run.

These groups are added to the AutoReg log output Pvl container for reporting to user/log files.

Parameters
pvlInput AutoReg Pvl container to add results to
Returns
Pvl Output Pvl container with Gruen information

Reimplemented from Isis::AutoReg.

Definition at line 824 of file Gruen.cpp.

References AlgorithmName(), Isis::CollectorMap< K, T, ComparePolicy, RemovalPolicy, CopyPolicy >::getNth(), ParameterLog(), Isis::CollectorMap< K, T, ComparePolicy, RemovalPolicy, CopyPolicy >::size(), StatsLog(), and Isis::toString().

◆ ApplyGradientFilter()

void Isis::AutoReg::ApplyGradientFilter ( Chip & chip)
privateinherited

Run a gradient filter over the chip.

The type of filter is determined by the Gradient keyword in the Algorithm group.

Parameters
chipthe chip to be filtered
Exceptions
iException::Programmer- "Invalid Gradient type."

Definition at line 927 of file AutoReg.cpp.

References Isis::Buffer::DoubleBuffer(), Isis::Chip::Extract(), Isis::Chip::Lines(), Isis::AutoReg::None, Isis::AutoReg::p_gradientFilterType, Isis::IException::Programmer, Isis::Chip::Samples(), Isis::Chip::SetValue(), Isis::AutoReg::Sobel, and Isis::AutoReg::SobelGradient().

Referenced by Isis::AutoReg::Register().

◆ CallCount()

BigInt Isis::Gruen::CallCount ( ) const
inline

Returns the current call count.

Definition at line 85 of file Gruen.h.

◆ CheckConstraints()

int Isis::Gruen::CheckConstraints ( MatchPoint & point)
private

Test user limits/contraints after the algorithm has converged.

This method is invoked immediately after the Gruen algorithm has converged to test against user specified limits. This call is only valid in the adaptive context as much of the error checking is handled by AutoReg when using the non-adaptive algorithm.

This method tests for convergence, maximum iterations exceeded, tolerance limits of radiometric shift and gain and whether the eigenvalue of the solution exceeds the limit.

The result container is altered should a constraint not be meet which indicates the registration failed.

Parameters
pointContainer with point information
Returns
int Returns the status of the point. If all constraints tests are valid, 0 is return, otherwise returns error number.

Definition at line 1090 of file Gruen.cpp.

References Isis::Statistics::AddData(), getAffineConstraint(), Isis::MatchPoint::getAffinePoint(), Isis::Coordinate::getDistance(), logError(), and Isis::AutoReg::Tolerance().

Referenced by Registration().

◆ ChipLine()

double Isis::AutoReg::ChipLine ( ) const
inlineinherited

Return the search chip line that best matched.

Definition at line 335 of file AutoReg.h.

References Isis::AutoReg::p_chipLine.

◆ ChipSample()

double Isis::AutoReg::ChipSample ( ) const
inlineinherited

Return the search chip sample that best matched.

Definition at line 330 of file AutoReg.h.

References Isis::AutoReg::p_chipSample.

◆ Choldc()

GMatrix Isis::Gruen::Choldc ( const GMatrix & a,
GVector & p ) const
private

Compute Cholesky solution.

Author
kbecker (5/15/2011)
Parameters
a
p
Returns
Gruen::GMatrix

Definition at line 341 of file Gruen.cpp.

References Isis::IException::Programmer.

Referenced by algorithm().

◆ Cholsl()

GMatrix Isis::Gruen::Cholsl ( const GMatrix & a,
const GVector & p,
const GMatrix & b,
const GMatrix & x ) const
private

Compute Cholesky solution matrix from correlation.

Author
kbecker (5/15/2011)
Parameters
a
p
b
x
Returns
Gruen::GMatrix

Definition at line 383 of file Gruen.cpp.

Referenced by algorithm().

◆ CompareFits()

bool Isis::Gruen::CompareFits ( double fit1,
double fit2 )
protectedvirtual

This virtual method must return if the 1st fit is equal to or better than the second fit.

Parameters
fit11st goodness of fit
fit22nd goodness of fit

Reimplemented from Isis::AutoReg.

Definition at line 636 of file Gruen.cpp.

◆ ComputeChipZScore()

bool Isis::AutoReg::ComputeChipZScore ( Chip & chip)
privateinherited

This method computes the given Chip's Z-Score.

If this value is less than the minimum pattern Z-Score or greater than the negative of the minimum pattern Z-Score, the method will return false. Otherwise, it returns true.

Parameters
chipChip object whose Z-Score is calculated
Returns
bool Indicates whether Z-Score calculated lies between the minimum and Pattern Z-Score and its negative.

Definition at line 895 of file AutoReg.cpp.

References Isis::Chip::GetValue(), Isis::Chip::Lines(), Isis::AutoReg::p_minimumPatternZScore, Isis::AutoReg::p_zScoreMax, Isis::AutoReg::p_zScoreMin, and Isis::Chip::Samples().

Referenced by Isis::AutoReg::Register().

◆ ConfKey() [1/2]

QString Isis::Gruen::ConfKey ( const DbProfile & conf,
const QString & keyname,
const QString & defval,
int index = 0 ) const
inlineprivate

Helper method to initialize parameters.

This method will check the existance of a keyword and extract the value

if it exists to the passed parameter (type). If it doesn't exist, the default values is returned.

Parameters
TTemplated variable type
confParameter profile container
keynameName of keyword to get a value from
defvalDefault value it keyword/value doesn't exist
indexOptional index of the value for keyword arrays
Returns
T Return type

Definition at line 241 of file Gruen.h.

Referenced by init().

◆ ConfKey() [2/2]

template<typename T >
T Isis::Gruen::ConfKey ( const DbProfile & conf,
const QString & keyname,
const T & defval,
int index = 0 ) const
inlineprivate

Helper method to initialize parameters.

This method will check the existance of a keyword and extract the value

if it exists to the passed parameter (type). If it doesn't exist, the default values is returned.

Parameters
TTemplated variable type
confParameter profile container
keynameName of keyword to get a value from
defvalDefault value it keyword/value doesn't exist
indexOptional index of the value for keyword arrays
Returns
T Return type

Definition at line 272 of file Gruen.h.

◆ CubeLine()

double Isis::AutoReg::CubeLine ( ) const
inlineinherited

Return the search chip cube line that best matched.

Definition at line 345 of file AutoReg.h.

References Isis::AutoReg::p_cubeLine.

Referenced by Isis::ControlMeasureEditWidget::registerPoint(), and Isis::ControlPointEdit::registerPoint().

◆ CubeSample()

double Isis::AutoReg::CubeSample ( ) const
inlineinherited

Return the search chip cube sample that best matched.

Definition at line 340 of file AutoReg.h.

References Isis::AutoReg::p_cubeSample.

Referenced by Isis::ControlMeasureEditWidget::registerPoint(), and Isis::ControlPointEdit::registerPoint().

◆ DegreesOfFreedom()

double Isis::Gruen::DegreesOfFreedom ( const int npts) const
inlineprivate

Returns number of degrees of freedom of points.

Definition at line 347 of file Gruen.h.

Referenced by errorAnalysis().

◆ Distance()

void Isis::AutoReg::Distance ( double & sampDistance,
double & lineDistance )
inlineinherited

Return the distance point moved.

Parameters
sampDistanceSample movement
lineDistanceLine movement

Definition at line 310 of file AutoReg.h.

References Isis::AutoReg::p_lineMovement, and Isis::AutoReg::p_sampMovement.

Referenced by Isis::ControlMeasureEditWidget::registerPoint(), and Isis::ControlPointEdit::registerPoint().

◆ DistanceTolerance()

double Isis::AutoReg::DistanceTolerance ( ) const
inlineinherited

◆ EigenSort()

void Isis::Gruen::EigenSort ( GVector & evals,
GMatrix & evecs ) const
private

Sort eigenvectors from highest to lowest.

Author
kbecker (5/15/2011)
Parameters
evals
evecs

Definition at line 556 of file Gruen.cpp.

Referenced by errorAnalysis().

◆ errorAnalysis()

Analysis Isis::Gruen::errorAnalysis ( const BigInt & npts,
const double & resid,
const GMatrix & atai )
protected

Compute the error analysis of convergent Gruen matrix.

Author
kbecker (5/15/2011)
Parameters
npts
resid
atai
Returns
Analysis

Definition at line 289 of file Gruen.cpp.

References DegreesOfFreedom(), EigenSort(), Jacobi(), and logError().

Referenced by MatchAlgorithm(), and Registration().

◆ FitChip()

Chip * Isis::AutoReg::FitChip ( )
inlineinherited

Return pointer to fit chip.

Definition at line 212 of file AutoReg.h.

References Isis::AutoReg::p_fitChip.

Referenced by Isis::ControlMeasureEditWidget::saveChips(), and Isis::ControlPointEdit::saveChips().

◆ getAffineConstraint()

double Isis::Gruen::getAffineConstraint ( ) const
inline

Returns the Affine tolerance constraint as read from config file.

Definition at line 95 of file Gruen.h.

Referenced by CheckConstraints().

◆ getAffineRadio()

const AffineRadio & Isis::Gruen::getAffineRadio ( ) const
inline

Return current state of Affine/Radio state

Definition at line 104 of file Gruen.h.

Referenced by init().

◆ getAffineTolerance()

AffineTolerance Isis::Gruen::getAffineTolerance ( ) const

Return set of tolerances for affine convergence.

Author
kbecker (5/15/2011)
Returns
Tolerance Affine tolerances from PVL setup

Definition at line 1066 of file Gruen.cpp.

Referenced by Registration().

◆ getChipUpdate()

Coordinate Isis::Gruen::getChipUpdate ( Chip & chip,
MatchPoint & point ) const
private

Compute the chip coordinate of the registered pixel.

Author
Kris Becker - 5/19/2011
Parameters
chipChip to update with registration parameters
pointRegistration match information
Returns
Coordinate

Definition at line 1141 of file Gruen.cpp.

References Isis::Chip::ChipLine(), Isis::Chip::ChipSample(), Isis::Chip::CubeLine(), Isis::Chip::CubeSample(), Isis::MatchPoint::getAffinePoint(), Isis::Chip::SetChipPosition(), Isis::Chip::TackCube(), Isis::Chip::TackLine(), and Isis::Chip::TackSample().

Referenced by Registration().

◆ getDefaultAffineRadio()

const AffineRadio & Isis::Gruen::getDefaultAffineRadio ( ) const
inline

Returns default settings for Affine/Radiometric parameters.

Definition at line 101 of file Gruen.h.

Referenced by setAffineRadio().

◆ getDefaultParameters()

Pvl & Isis::Gruen::getDefaultParameters ( )
staticprivate

Load default Gruen parameter file in $ISISROOT/appdata/templates.

Author
Kris Becker - 5/22/2011
Returns
Pvl Contents of default file

Definition at line 803 of file Gruen.cpp.

Referenced by Gruen().

◆ getDefaultRadio()

Radiometric Isis::Gruen::getDefaultRadio ( ) const
inlineprivate

Returns the default radiometric gain value.

Definition at line 342 of file Gruen.h.

Referenced by init(), and MatchAlgorithm().

◆ getLastMatch()

MatchPoint Isis::Gruen::getLastMatch ( ) const
inline

Returns the register state of the last successful Gruen match.

This method returns the full match condition of the last call to Gruen Register function that was successful.

BEWARE: This is only valid if Register returns successfully! This is due to AutoReg returning conditions that occur prior to the actual Gruen algorithm being called.

Author
Kris Becker - 6/4/2011
Returns
MatchPoint

Definition at line 120 of file Gruen.h.

◆ getSpiceConstraint()

double Isis::Gruen::getSpiceConstraint ( ) const
inline

Returns the SPICE tolerance constraint as read from config file.

Definition at line 92 of file Gruen.h.

◆ GoodnessOfFit()

double Isis::AutoReg::GoodnessOfFit ( ) const
inlineinherited

◆ GradientFilterString()

QString Isis::AutoReg::GradientFilterString ( ) const
inherited

Definition at line 289 of file AutoReg.cpp.

◆ IdealFit()

virtual double Isis::Gruen::IdealFit ( ) const
inlineprotectedvirtual

Returns the ideal fit for a perfect Gruen result.

Implements Isis::AutoReg.

Definition at line 140 of file Gruen.h.

◆ Identity()

GMatrix Isis::Gruen::Identity ( const int & ndiag = 3) const
private

Definition at line 540 of file Gruen.cpp.

◆ Init()

◆ init()

void Isis::Gruen::init ( Pvl & pvl)
private

Initialize the object.

This method reads from the Algorithm group (if it exists) to set variables used in this object. If not all the keywords are present, then appropriate values are provided.

Parameters
PvlObject&pvl PVL object/groups that contain algorithm parameters

Definition at line 967 of file Gruen.cpp.

References ConfKey(), getAffineRadio(), getDefaultRadio(), initErrorList(), Isis::DbProfile::Name(), Isis::DbProfile::setName(), Isis::toDouble(), Isis::toInt(), Isis::toString(), and Isis::PvlObject::Traverse.

Referenced by Gruen(), and Gruen().

◆ initErrorList()

Gruen::ErrorList Isis::Gruen::initErrorList ( ) const
private

Creates an error list from know Gruen errors.

This method creates the list of known/expected Gruen errors that might occur during processing. This should be closely maintained with the ErrorTypes enum list.

Returns
Gruen::ErrorList Error list container

Definition at line 922 of file Gruen.cpp.

References Isis::CollectorMap< K, T, ComparePolicy, RemovalPolicy, CopyPolicy >::add().

Referenced by init().

◆ IsIdeal()

bool Isis::AutoReg::IsIdeal ( double fit)
inlineinherited

Returns true if the fit parameter is arbitrarily close to the ideal fit value.

Parameters
fitFit value to be compared to the ideal fit
Returns
bool Indicates whether the fit is ideal

Definition at line 1162 of file AutoReg.cpp.

References Isis::AutoReg::IdealFit().

Referenced by Isis::AutoReg::Registration().

◆ Jacobi()

int Isis::Gruen::Jacobi ( const GMatrix & a,
GVector & evals,
GMatrix & evecs,
const int & MaxIters = 50 ) const
private

Compute the Jacobian of a covariance matrix.

Author
kbecker (5/15/2011)
Parameters
a
evals
evecs
MaxIters
Returns
int

Definition at line 427 of file Gruen.cpp.

References Isis::IException::Programmer.

Referenced by errorAnalysis().

◆ logError()

int Isis::Gruen::logError ( int gerrno,
const QString & gerrmsg )
private

Logs a Gruen error.

A running count of errors that occur is maintained through this method. If an error occurs that is not in the list, it will also be counted. This would indicate that a new error condition has occured and needs to be added to the list.

Parameters
gerrnoOne of the errors as defined by GruenError enum
gerrmsgOptional message although it is ignored in this context

Definition at line 948 of file Gruen.cpp.

References Isis::CollectorMap< K, T, ComparePolicy, RemovalPolicy, CopyPolicy >::exists(), and Isis::CollectorMap< K, T, ComparePolicy, RemovalPolicy, CopyPolicy >::get().

Referenced by algorithm(), CheckConstraints(), errorAnalysis(), and Registration().

◆ Match()

void Isis::AutoReg::Match ( Chip & sChip,
Chip & pChip,
Chip & fChip,
int startSamp,
int endSamp,
int startLine,
int endLine )
privateinherited

Empty copy constructor.

Here we walk from start sample to end sample and start line to end line, and compare the pattern chip against the search chip to find the best line/sample.

Parameters
originalAutoReg object
sChipSearch chip
pChipPattern chip
fChipFit chip
startSampStart sample
endSampEnd sample
startLineStart line
endLineEnd line
Exceptions
iException::Programmer- "StartSample = EndSample and StartLine = EndLine."

Definition at line 1031 of file AutoReg.cpp.

References Isis::AutoReg::CompareFits(), Isis::AutoReg::MatchAlgorithm(), Isis::Null, Isis::AutoReg::p_bestFit, Isis::AutoReg::p_bestLine, Isis::AutoReg::p_bestSamp, Isis::AutoReg::p_subsearchValidPercent, and Isis::IException::Programmer.

Referenced by Isis::AutoReg::Register(), and Isis::AutoReg::Registration().

◆ MatchAlgorithm()

double Isis::Gruen::MatchAlgorithm ( Chip & pattern,
Chip & subsearch )
protectedvirtual

Minimization of data set using Gruen algorithm.

This is a very minimal application of the Gruen algorithm that provides the ability to use it in a non-adaptive capacity. This method processes two chips of the same size, pattern and subsearch. The subsearch has typically been extracted in the same manner as the MinimumDifference or MaximumCorrelation routines are utilized.

It simply applies the algorithm to the current state of the two chips, computes the error analysis on it and returns the eigen vector solution as an indication of chip registration integrity.

Note that in this mode, most all the parameters found in the definition file that apply to the adaptive mode are ignored when utilizing the algorithm in this fashion.

Parameters
pattern[in] A Chip object usually containing an nxm area of a cube. Must be the same diminsions as subsearch.
subsearch[in] A Chip object usually containing an nxm area of a cube. Must be the same dimensions as pattern. This is normally a subarea of a larger portion of the image.
Returns
The square root of the eigen values of DN differences OR Isis::NULL if the Gruen algorithm fails.

Implements Isis::AutoReg.

Definition at line 608 of file Gruen.cpp.

References algorithm(), errorAnalysis(), getDefaultRadio(), and Isis::Null.

◆ MinimumZScore()

double Isis::AutoReg::MinimumZScore ( ) const
inlineinherited

◆ MinValidPoints()

BigInt Isis::Gruen::MinValidPoints ( BigInt totalPoints) const
private

Computes the number of minimum valid points.

This method uses the pattern valid percent as specified in the registration config file (or the programmer) to compute the minimum number of valid points from the total.

Parameters
totalPointsAssumed to be total number of relavent pixels in a chip
Returns
BigInt Minimum number of valid points determined from the percentage specified by user/programmer.

Definition at line 1038 of file Gruen.cpp.

References Isis::AutoReg::PatternValidPercent().

Referenced by algorithm(), and ValidPoints().

◆ MostLenientTolerance()

virtual double Isis::AutoReg::MostLenientTolerance ( )
inlinevirtualinherited

Minimum tolerance specific to algorithm.

Reimplemented in Isis::MinimumDifference.

Definition at line 370 of file AutoReg.h.

◆ ParameterKey()

template<typename T >
PvlKeyword Isis::Gruen::ParameterKey ( const QString & keyname,
const T & value,
const QString & unit = "" ) const
inlineprivate

Keyword formatter for Gruen parameters.

Constructs a keyword with actual user/programmer values if provided, otherwise sets the value to "Unbounded".

Parameters
TType of value to record
keynameName of keyword to create
valueValue to set keyword to if in profile
unitOptional unit value
Returns
PvlKeyword Constructed keyword for key/value

Definition at line 301 of file Gruen.h.

References Isis::DbProfile::exists(), and ValidateKey().

Referenced by ParameterLog().

◆ ParameterLog()

PvlGroup Isis::Gruen::ParameterLog ( ) const
private

Create a PvlGroup with the Gruen specific parameters.

This method generates a PvlGroup of Gruen algorithm parameters. This routine is called from the AutoReg algorithm specific statistics routine and augments the AutoReg log output.

Returns
PvlGroup Group containing Pvl keywords of Gruen parameters

Definition at line 890 of file Gruen.cpp.

References ParameterKey(), Isis::toString(), and ValidateKey().

Referenced by AlgorithmStatistics().

◆ Parse()

void Isis::AutoReg::Parse ( Pvl & pvl)
protectedinherited

Initialize parameters in the AutoReg class using a PVL specification.

An example of the PVL required for this is:

Object = AutoRegistration
Group = Algorithm
Tolerance = 0.7
EndGroup
Group = PatternChip
Samples = 21
Lines = 21
EndGroup
Group = SearchChip
Samples = 51
Lines = 51
EndGroup
EndObject
Chip * SearchChip()
Return pointer to search chip.
Definition AutoReg.h:207
Chip * PatternChip()
Return pointer to pattern chip.
Definition AutoReg.h:202
double Tolerance() const
Return match algorithm tolerance.
Definition AutoReg.h:290
Maximum correlation pattern matching.

There are many other options that can be set via the pvl and are described in other documentation (see below).

See also
patternMatch.doc under the coreg application
Parameters
pvlThe pvl object containing the specification
Exceptions
iException::User"Improper format for AutoReg PVL."
History

2010-06-15 Jeannie Walldren - Added ability to read ChipInterpolator keyword from the Algorithm group.

2010-07-20 Jeannie Walldren - Added ability to read search sub chip valid percent

Definition at line 194 of file AutoReg.cpp.

References Isis::PvlObject::findObject(), Isis::AutoReg::PatternChip(), Isis::AutoReg::SearchChip(), Isis::AutoReg::SetChipInterpolator(), Isis::AutoReg::SetGradientFilterType(), Isis::AutoReg::SetPatternValidPercent(), Isis::AutoReg::SetPatternZScoreMinimum(), Isis::AutoReg::SetReductionFactor(), Isis::Chip::SetSize(), Isis::AutoReg::SetSubPixelAccuracy(), Isis::AutoReg::SetSubsearchValidPercent(), Isis::AutoReg::SetSurfaceModelDistanceTolerance(), Isis::AutoReg::SetSurfaceModelWindowSize(), Isis::AutoReg::SetTolerance(), Isis::Chip::SetValidRange(), Isis::PvlObject::Traverse, Isis::IException::User, Isis::ValidMaximum, and Isis::ValidMinimum.

Referenced by Isis::AutoReg::AutoReg().

◆ PatternChip()

Chip * Isis::AutoReg::PatternChip ( )
inlineinherited

◆ PatternValidPercent()

double Isis::AutoReg::PatternValidPercent ( ) const
inlineinherited

◆ Reduce()

Chip Isis::AutoReg::Reduce ( Chip & chip,
int reductionFactor )
protectedinherited

This method reduces the given chip by the given reduction factor.

Used to speed up the match algorithm.

Parameters
chipChip to be reduced
reductionFactorFactor by which to reduce chip.
Returns
Chip Reduced chip object

Definition at line 539 of file AutoReg.cpp.

References Isis::Chip::GetValue(), Isis::Chip::Lines(), Isis::Null, Isis::Statistics::Reset(), Isis::Chip::Samples(), and Isis::Chip::SetValue().

Referenced by Isis::AutoReg::Register().

◆ ReducedFitChip()

Chip * Isis::AutoReg::ReducedFitChip ( )
inlineinherited

Return pointer to reduced fit chip.

Definition at line 247 of file AutoReg.h.

References Isis::AutoReg::p_reducedFitChip.

◆ ReducedPatternChip()

Chip * Isis::AutoReg::ReducedPatternChip ( )
inlineinherited

Return pointer to reduced pattern chip.

Definition at line 237 of file AutoReg.h.

References Isis::AutoReg::p_reducedPatternChip.

◆ ReducedSearchChip()

Chip * Isis::AutoReg::ReducedSearchChip ( )
inlineinherited

Return pointer to reduced search chip.

Definition at line 242 of file AutoReg.h.

References Isis::AutoReg::p_reducedSearchChip.

◆ ReductionFactor()

int Isis::AutoReg::ReductionFactor ( )
inlineinherited

Return the reduction factor.

Definition at line 275 of file AutoReg.h.

References Isis::AutoReg::p_reduceFactor.

Referenced by Isis::AutoReg::UpdatedTemplate().

◆ Register()

AutoReg::RegisterStatus Isis::AutoReg::Register ( )
inherited

Walk the pattern chip through the search chip to find the best registration.

Returns
AutoReg::RegisterStatus Returns the status of the registration.
Exceptions
iException::User- "Search chips samples must be at least N pixels wider than the pattern chip samples for successful surface modeling"
iException::User- "Search chips lines must be at least N pixels taller than the pattern chip lines for successful surface modeling"
iException::User- "Reduction factor is too large"

Prep for walking the search chip by computing the starting and ending sample and line positions of the search chip to extract a sub-search chip to compare with the pattern chip.

Because the sub-search chip needs to have the same pixel dimensions as the pattern chip, and will be composed from its center pixel outwards, buffer the start and end boundaries so an area the size of the pattern chip can always be extracted around the current position.

For example, consider trying to extract a 5x5 sub-search chip from some search chip. If one starts at sample 1 and line 1, then because the "current position" is treated as the center of the sub-search chip, the algorithm could not form a 5x5 chip because there is nothing up and to the left of the current position. Consequently, for this example, there needs to be a two-pixel buffer from the edge of the search chip as the algorithm walks through it to make sure a 5x5 sub-search chip can always be extracted with the current position as its center.

Definition at line 587 of file AutoReg.cpp.

References Isis::AutoReg::ApplyGradientFilter(), Isis::AutoReg::ComputeChipZScore(), Isis::AutoReg::FitChipNoData, Isis::AutoReg::Init(), Isis::Chip::Lines(), Isis::AutoReg::Match(), Isis::AutoReg::None, Isis::Null, Isis::AutoReg::p_bestFit, Isis::AutoReg::p_bestLine, Isis::AutoReg::p_bestSamp, Isis::AutoReg::p_chipLine, Isis::AutoReg::p_chipSample, Isis::AutoReg::p_cubeLine, Isis::AutoReg::p_cubeSample, Isis::AutoReg::p_fitChip, Isis::AutoReg::p_fitChipNoDataCount, Isis::AutoReg::p_goodnessOfFit, Isis::AutoReg::p_gradientFilterType, Isis::AutoReg::p_gradientPatternChip, Isis::AutoReg::p_gradientSearchChip, Isis::AutoReg::p_patternChip, Isis::AutoReg::p_patternChipNotEnoughValidDataCount, Isis::AutoReg::p_patternValidPercent, Isis::AutoReg::p_patternZScoreNotMetCount, Isis::AutoReg::p_pixelSuccesses, Isis::AutoReg::p_reducedFitChip, Isis::AutoReg::p_reducedPatternChip, Isis::AutoReg::p_reducedSearchChip, Isis::AutoReg::p_reduceFactor, Isis::AutoReg::p_registrationStatus, Isis::AutoReg::p_searchChip, Isis::AutoReg::p_subpixelSuccesses, Isis::AutoReg::p_totalRegistrations, Isis::AutoReg::p_windowSize, Isis::AutoReg::PatternChipNotEnoughValidData, Isis::AutoReg::PatternZScoreNotMet, Isis::AutoReg::Reduce(), Isis::AutoReg::Registration(), Isis::Chip::Samples(), Isis::Chip::SetChipPosition(), Isis::Chip::SetSize(), Isis::Chip::SetValue(), Isis::AutoReg::Success(), Isis::AutoReg::SuccessSubPixel, and Isis::IException::User.

Referenced by Isis::ControlMeasureEditWidget::registerPoint(), and Isis::ControlPointEdit::registerPoint().

◆ Registration()

AutoReg::RegisterStatus Isis::Gruen::Registration ( Chip & sChip,
Chip & pChip,
Chip & fChip,
int startSamp,
int startLine,
int endSamp,
int endLine,
int bestSamp,
int bestLine )
protectedvirtual

Applies the adaptive Gruen algorithm to pattern and search chips.

This method computes the adaptive Gruen algorithm for a pattern chip and search chip. The search chip is assumed to be of a larger size than the pattern chip as dictated by the contents of the registration definition file.

This algorithm can be used with or without "fast geoming" the search chip. It works quite well where the two images are assumed to be nearly spatially registered. Its real intent is to compute parallax angles between two images taken at different viewing geometry. This provides an efficient process for deriving a digital elevation model (DEM) from two datasets.

The Gruen algorithm is applied to the chips until the algorithm converges (current iteration yields a detla affine within tolerance limits), an error is encountered, or the maximum number of iterations is exceeded.

Note that bestSamp and bestLine may not be the original center of the search chip. It is subject to chip reduction matching as specified by the user. All distance tolerances are compute from this postion. The process of chip reduction processing is handled by AutoReg prior to calling this routine.

See also
getThreshHold() for Affine limit information
Parameters
sChipFull search chip as rendered from the search image
pChipFull pattern chip as rendered from the pattern/match image
fChipMaintains the solution vector at each chip location
startSampStarting sample of the search image range
startLineStarting line of the search image range
endSampEnding sample of the search image range
endLineEnding line of the search image range
bestSampBest registering sample of search chip
bestLinebest registering line of search chip
Returns
AutoReg::RegisterStatus Returns AutoReg::Success if the chip is successfully registered, otherwise returns AutoReg::AdaptiveAlgorithmFailed.

Reimplemented from Isis::AutoReg.

Definition at line 680 of file Gruen.cpp.

References algorithm(), CheckConstraints(), errorAnalysis(), getAffineTolerance(), getChipUpdate(), logError(), Isis::AutoReg::SetChipLine(), Isis::AutoReg::SetChipSample(), Isis::AutoReg::SetGoodnessOfFit(), and Status().

◆ RegistrationPatternChip()

Chip * Isis::AutoReg::RegistrationPatternChip ( )
inlineinherited

◆ RegistrationSearchChip()

Chip * Isis::AutoReg::RegistrationSearchChip ( )
inlineinherited

◆ RegistrationStatistics()

Pvl Isis::AutoReg::RegistrationStatistics ( )
inherited

◆ RegTemplate()

PvlGroup Isis::AutoReg::RegTemplate ( )
inherited

This function returns the keywords that this object was created from.

Returns
PvlGroup The keywords this object used in initialization

Definition at line 1216 of file AutoReg.cpp.

References Isis::PvlObject::findGroup(), Isis::PvlObject::hasGroup(), Isis::AutoReg::p_template, Isis::AutoReg::SetPatternValidPercent(), Isis::AutoReg::SetSubsearchValidPercent(), and Isis::PvlObject::Traverse.

◆ resetStats()

void Isis::Gruen::resetStats ( )
private

Reset Gruen statistics as needed.

Definition at line 1018 of file Gruen.cpp.

References Isis::Statistics::Reset().

◆ SearchChip()

Chip * Isis::AutoReg::SearchChip ( )
inlineinherited

◆ setAffineRadio() [1/2]

void Isis::Gruen::setAffineRadio ( )

Set affine parameters to defaults.

This method differs from the one above in that it uses the defaults as defined at construction. The basic difference is that this call sets the affine portion to the identity and the radiometric parameters to the defaults as provided in the user input auto-regististration parameters. It may have default shift and gain values to use.

Author
Kris Becker - 6/4/2011

Definition at line 127 of file Gruen.cpp.

References getDefaultAffineRadio().

◆ setAffineRadio() [2/2]

void Isis::Gruen::setAffineRadio ( const AffineRadio & affrad)

Sets initial chip transformation.

This method can be used with AutoReg registration to set initial affine transform parameters. This initial condition will be applied to the whole search chip extraction for the first subsearch chip. The caller must define the contents of the affine and radiometric parameters. See the AffineRadio construct for details.

Author
kbecker (5/14/2011)
Parameters
affradInitial Affine/Radio parameters to apply on registration entry

Definition at line 111 of file Gruen.cpp.

◆ SetChipInterpolator()

void Isis::AutoReg::SetChipInterpolator ( const QString & interpolator)
inherited

Sets the Chip class interpolator type to be used to load pattern and search chips.

Acceptable values for the interpolator parameter include:

  • NearestNeighborType
  • BiLinearType
  • CubicConvolutionType

If this method is not called, the chip interpolator type defaults to CubicConvolutionType in the Chip class.

Parameters
interpolatorName of interpolator type to be used. This is taken from the Pvl's ChipInterpolator keyword value.
Exceptions
iException::User- "Invalid Interpolator type."
Author
Jeannie Walldren
History
2010-06-15 Jeannie Walldren - Original version.

Definition at line 440 of file AutoReg.cpp.

References Isis::AutoReg::p_patternChip, Isis::AutoReg::p_reducedPatternChip, Isis::AutoReg::p_reducedSearchChip, Isis::AutoReg::p_searchChip, Isis::Chip::SetReadInterpolator(), and Isis::IException::User.

Referenced by Isis::AutoReg::Parse().

◆ SetChipLine()

void Isis::AutoReg::SetChipLine ( double line)
inlineprotectedinherited

Sets the search chip subpixel line that matches the pattern tack line.

Parameters
lineValue to set for search chip subpixel line

Definition at line 404 of file AutoReg.h.

References Isis::AutoReg::p_chipLine.

Referenced by Registration().

◆ SetChipSample()

void Isis::AutoReg::SetChipSample ( double sample)
inlineprotectedinherited

Sets the search chip subpixel sample that matches the pattern tack sample.

Parameters
sampleValue to set for search chip subpixel sample

Definition at line 393 of file AutoReg.h.

References Isis::AutoReg::p_chipSample.

Referenced by Registration().

◆ SetGoodnessOfFit()

void Isis::AutoReg::SetGoodnessOfFit ( double fit)
inlineprotectedinherited

Sets the goodness of fit for adaptive algorithms.

Parameters
fitFit value to set

Definition at line 413 of file AutoReg.h.

References Isis::AutoReg::p_bestFit.

Referenced by Registration().

◆ SetGradientFilterType()

void Isis::AutoReg::SetGradientFilterType ( const QString & gradientFilterType)
inherited

Set the gradient filter type to be applied to the search and pattern chips.

Parameters
gradientFilterTypethe gradient filter type to use
Exceptions
iException::User- "Invalid Gradient type."

Definition at line 273 of file AutoReg.cpp.

References Isis::AutoReg::None, Isis::AutoReg::p_gradientFilterType, Isis::AutoReg::Sobel, and Isis::IException::User.

Referenced by Isis::AutoReg::Parse().

◆ SetPatternValidPercent()

void Isis::AutoReg::SetPatternValidPercent ( const double percent)
inherited

Set the amount of data in the pattern chip that must be valid.

For example, a 21x21 pattern chip has 441 pixels. If percent is 75 then at least 330 pixels pairs must be valid in order for a comparision between the pattern and search sub-region to occur. That is, both the pattern pixel and search pixel must be valid to be counted. Pixels are considered valid based on the min/max range specified on each of the Chips (see Chip::SetValidRange method).

If the pattern chip reduction option is used this percentage will apply to all reduced patterns. Additionally, the pattern sampling effects the pixel count. For example if pattern sampling is 50% then only 220 pixels in the 21x21 pattern are considered so 165 must be valid.

If this method is not called, the PatternChip ValidPercent defaults to 50 in the AutoReg object constructor.

See also
SetValidRange()
Parameters
percentPercentage of valid data between 0 and 100, default is 50% if never invoked
Exceptions
iException::User- "Invalid value for PatternChip ValidPercent."

Definition at line 339 of file AutoReg.cpp.

References Isis::AutoReg::p_patternValidPercent, and Isis::IException::User.

Referenced by Isis::AutoReg::AutoReg(), Isis::AutoReg::Parse(), and Isis::AutoReg::RegTemplate().

◆ SetPatternZScoreMinimum()

void Isis::AutoReg::SetPatternZScoreMinimum ( double minimum)
inherited

Set the minimum pattern zscore.

This option is used to ignore pattern chips which are bland (low standard deviation). If the minimum or maximum pixel value in the pattern chip does not meet the minimum zscore value (see a statisitcs book for definition of zscore) then invalid registration will occur.

If this method is not called, the z-score minimum defaults to 1.0 in the AutoReg object constructor.

Parameters
minimumThe minimum zscore value for the pattern chip. Default is 1.0
Exceptions
iException::User- "Invalid value for PatternChip MinimumZScore."

Definition at line 394 of file AutoReg.cpp.

References Isis::AutoReg::p_minimumPatternZScore, and Isis::IException::User.

Referenced by Isis::AutoReg::AutoReg(), and Isis::AutoReg::Parse().

◆ SetReductionFactor()

void Isis::AutoReg::SetReductionFactor ( int factor)
inherited

Set the reduction factor used to speed up the pattern matching algorithm.

If this method is not called, the reduction factor defaults to 1 in the AutoReg object constructor.

Parameters
factorReduction factor. Must be greater than or equal to 1.
Exceptions
iException::User- "Invalid value for Algorithm ReductionFactor."

Definition at line 521 of file AutoReg.cpp.

References Isis::AutoReg::p_reduceFactor, and Isis::IException::User.

Referenced by Isis::AutoReg::AutoReg(), and Isis::AutoReg::Parse().

◆ SetSubPixelAccuracy()

void Isis::AutoReg::SetSubPixelAccuracy ( bool on)
inherited

If the sub-pixel accuracy is enabled, the Register() method will attempt to match the pattern chip to the search chip at sub-pixel accuracy, otherwise it will be registered at whole pixel accuracy.

If this method is not called, the sub pixel accuracy defaults to on = true in the AutoReg object constructor.

Parameters
onSet the state of registration accuracy. The default is sub-pixel accuracy is on

Definition at line 312 of file AutoReg.cpp.

References Isis::AutoReg::p_subpixelAccuracy.

Referenced by Isis::AutoReg::AutoReg(), and Isis::AutoReg::Parse().

◆ SetSubpixelPosition()

bool Isis::AutoReg::SetSubpixelPosition ( Chip & window)
protectedinherited

Set the search chip sample and line to subpixel values if possible.

This method uses a centroiding method to gravitate the whole pixel best fit to a subpixel extremum in the continuous image space. The weights of the centers of gravity in the centroiding algorithm are modeled by goodness of fit values within a discrete search window.

Parameters
windowThe search window extracted from the fit chip
Returns
bool Returns true if the subpixel solution is valid

Definition at line 1087 of file AutoReg.cpp.

References Isis::AutoReg::p_bestLine, Isis::AutoReg::p_bestSamp, Isis::AutoReg::p_chipLine, Isis::AutoReg::p_chipSample, Isis::AutoReg::p_surfaceModelSolutionInvalidCount, and Isis::Centroid::setDNRange().

Referenced by Isis::AutoReg::Registration().

◆ SetSubsearchValidPercent()

void Isis::AutoReg::SetSubsearchValidPercent ( const double percent)
inherited

Set the amount of data in the search chip's subchip that must be valid.

If this method is not called, the SearchChip SubchipValidPercent defaults to 50 in the AutoReg object constructor.

Parameters
percentPercentage of valid data between 0 and 100, default is 50% if never invoked
See also
SetPatternValidPercent()
Exceptions
iException::User- "Invalid value for SearchChip SubchipValidPercent."
Author
2010-07-20 Jeannie Walldren
History
2010-07-20 Jeannie Walldren - Original Version.

Definition at line 367 of file AutoReg.cpp.

References Isis::AutoReg::p_subsearchValidPercent, and Isis::IException::User.

Referenced by Isis::AutoReg::AutoReg(), Isis::AutoReg::Parse(), and Isis::AutoReg::RegTemplate().

◆ SetSurfaceModelDistanceTolerance()

void Isis::AutoReg::SetSurfaceModelDistanceTolerance ( double distance)
inherited

Set a distance the surface model solution is allowed to move away from the best whole pixel fit in the fit chip.

If this method is not called, the distance tolerance defaults to 1.5 in the AutoReg object constructor.

Parameters
distanceThe distance allowed to move in pixels. Must be greater than 0.
Exceptions
iException::User- "Invalid value for SurfaceModel DistanceTolerance."

Definition at line 501 of file AutoReg.cpp.

References Isis::AutoReg::p_distanceTolerance, and Isis::IException::User.

Referenced by Isis::AutoReg::AutoReg(), and Isis::AutoReg::Parse().

◆ SetSurfaceModelWindowSize()

void Isis::AutoReg::SetSurfaceModelWindowSize ( int size)
inherited

Set the surface model window size.

The pixels in this window will be used to fit a surface model in order to compute sub-pixel accuracy. In some cases the default (3x3) and produces erroneous sub-pixel accuracy values.

If this method is not called, the window size defaults to 5 in the AutoReg object constructor.

Parameters
sizeThe size of the window must be three or greater and odd.
Exceptions
iException::User- "Invalid value for SurfaceModel WindowSize."

Definition at line 480 of file AutoReg.cpp.

References Isis::AutoReg::p_windowSize, and Isis::IException::User.

Referenced by Isis::AutoReg::AutoReg(), and Isis::AutoReg::Parse().

◆ SetTolerance()

void Isis::AutoReg::SetTolerance ( double tolerance)
inherited

Set the tolerance for an acceptable goodness of fit.

If this method is not called, the tolerance value defaults to Isis::Null in the AutoReg object constructor.

Parameters
toleranceThis tolerance is used to test against the goodness of fit returned by the MatchAlgorith method after a surface model has been fit. See TestGoodnessOfFit

Definition at line 416 of file AutoReg.cpp.

References Isis::AutoReg::p_tolerance.

Referenced by Isis::AutoReg::AutoReg(), and Isis::AutoReg::Parse().

◆ SobelGradient()

void Isis::AutoReg::SobelGradient ( Buffer & in,
double & v )
privateinherited

Compute a Sobel gradient based on an input buffer.

TODO: Remove this method as it already exists in the gradient application.

Parameters
inthe input buffer
vthe value of the gradient computed from the buffer

Definition at line 1000 of file AutoReg.cpp.

References Isis::IsSpecial(), and Isis::Null.

Referenced by Isis::AutoReg::ApplyGradientFilter().

◆ StatsLog()

PvlGroup Isis::Gruen::StatsLog ( ) const
private

Create a PvlGroup with the Gruen specific statistics.

This method generates a PvlGroup from statistics collected for a particular Gruen algorithm application. This routine is called from the AutoReg algorithm specific statistics routine and augments the AutoReg statistics log output.

Returns
PvlGroup Group containing Pvl keywords with collected statistics

Definition at line 853 of file Gruen.cpp.

References Isis::Statistics::Average(), Isis::Statistics::Maximum(), Isis::Statistics::Minimum(), Isis::Statistics::StandardDeviation(), Isis::toString(), and ValidateKey().

Referenced by AlgorithmStatistics().

◆ Status()

AutoReg::RegisterStatus Isis::Gruen::Status ( const MatchPoint & mpt)
private

Returns the proper status given a Gruen result container.

This method will return registration status consistant with AutoReg::RegisterStatus return codes.

Parameters
resultGruen result container used to determine status
Returns
AutoReg::RegisterStatus Returns AutoReg::Success if the Gruen registration is successful, otherwise returns AutoReg::AdaptiveAlgorithmFailed.

Definition at line 1161 of file Gruen.cpp.

References Isis::AutoReg::AdaptiveAlgorithmFailed, and Isis::AutoReg::SuccessSubPixel.

Referenced by Registration().

◆ SubPixelAccuracy()

bool Isis::AutoReg::SubPixelAccuracy ( )
inlineinherited

Return whether this object will attempt to register to whole or sub-pixel accuracy.

Returns
on Is sub-pixel accuracy enabled?

Definition at line 270 of file AutoReg.h.

References Isis::AutoReg::p_subpixelAccuracy.

Referenced by Isis::AutoReg::UpdatedTemplate().

◆ SubsearchValidPercent()

double Isis::AutoReg::SubsearchValidPercent ( ) const
inlineinherited

Return subsearch chip valid percent.

Definition at line 285 of file AutoReg.h.

References Isis::AutoReg::p_subsearchValidPercent.

Referenced by Isis::AutoReg::UpdatedTemplate().

◆ Success()

bool Isis::AutoReg::Success ( ) const
inlineinherited

◆ Tolerance()

double Isis::AutoReg::Tolerance ( ) const
inlineinherited

◆ UpdatedTemplate()

PvlGroup Isis::AutoReg::UpdatedTemplate ( )
inherited

Returns a PvlGroup containing the PvlKeywords of the parameters this object was most recently run with.

Because of publically accessible mutators, AutoReg's runtime parameters can change, and this version of the template is designed to reflect the paramters it was actually run with, as opposed to simply initialized with. If no mutators were ever called externally, then this PvlGroup should be the same as the one received from RegTemplate().

Returns
PvlGroup The keywords this object was most recently run with

Definition at line 1289 of file AutoReg.cpp.

References Isis::AutoReg::AlgorithmName(), Isis::AutoReg::DistanceTolerance(), Isis::AutoReg::MinimumZScore(), Isis::AutoReg::PatternChip(), Isis::AutoReg::PatternValidPercent(), Isis::AutoReg::ReductionFactor(), Isis::AutoReg::SearchChip(), Isis::AutoReg::SubPixelAccuracy(), Isis::AutoReg::SubsearchValidPercent(), Isis::AutoReg::Tolerance(), Isis::toString(), and Isis::AutoReg::WindowSize().

◆ ValidateKey()

PvlKeyword Isis::Gruen::ValidateKey ( const QString keyname,
const double & value,
const QString & unit = "" ) const
inlineprivate

Checks value of key, produces appropriate value.

This function checks the value of the keyword for specialness and will create the appropriate keyword if it is special.

Parameters
keynameName of keyword to create
valueKeyword value
unitOptional unit qualifer with value
Returns
PvlKeyword Returns newly created keyword/value

Definition at line 323 of file Gruen.h.

References Isis::IsSpecial(), and Isis::toString().

Referenced by ParameterKey(), ParameterLog(), and StatsLog().

◆ ValidPoints()

bool Isis::Gruen::ValidPoints ( BigInt totalPoints,
BigInt nPoints ) const
private

Determines if number of points is valid percentage of all points.

Computes the number of minimum valid points from user specified percentage and tests the acutal number used.

Parameters
totalPointsTotal number of possible valid points in chip
nPointsActual number of valid points used in chips
Returns
bool True if number of actual points exceeds percent mimimum valid, otherwise returns false.

Definition at line 1055 of file Gruen.cpp.

References MinValidPoints().

Referenced by algorithm().

◆ WindowSize()

double Isis::AutoReg::WindowSize ( ) const
inlineinherited

Return window size.

Definition at line 295 of file AutoReg.h.

References Isis::AutoReg::p_windowSize.

Referenced by Isis::AutoReg::UpdatedTemplate().

◆ WriteSubsearchChips()

void Isis::Gruen::WriteSubsearchChips ( const QString & pattern = "SubChip")

Set up for writing subsearch for a a given registration call.

This method is provided to request the write of the subsearch chip at each iteration. This must be invoked prior to every call to AutoReg::Register() method. It will only write subchips from the Register() interface as it interates to a solution. Direct calls to Gruen methods don't iterate in the same fashion.

The "pattern" parameter is optional but is provided to direct the location and naming convention of each subsearch chip. The format for the output file name for each subsearch chip is comprised of the pattern parameter, call number, which can be retrieved by the CallCount() method and pertains to the call after the Register() method is invoked and the interation count. Below is a code example:

Gruen gruen(myPvldef);
// Set up pattern and search chips here
gruen.WriteSubsearchChips("/mydata/subchip");
gruen.Register();
Gruen pattern matching algorithm.
Definition Gruen.h:74

Note that prior to each call to Register(), it must be called again in order for the subchips to be written. The last part of the parameter above, "subchip", cannot be a directory, but is a filename prefix. Assuming this is the first call to Register(), a series of cube subsearch chips will be written with the pattern "/work1/kbecker/subchipC000001IXXX.cub" where "C" indicates call count and the next 6 digits are the return of CallCount() method, "I" indicates the iteration count "XXX" of the algorithm() method. Note that the chip written for a particular iteration is what is provided as a parameter into the algorithm() method.

Parameters
patternSpecifies an optional directory and file pattern to write the subsearch chip at each algorithm iteration.

Definition at line 92 of file Gruen.cpp.

◆ ZScores()

void Isis::AutoReg::ZScores ( double & score1,
double & score2 ) const
inlineinherited

Return the ZScores of the pattern chip.

Parameters
score1First Z Score
score2Second Z Score

Definition at line 360 of file AutoReg.h.

References Isis::AutoReg::p_zScoreMax, and Isis::AutoReg::p_zScoreMin.

Referenced by Isis::ControlMeasureEditWidget::registerPoint(), Isis::ControlPointEdit::registerPoint(), Isis::ControlMeasureEditWidget::saveMeasure(), and Isis::ControlPointEdit::saveMeasure().

Member Data Documentation

◆ m_affine

AffineRadio Isis::Gruen::m_affine
private

Definition at line 212 of file Gruen.h.

◆ m_affineTol

double Isis::Gruen::m_affineTol
private

Definition at line 201 of file Gruen.h.

◆ m_callCount

BigInt Isis::Gruen::m_callCount
private

Definition at line 185 of file Gruen.h.

◆ m_defAffine

AffineRadio Isis::Gruen::m_defAffine
private

Definition at line 211 of file Gruen.h.

◆ m_defGain

double Isis::Gruen::m_defGain
private

Definition at line 207 of file Gruen.h.

◆ m_defShift

double Isis::Gruen::m_defShift
private

Definition at line 208 of file Gruen.h.

◆ m_eigenStat

Statistics Isis::Gruen::m_eigenStat
private

Definition at line 216 of file Gruen.h.

◆ m_errors

ErrorList Isis::Gruen::m_errors
private

Definition at line 188 of file Gruen.h.

◆ m_filePattern

QString Isis::Gruen::m_filePattern
private

Definition at line 186 of file Gruen.h.

◆ m_gainStat

Statistics Isis::Gruen::m_gainStat
private

Definition at line 219 of file Gruen.h.

◆ m_iterStat

Statistics Isis::Gruen::m_iterStat
private

Definition at line 217 of file Gruen.h.

◆ m_maxIters

int Isis::Gruen::m_maxIters
private

Definition at line 192 of file Gruen.h.

◆ m_nIters

int Isis::Gruen::m_nIters
private

Definition at line 193 of file Gruen.h.

◆ m_point

MatchPoint Isis::Gruen::m_point
private

Definition at line 213 of file Gruen.h.

◆ m_prof

DbProfile Isis::Gruen::m_prof
private

Definition at line 196 of file Gruen.h.

◆ m_rgainMaxTol

double Isis::Gruen::m_rgainMaxTol
private

Definition at line 205 of file Gruen.h.

◆ m_rgainMinTol

double Isis::Gruen::m_rgainMinTol
private

Definition at line 204 of file Gruen.h.

◆ m_scaleTol

double Isis::Gruen::m_scaleTol
private

Definition at line 198 of file Gruen.h.

◆ m_shearTol

double Isis::Gruen::m_shearTol
private

Definition at line 199 of file Gruen.h.

◆ m_shiftStat

Statistics Isis::Gruen::m_shiftStat
private

Definition at line 218 of file Gruen.h.

◆ m_shiftTol

double Isis::Gruen::m_shiftTol
private

Definition at line 203 of file Gruen.h.

◆ m_spiceTol

double Isis::Gruen::m_spiceTol
private

Definition at line 200 of file Gruen.h.

◆ m_totalIterations

BigInt Isis::Gruen::m_totalIterations
private

Definition at line 194 of file Gruen.h.

◆ m_transTol

double Isis::Gruen::m_transTol
private

Definition at line 197 of file Gruen.h.

◆ m_unclassified

BigInt Isis::Gruen::m_unclassified
private

Definition at line 189 of file Gruen.h.

◆ p_bestFit

double Isis::AutoReg::p_bestFit
privateinherited

Goodness of fit for adaptive algorithms.

Definition at line 523 of file AutoReg.h.

Referenced by Isis::AutoReg::Init(), Isis::AutoReg::Match(), Isis::AutoReg::Register(), Isis::AutoReg::Registration(), and Isis::AutoReg::SetGoodnessOfFit().

◆ p_bestLine

int Isis::AutoReg::p_bestLine
privateinherited

◆ p_bestSamp

int Isis::AutoReg::p_bestSamp
privateinherited

◆ p_chipLine

double Isis::AutoReg::p_chipLine
privateinherited

◆ p_chipSample

double Isis::AutoReg::p_chipSample
privateinherited

◆ p_cubeLine

double Isis::AutoReg::p_cubeLine
privateinherited

Cube line.

Definition at line 516 of file AutoReg.h.

Referenced by Isis::AutoReg::CubeLine(), and Isis::AutoReg::Register().

◆ p_cubeSample

double Isis::AutoReg::p_cubeSample
privateinherited

Cube sample.

Definition at line 515 of file AutoReg.h.

Referenced by Isis::AutoReg::CubeSample(), and Isis::AutoReg::Register().

◆ p_distanceTolerance

double Isis::AutoReg::p_distanceTolerance
privateinherited

Maximum distance the surface model solution may be from the best whole pixel fit in the fit chip.

Definition at line 521 of file AutoReg.h.

Referenced by Isis::AutoReg::DistanceTolerance(), Isis::AutoReg::Registration(), and Isis::AutoReg::SetSurfaceModelDistanceTolerance().

◆ p_fitChip

Chip Isis::AutoReg::p_fitChip
privateinherited

◆ p_fitChipNoDataCount

int Isis::AutoReg::p_fitChipNoDataCount
privateinherited

Registration statistics FitChipNoData keyword.

Definition at line 500 of file AutoReg.h.

Referenced by Isis::AutoReg::AutoReg(), Isis::AutoReg::Register(), Isis::AutoReg::Registration(), and Isis::AutoReg::RegistrationStatistics().

◆ p_fitChipToleranceNotMetCount

int Isis::AutoReg::p_fitChipToleranceNotMetCount
privateinherited

Registration statistics FitChipToleranceNotMet keyword.

Definition at line 501 of file AutoReg.h.

Referenced by Isis::AutoReg::AutoReg(), Isis::AutoReg::Registration(), and Isis::AutoReg::RegistrationStatistics().

◆ p_goodnessOfFit

double Isis::AutoReg::p_goodnessOfFit
privateinherited

Goodness of fit of the match algorithm.

Definition at line 517 of file AutoReg.h.

Referenced by Isis::AutoReg::GoodnessOfFit(), Isis::AutoReg::Init(), and Isis::AutoReg::Register().

◆ p_gradientFilterType

AutoReg::GradientFilterType Isis::AutoReg::p_gradientFilterType
privateinherited

◆ p_gradientPatternChip

Chip Isis::AutoReg::p_gradientPatternChip
privateinherited

Chip to be matched with gradient applied.

Definition at line 487 of file AutoReg.h.

Referenced by Isis::AutoReg::Register(), and Isis::AutoReg::RegistrationPatternChip().

◆ p_gradientSearchChip

Chip Isis::AutoReg::p_gradientSearchChip
privateinherited

Chip to be searched for best registration with gradient applied.

Definition at line 486 of file AutoReg.h.

Referenced by Isis::AutoReg::Register(), and Isis::AutoReg::RegistrationSearchChip().

◆ p_lineMovement

double Isis::AutoReg::p_lineMovement
privateinherited

The number of lines the point moved.

Definition at line 527 of file AutoReg.h.

Referenced by Isis::AutoReg::AutoReg(), Isis::AutoReg::Distance(), and Isis::AutoReg::Registration().

◆ p_minimumPatternZScore

double Isis::AutoReg::p_minimumPatternZScore
privateinherited

Minimum pattern Z-Score.

Definition at line 509 of file AutoReg.h.

Referenced by Isis::AutoReg::ComputeChipZScore(), Isis::AutoReg::MinimumZScore(), and Isis::AutoReg::SetPatternZScoreMinimum().

◆ p_patternChip

Chip Isis::AutoReg::p_patternChip
privateinherited

◆ p_patternChipNotEnoughValidDataCount

int Isis::AutoReg::p_patternChipNotEnoughValidDataCount
privateinherited

Registration statistics PatternNotEnoughValidData keyword.

Definition at line 498 of file AutoReg.h.

Referenced by Isis::AutoReg::AutoReg(), Isis::AutoReg::Register(), and Isis::AutoReg::RegistrationStatistics().

◆ p_patternValidPercent

double Isis::AutoReg::p_patternValidPercent
privateinherited

Percentage of data in pattern chip that must be valid.

Definition at line 510 of file AutoReg.h.

Referenced by Isis::AutoReg::PatternValidPercent(), Isis::AutoReg::Register(), and Isis::AutoReg::SetPatternValidPercent().

◆ p_patternZScoreNotMetCount

int Isis::AutoReg::p_patternZScoreNotMetCount
privateinherited

Registration statistics PatternZScoreNotMet keyword.

Definition at line 499 of file AutoReg.h.

Referenced by Isis::AutoReg::AutoReg(), Isis::AutoReg::Register(), and Isis::AutoReg::RegistrationStatistics().

◆ p_pixelSuccesses

int Isis::AutoReg::p_pixelSuccesses
privateinherited

Registration statistics Success keyword.

Definition at line 496 of file AutoReg.h.

Referenced by Isis::AutoReg::AutoReg(), Isis::AutoReg::Register(), and Isis::AutoReg::RegistrationStatistics().

◆ p_reducedFitChip

Chip Isis::AutoReg::p_reducedFitChip
privateinherited

Fit Chip with reduction factor.

Definition at line 490 of file AutoReg.h.

Referenced by Isis::AutoReg::AutoReg(), Isis::AutoReg::ReducedFitChip(), and Isis::AutoReg::Register().

◆ p_reducedPatternChip

Chip Isis::AutoReg::p_reducedPatternChip
privateinherited

◆ p_reducedSearchChip

Chip Isis::AutoReg::p_reducedSearchChip
privateinherited

◆ p_reduceFactor

int Isis::AutoReg::p_reduceFactor
privateinherited

Reduction factor.

Definition at line 528 of file AutoReg.h.

Referenced by Isis::AutoReg::ReductionFactor(), Isis::AutoReg::Register(), and Isis::AutoReg::SetReductionFactor().

◆ p_registrationStatus

Isis::AutoReg::RegisterStatus Isis::AutoReg::p_registrationStatus
privateinherited

Registration status to be returned by Register().

Definition at line 529 of file AutoReg.h.

Referenced by Isis::AutoReg::Register(), Isis::AutoReg::Registration(), and Isis::AutoReg::Success().

◆ p_sampMovement

double Isis::AutoReg::p_sampMovement
privateinherited

The number of samples the point moved.

Definition at line 526 of file AutoReg.h.

Referenced by Isis::AutoReg::AutoReg(), Isis::AutoReg::Distance(), and Isis::AutoReg::Registration().

◆ p_searchChip

Chip Isis::AutoReg::p_searchChip
privateinherited

◆ p_subpixelAccuracy

bool Isis::AutoReg::p_subpixelAccuracy
privateinherited

Indicates whether sub-pixel accuracy is enabled. Default is true.

Definition at line 492 of file AutoReg.h.

Referenced by Isis::AutoReg::Registration(), Isis::AutoReg::SetSubPixelAccuracy(), and Isis::AutoReg::SubPixelAccuracy().

◆ p_subpixelSuccesses

int Isis::AutoReg::p_subpixelSuccesses
privateinherited

Registration statistics Success keyword.

Definition at line 497 of file AutoReg.h.

Referenced by Isis::AutoReg::AutoReg(), Isis::AutoReg::Register(), and Isis::AutoReg::RegistrationStatistics().

◆ p_subsearchValidPercent

double Isis::AutoReg::p_subsearchValidPercent
privateinherited

Percentage of data in subsearch chip that must be valid.

Definition at line 511 of file AutoReg.h.

Referenced by Isis::AutoReg::Match(), Isis::AutoReg::SetSubsearchValidPercent(), and Isis::AutoReg::SubsearchValidPercent().

◆ p_surfaceModelDistanceInvalidCount

int Isis::AutoReg::p_surfaceModelDistanceInvalidCount
privateinherited

Registration statistics SurfaceModelDistanceInvalid keyword.

Definition at line 504 of file AutoReg.h.

Referenced by Isis::AutoReg::AutoReg(), Isis::AutoReg::Registration(), and Isis::AutoReg::RegistrationStatistics().

◆ p_surfaceModelNotEnoughValidDataCount

int Isis::AutoReg::p_surfaceModelNotEnoughValidDataCount
privateinherited

Registration statistics SurfaceModelNotEnoughValidData keyword.

Definition at line 502 of file AutoReg.h.

Referenced by Isis::AutoReg::AutoReg(), Isis::AutoReg::Registration(), and Isis::AutoReg::RegistrationStatistics().

◆ p_surfaceModelSolutionInvalidCount

int Isis::AutoReg::p_surfaceModelSolutionInvalidCount
privateinherited

Registration statistics SurfaceModelSolutionInvalid keyword.

Definition at line 503 of file AutoReg.h.

Referenced by Isis::AutoReg::AutoReg(), Isis::AutoReg::RegistrationStatistics(), and Isis::AutoReg::SetSubpixelPosition().

◆ p_template

PvlObject Isis::AutoReg::p_template
protectedinherited

AutoRegistration object that created this projection.

Definition at line 449 of file AutoReg.h.

Referenced by Isis::AutoReg::AutoReg(), and Isis::AutoReg::RegTemplate().

◆ p_tolerance

double Isis::AutoReg::p_tolerance
privateinherited

Tolerance for acceptable goodness of fit in match algorithm.

Definition at line 518 of file AutoReg.h.

Referenced by Isis::AutoReg::SetTolerance(), and Isis::AutoReg::Tolerance().

◆ p_totalRegistrations

int Isis::AutoReg::p_totalRegistrations
privateinherited

Registration Statistics Total keyword.

Definition at line 495 of file AutoReg.h.

Referenced by Isis::AutoReg::AutoReg(), Isis::AutoReg::Register(), and Isis::AutoReg::RegistrationStatistics().

◆ p_windowSize

int Isis::AutoReg::p_windowSize
privateinherited

◆ p_zScoreMax

double Isis::AutoReg::p_zScoreMax
privateinherited

Second Z-Score of pattern chip.

Definition at line 507 of file AutoReg.h.

Referenced by Isis::AutoReg::ComputeChipZScore(), Isis::AutoReg::Init(), and Isis::AutoReg::ZScores().

◆ p_zScoreMin

double Isis::AutoReg::p_zScoreMin
privateinherited

First Z-Score of pattern chip.

Definition at line 506 of file AutoReg.h.

Referenced by Isis::AutoReg::ComputeChipZScore(), Isis::AutoReg::Init(), and Isis::AutoReg::ZScores().


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