Isis 3 Programmer Reference
Isis::AutoReg Class Referenceabstract

Auto Registration class. More...

#include <AutoReg.h>

Inheritance diagram for Isis::AutoReg:
Inheritance graph
Collaboration diagram for Isis::AutoReg:
Collaboration graph

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

 AutoReg (Pvl &pvl)
 Create AutoReg object.
 
virtual ~AutoReg ()
 Destroy AutoReg object.
 
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.
 
virtual QString AlgorithmName () const =0
 Returns the name of the 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

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.
 
virtual AutoReg::RegisterStatus Registration (Chip &sChip, Chip &pChip, Chip &fChip, int startSamp, int startLine, int endSamp, int endLine, int bestSamp, int bestLine)
 Performs matching between the pattern and search at both whole-pixel and subpixel levels.
 
void Parse (Pvl &pvl)
 Initialize parameters in the AutoReg class using a PVL specification.
 
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.
 
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.
 
virtual double IdealFit () const =0
 Returns the ideal (perfect) fit that could be returned by the MatchAlgorithm.
 
virtual double MatchAlgorithm (Chip &pattern, Chip &subsearch)=0
 Given two identically sized chips return a double that indicates how well they match.
 
virtual Pvl AlgorithmStatistics (Pvl &pvl)
 Provide (adaptive) algorithms a chance to report results.
 

Protected Attributes

PvlObject p_template
 AutoRegistration object that created this projection.
 

Private Member Functions

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.
 

Private Attributes

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

Auto Registration class.

Create AutoReg object. Because this is a pure virtual class you can not create an AutoReg class directly. Instead, see the AutoRegFactory class.

See also
AutoRegFactory MaximumCorrelation MinimumDifference
Author
????-??-?? Unknown
History

2006-01-11 Jacob Danton Added idealFit variable, option for sub-pixel accuracy, new CompareFit method, an arbitrarily chosen EPSILON value, a minimum standard deviation cutoff for the pattern chip, and created a unitTest

2006-02-13 Jacob Danton Added shrinking pattern and sampling option for the pattern chip.

2006-05-15 Jeff Anderson Moved ZScoreMinimum from Algorithm group to the PatternChip group

2006-05-22 Jacob Danton Added statistics reporting

2006-06-28 Brendan George Added copy constructor (private member function)

2008-06-23 Steven Lambright Fixed naming and some documentation fixes, added ZScores

2008-08-13 Noah Hilt Added two new optional arguments to AutoReg: WindowSize and DistanceTolerance. These two arguments affect how AutoReg gathers and compares data for surface modeling and accuracy and should be contained inside the group "SurfaceModel" in the Pvl. Also changed the Pvl returned by RegistrationStatistics so that group names do not contain spaces and the Pvl only contains groups.

2008-11-18 Steven Koechle - Changed all keywords *NotEnoughData to *NotEnoughValidData

2009-03-17 Tracie Sucharski - Added method to return fit chip

2009-03-26 Jeff Anderson - Removed pattern chip reduction as it was broken, added skewness check for the fit chip, cleaned up the RegistrationStatistics method and added setters methods where appropriate

2009-03-30 Jeff Anderson - Modified code to reset parameters (goodness of fit and skewness) for successive calls to Register method. Also check to see if skewness is null.

2009-05-08 Stacy Alley - Took out the skewness test and added the ellipse eccentricity test in the ModelSurface method. Also added the 'reduce' option to speed up the pattern matching process.

2009-06-02 Stacy Alley - ModelSurface method now returns a bool instead of an int. The p_registrationStatus is set within this method now. The Match method now takes another arg... fChip, passed in from Register. Also took out a redundant test, 'CompareFits' after the ModelSurface call. Also changed all the Chips in this header file from pointers to non-pointers. Saved all the reduced chips and have methods to return them so they can be views from Qnet.

2009-06-02 Jeff Anderson - Added AdaptiveRegistration virtual methods

2009-08-07 Travis Addair - Added functionality allowing it and all its sublcasses to return their auto registration template parameters

2009-08-25 Kris Becker - Correct calls to abs instead of the proper fabs.

2009-08-26 Kris Becker - Added chip parameters to Adaptive method to coorespond to the Match method. Also added best search sample and line parameters to Adaptive method. Also needed way to relate best fit value.

2009-09-02 Kris Becker - Set the default valid minimum and maximum values for pattern and search chips to Isis::ValidMinimum and Isis::ValidMaximum, respectively, as opposed to -DBL_MAX and _DBL_MAX. This modification has the net effect of excluding special pixels from a valid test. Also fix a bug whereby the extracted subsearch chip valid percent was divided by 100 - it instead should be passed in as is with the pattern chip test.

2009-09-07 Kris Becker - Set the goodness of fit when successful Adaptive algorithm.

2010-02-22 Tracie Sucharski - Added return methods for settings.

2010-03-16 Travis Addair - Added option to skip eccentricity testing, and made it so that the eccentricity is assumed to be 0 when it cannot otherwise be computed.

2010-03-18 Travis Addair - Added optional surface model validity test to ensure that the average residual of the least squares solution is within a tolerance.

2010-03-19 Travis Addair - Changed eccentricity and residual tests to be disabled by default. Including the keyword EccentricityRatio or ResidualTolerance in the Pvl that constructs an AutoReg object will enable the respective test.

2010-03-26 Travis Addair - Added methods Eccentricity() and AverageResidual() to retrieve the last computed value for those variables

2010-04-08 Travis Addair - Added methods EccentricityRatio() and EccentricityRatioTolerance() to retrieve an eccentricity value as the antecedent in an A:1 ratio.

2010-06-15 Jeannie Walldren - Modified code to read in an Interpolator type from the pvl and set the pattern and search chips' Read() methods to use this Interpolator type. Updated documentation and unitTest.

2010-07-09 Travis Addair - ComputeChipZScore now requires that both p_ZScoreMin and p_ZScoreMax are less than the pattern stats minimum z-score in order to fail.

2010-07-20 Jeannie Walldren - Added ability to set a valid percentage for the search chip's subchip. Updated documentation and unitTest.

2010-08-04 Jeannie Walldren - Updated documentation.

2010-10-07 Travis Addair - Changed enumeration value "Success" into two separate values "SuccessPixel" and "SuccessSubPixel" to differentiate between registrations computed and not computed to sub-pixel accuracy. Also added method "Success()" to fill the role of looking at the original "Success" value to know if AutoReg succeeded.

2011-03-08 Jai Rideout - Added ability to apply a gradient filter to chips before attempting to perform a match. Renamed member variables to be consistent with the variable naming scheme in the rest of the file.

2011-03-29 Jai Rideout - Fixed bug where gradient filter was being reapplied to pattern and search chips each time Register() was called. Also fixed bug where filtered chips lost cube positioning information in ApplyGradientFilter().

2011-05-04 Jai Rideout - Added ability to save gradient- filtered chips after registration instead of just saving the original chips.

2011-05-18 Steven Lambright - Fixed a bug with ReductionFactor

2011-10-12 Jai Rideout - Removed Roberts gradient. It did not give useful results due to the 2x2 matrix it uses.

2012-01-05 Travis Addair - Added separate variables for Whole Pixel Correlation and Subpixel Correlation.

2018-07-27 Makayla Shepherd - Fixed a bug that made registration fail for one dimensional pattern chips. Fixes #5247.

2018-07-27 Makayla Shepherd - Fixed a bug that upon sub-pixel registration failure caused the previous registration to be returned. If sub-pixel registration fails now it will return to the whole pixel registration values. Fixes #5248.

Definition at line 167 of file AutoReg.h.

Member Enumeration Documentation

◆ 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

◆ AutoReg()

Isis::AutoReg::AutoReg ( Pvl & pvl)

Create AutoReg object.

Because this is a pure virtual class you can not create an AutoReg class directly. Instead, see the AutoRegFactory class. The default settings include:

  • PatternChip
    • Samples = 3
    • Lines = 3
    • ValidPercent = 50.0
    • MinimumZScore = 1.0
  • SearchChip
    • Samples = 5
    • Lines = 5
    • SubchipValidPercent = 50.0
  • FitChip
    • Samples = 5
    • Lines = 5
  • Algorithm
    • Tolerance = Isis::Null
    • SubpixelAccuracy = True
    • ReductionFactor = 1
  • SurfaceModel
    • DistanceTolerance = 1.5
    • WindowSize = 5

The reduced chips are initially set to the same size as their corresponding chips in the constructor.

Parameters
pvlA pvl object containing a valid AutoReg specification
See also
patternMatch.doc under the coreg application

Definition at line 66 of file AutoReg.cpp.

References Isis::PvlObject::findObject(), Init(), None, Isis::Null, p_fitChip, p_fitChipNoDataCount, p_fitChipToleranceNotMetCount, p_gradientFilterType, p_lineMovement, p_patternChip, p_patternChipNotEnoughValidDataCount, p_patternZScoreNotMetCount, p_pixelSuccesses, p_reducedFitChip, p_reducedPatternChip, p_reducedSearchChip, p_sampMovement, p_searchChip, p_subpixelSuccesses, p_surfaceModelDistanceInvalidCount, p_surfaceModelNotEnoughValidDataCount, p_surfaceModelSolutionInvalidCount, p_template, p_totalRegistrations, Parse(), SetPatternValidPercent(), SetPatternZScoreMinimum(), SetReductionFactor(), Isis::Chip::SetSize(), SetSubPixelAccuracy(), SetSubsearchValidPercent(), SetSurfaceModelDistanceTolerance(), SetSurfaceModelWindowSize(), and SetTolerance().

◆ ~AutoReg()

Isis::AutoReg::~AutoReg ( )
virtual

Destroy AutoReg object.

Definition at line 153 of file AutoReg.cpp.

Member Function Documentation

◆ AlgorithmName()

virtual QString Isis::AutoReg::AlgorithmName ( ) const
pure virtual

Returns the name of the algorithm.

Returns
QString

Implemented in Isis::AdaptiveGruen, Isis::Gruen, Isis::MaximumCorrelation, and Isis::MinimumDifference.

Referenced by UpdatedTemplate().

◆ AlgorithmStatistics()

virtual Pvl Isis::AutoReg::AlgorithmStatistics ( Pvl & pvl)
inlineprotectedvirtual

Provide (adaptive) algorithms a chance to report results.

Provide Adaptive objects the opportunity to report behavior. It is called at the final step prior to program termination.

Parameters
pvlPvl structure to add report to
Returns
Pvl Results

Reimplemented in Isis::Gruen.

Definition at line 461 of file AutoReg.h.

Referenced by RegistrationStatistics().

◆ ApplyGradientFilter()

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

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(), None, p_gradientFilterType, Isis::IException::Programmer, Isis::Chip::Samples(), Isis::Chip::SetValue(), Sobel, and SobelGradient().

Referenced by Register().

◆ ChipLine()

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

Return the search chip line that best matched.

Definition at line 335 of file AutoReg.h.

References p_chipLine.

◆ ChipSample()

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

Return the search chip sample that best matched.

Definition at line 330 of file AutoReg.h.

References p_chipSample.

◆ CompareFits()

bool Isis::AutoReg::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
Returns
bool Indicates whether the first fit is as good or better than the second

Reimplemented in Isis::Gruen, Isis::MaximumCorrelation, and Isis::MinimumDifference.

Definition at line 1152 of file AutoReg.cpp.

References IdealFit().

Referenced by Match(), and Registration().

◆ ComputeChipZScore()

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

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(), p_minimumPatternZScore, p_zScoreMax, p_zScoreMin, and Isis::Chip::Samples().

Referenced by Register().

◆ CubeLine()

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

Return the search chip cube line that best matched.

Definition at line 345 of file AutoReg.h.

References p_cubeLine.

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

◆ CubeSample()

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

Return the search chip cube sample that best matched.

Definition at line 340 of file AutoReg.h.

References p_cubeSample.

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

◆ Distance()

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

Return the distance point moved.

Parameters
sampDistanceSample movement
lineDistanceLine movement

Definition at line 310 of file AutoReg.h.

References p_lineMovement, and p_sampMovement.

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

◆ DistanceTolerance()

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

Return distance tolerance.

Definition at line 300 of file AutoReg.h.

References p_distanceTolerance.

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

◆ FitChip()

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

Return pointer to fit chip.

Definition at line 212 of file AutoReg.h.

References p_fitChip.

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

◆ GoodnessOfFit()

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

◆ GradientFilterString()

QString Isis::AutoReg::GradientFilterString ( ) const

Definition at line 289 of file AutoReg.cpp.

◆ IdealFit()

virtual double Isis::AutoReg::IdealFit ( ) const
protectedpure virtual

Returns the ideal (perfect) fit that could be returned by the MatchAlgorithm.

Returns
double

Implemented in Isis::Gruen, Isis::MaximumCorrelation, and Isis::MinimumDifference.

Referenced by CompareFits(), and IsIdeal().

◆ Init()

void Isis::AutoReg::Init ( )
private

Initialize AutoReg object private variables.

Fill fit chip, reduced pattern chip and reduced search chip with nulls.

Definition at line 114 of file AutoReg.cpp.

References Isis::Chip::Lines(), Isis::Null, p_bestFit, p_bestLine, p_bestSamp, p_fitChip, p_goodnessOfFit, p_reducedPatternChip, p_reducedSearchChip, p_zScoreMax, p_zScoreMin, Isis::Chip::Samples(), and Isis::Chip::SetValue().

Referenced by AutoReg(), and Register().

◆ IsIdeal()

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

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 IdealFit().

Referenced by Registration().

◆ Match()

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

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 CompareFits(), MatchAlgorithm(), Isis::Null, p_bestFit, p_bestLine, p_bestSamp, p_subsearchValidPercent, and Isis::IException::Programmer.

Referenced by Register(), and Registration().

◆ MatchAlgorithm()

virtual double Isis::AutoReg::MatchAlgorithm ( Chip & pattern,
Chip & subsearch )
protectedpure virtual

Given two identically sized chips return a double that indicates how well they match.

For example, a correlation match algorithm would return a correlation coefficient ranging from -1 to 1.

Parameters
patternPattern chip to match against
subsearchSubchip of the search chip to match with
Returns
double

Implemented in Isis::Gruen, Isis::MaximumCorrelation, and Isis::MinimumDifference.

Referenced by Match().

◆ MinimumZScore()

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

Return minimumPatternZScore.

Definition at line 350 of file AutoReg.h.

References p_minimumPatternZScore.

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

◆ MostLenientTolerance()

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

Minimum tolerance specific to algorithm.

Reimplemented in Isis::MinimumDifference.

Definition at line 370 of file AutoReg.h.

◆ Parse()

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

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(), PatternChip(), SearchChip(), SetChipInterpolator(), SetGradientFilterType(), SetPatternValidPercent(), SetPatternZScoreMinimum(), SetReductionFactor(), Isis::Chip::SetSize(), SetSubPixelAccuracy(), SetSubsearchValidPercent(), SetSurfaceModelDistanceTolerance(), SetSurfaceModelWindowSize(), SetTolerance(), Isis::Chip::SetValidRange(), Isis::PvlObject::Traverse, Isis::IException::User, Isis::ValidMaximum, and Isis::ValidMinimum.

Referenced by AutoReg().

◆ PatternChip()

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

Return pointer to pattern chip.

Definition at line 202 of file AutoReg.h.

References p_patternChip.

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

◆ PatternValidPercent()

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

◆ Reduce()

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

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 Register().

◆ ReducedFitChip()

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

Return pointer to reduced fit chip.

Definition at line 247 of file AutoReg.h.

References p_reducedFitChip.

◆ ReducedPatternChip()

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

Return pointer to reduced pattern chip.

Definition at line 237 of file AutoReg.h.

References p_reducedPatternChip.

◆ ReducedSearchChip()

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

Return pointer to reduced search chip.

Definition at line 242 of file AutoReg.h.

References p_reducedSearchChip.

◆ ReductionFactor()

int Isis::AutoReg::ReductionFactor ( )
inline

Return the reduction factor.

Definition at line 275 of file AutoReg.h.

References p_reduceFactor.

Referenced by UpdatedTemplate().

◆ Register()

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

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

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

◆ Registration()

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

Performs matching between the pattern and search at both whole-pixel and subpixel levels.

For adaptive algorithms, only subpixel matching occurs. Such algorithms override this method to use their alternative matching procedures.

For those algorithms that need it, the best sample and line in the search chip is provided. This is either the initial tack sample and line in the search chip or it is the centered sample and line after the reduction algorithm is applied (KJB, 2009-08-26).

Author
janderson (6/2/2009)
Parameters
sChipSearch chip
pChipPattern chip
fChipFit chip
startSampDefines the starting sample of the window the algorithm should remain inside this boundary.
startLineDefines the starting line of the window the algorithm should remain inside this boundary.
endSampDefines the ending sample of the window the algorithm should remain inside this boundary.
endLineDefines the ending line of the window the algorithm should remain inside this boundary.
bestSampBest sample
bestLineBest line
Returns
AutoReg::RegisterStatus Status of match

Reimplemented in Isis::Gruen.

Definition at line 811 of file AutoReg.cpp.

References CompareFits(), FitChipNoData, FitChipToleranceNotMet, IsIdeal(), Match(), Isis::Null, p_bestFit, p_bestLine, p_bestSamp, p_chipLine, p_chipSample, p_distanceTolerance, p_fitChipNoDataCount, p_fitChipToleranceNotMetCount, p_lineMovement, p_registrationStatus, p_sampMovement, p_subpixelAccuracy, p_surfaceModelDistanceInvalidCount, p_surfaceModelNotEnoughValidDataCount, p_windowSize, SetSubpixelPosition(), SuccessPixel, SuccessSubPixel, SurfaceModelDistanceInvalid, SurfaceModelNotEnoughValidData, SurfaceModelSolutionInvalid, and Tolerance().

Referenced by Register().

◆ RegistrationPatternChip()

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

Return pointer to pattern chip used in registration.

Definition at line 217 of file AutoReg.h.

References None, p_gradientFilterType, p_gradientPatternChip, and p_patternChip.

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

◆ RegistrationSearchChip()

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

Return pointer to search chip used in registration.

Definition at line 227 of file AutoReg.h.

References None, p_gradientFilterType, p_gradientSearchChip, and p_searchChip.

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

◆ RegistrationStatistics()

Pvl Isis::AutoReg::RegistrationStatistics ( )

This returns the cumulative registration statistics.

That is, the Register() method accumulates statistics regard the errors each time is called. Invoking this method returns a PVL summary of those statisitics

Author
janderson (3/26/2009)
Returns
Pvl

Definition at line 1177 of file AutoReg.cpp.

References AlgorithmStatistics(), p_fitChipNoDataCount, p_fitChipToleranceNotMetCount, p_patternChipNotEnoughValidDataCount, p_patternZScoreNotMetCount, p_pixelSuccesses, p_subpixelSuccesses, p_surfaceModelDistanceInvalidCount, p_surfaceModelNotEnoughValidDataCount, p_surfaceModelSolutionInvalidCount, p_totalRegistrations, and Isis::toString().

◆ RegTemplate()

PvlGroup Isis::AutoReg::RegTemplate ( )

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(), p_template, SetPatternValidPercent(), SetSubsearchValidPercent(), and Isis::PvlObject::Traverse.

◆ SearchChip()

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

Return pointer to search chip.

Definition at line 207 of file AutoReg.h.

References p_searchChip.

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

◆ SetChipInterpolator()

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

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 p_patternChip, p_reducedPatternChip, p_reducedSearchChip, p_searchChip, Isis::Chip::SetReadInterpolator(), and Isis::IException::User.

Referenced by Parse().

◆ SetChipLine()

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

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 p_chipLine.

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

◆ SetChipSample()

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

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 p_chipSample.

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

◆ SetGoodnessOfFit()

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

Sets the goodness of fit for adaptive algorithms.

Parameters
fitFit value to set

Definition at line 413 of file AutoReg.h.

References p_bestFit.

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

◆ SetGradientFilterType()

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

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 None, p_gradientFilterType, Sobel, and Isis::IException::User.

Referenced by Parse().

◆ SetPatternValidPercent()

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

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 p_patternValidPercent, and Isis::IException::User.

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

◆ SetPatternZScoreMinimum()

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

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 p_minimumPatternZScore, and Isis::IException::User.

Referenced by AutoReg(), and Parse().

◆ SetReductionFactor()

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

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 p_reduceFactor, and Isis::IException::User.

Referenced by AutoReg(), and Parse().

◆ SetSubPixelAccuracy()

void Isis::AutoReg::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.

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 p_subpixelAccuracy.

Referenced by AutoReg(), and Parse().

◆ SetSubpixelPosition()

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

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 p_bestLine, p_bestSamp, p_chipLine, p_chipSample, p_surfaceModelSolutionInvalidCount, and Isis::Centroid::setDNRange().

Referenced by Registration().

◆ SetSubsearchValidPercent()

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

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 p_subsearchValidPercent, and Isis::IException::User.

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

◆ SetSurfaceModelDistanceTolerance()

void Isis::AutoReg::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.

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 p_distanceTolerance, and Isis::IException::User.

Referenced by AutoReg(), and Parse().

◆ SetSurfaceModelWindowSize()

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

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 p_windowSize, and Isis::IException::User.

Referenced by AutoReg(), and Parse().

◆ SetTolerance()

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

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 p_tolerance.

Referenced by AutoReg(), and Parse().

◆ SobelGradient()

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

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 ApplyGradientFilter().

◆ SubPixelAccuracy()

bool Isis::AutoReg::SubPixelAccuracy ( )
inline

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 p_subpixelAccuracy.

Referenced by UpdatedTemplate().

◆ SubsearchValidPercent()

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

Return subsearch chip valid percent.

Definition at line 285 of file AutoReg.h.

References p_subsearchValidPercent.

Referenced by UpdatedTemplate().

◆ Success()

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

Return whether the match algorithm succeeded or not.

Definition at line 318 of file AutoReg.h.

References p_registrationStatus, SuccessPixel, and SuccessSubPixel.

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

◆ Tolerance()

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

◆ UpdatedTemplate()

PvlGroup Isis::AutoReg::UpdatedTemplate ( )

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 AlgorithmName(), DistanceTolerance(), MinimumZScore(), PatternChip(), PatternValidPercent(), ReductionFactor(), SearchChip(), SubPixelAccuracy(), SubsearchValidPercent(), Tolerance(), Isis::toString(), and WindowSize().

◆ WindowSize()

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

Return window size.

Definition at line 295 of file AutoReg.h.

References p_windowSize.

Referenced by UpdatedTemplate().

◆ ZScores()

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

Return the ZScores of the pattern chip.

Parameters
score1First Z Score
score2Second Z Score

Definition at line 360 of file AutoReg.h.

References p_zScoreMax, and p_zScoreMin.

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

Member Data Documentation

◆ p_bestFit

double Isis::AutoReg::p_bestFit
private

Goodness of fit for adaptive algorithms.

Definition at line 523 of file AutoReg.h.

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

◆ p_bestLine

int Isis::AutoReg::p_bestLine
private

Line value of best fit.

Definition at line 525 of file AutoReg.h.

Referenced by Init(), Match(), Register(), Registration(), and SetSubpixelPosition().

◆ p_bestSamp

int Isis::AutoReg::p_bestSamp
private

Sample value of best fit.

Definition at line 524 of file AutoReg.h.

Referenced by Init(), Match(), Register(), Registration(), and SetSubpixelPosition().

◆ p_chipLine

double Isis::AutoReg::p_chipLine
private

Chip line.

Definition at line 514 of file AutoReg.h.

Referenced by ChipLine(), Register(), Registration(), SetChipLine(), and SetSubpixelPosition().

◆ p_chipSample

double Isis::AutoReg::p_chipSample
private

Chip sample.

Definition at line 513 of file AutoReg.h.

Referenced by ChipSample(), Register(), Registration(), SetChipSample(), and SetSubpixelPosition().

◆ p_cubeLine

double Isis::AutoReg::p_cubeLine
private

Cube line.

Definition at line 516 of file AutoReg.h.

Referenced by CubeLine(), and Register().

◆ p_cubeSample

double Isis::AutoReg::p_cubeSample
private

Cube sample.

Definition at line 515 of file AutoReg.h.

Referenced by CubeSample(), and Register().

◆ p_distanceTolerance

double Isis::AutoReg::p_distanceTolerance
private

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 DistanceTolerance(), Registration(), and SetSurfaceModelDistanceTolerance().

◆ p_fitChip

Chip Isis::AutoReg::p_fitChip
private

Results from MatchAlgorithm() method.

Definition at line 485 of file AutoReg.h.

Referenced by AutoReg(), FitChip(), Init(), and Register().

◆ p_fitChipNoDataCount

int Isis::AutoReg::p_fitChipNoDataCount
private

Registration statistics FitChipNoData keyword.

Definition at line 500 of file AutoReg.h.

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

◆ p_fitChipToleranceNotMetCount

int Isis::AutoReg::p_fitChipToleranceNotMetCount
private

Registration statistics FitChipToleranceNotMet keyword.

Definition at line 501 of file AutoReg.h.

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

◆ p_goodnessOfFit

double Isis::AutoReg::p_goodnessOfFit
private

Goodness of fit of the match algorithm.

Definition at line 517 of file AutoReg.h.

Referenced by GoodnessOfFit(), Init(), and Register().

◆ p_gradientFilterType

AutoReg::GradientFilterType Isis::AutoReg::p_gradientFilterType
private

Type of gradient filter to use before matching.

Definition at line 530 of file AutoReg.h.

Referenced by ApplyGradientFilter(), AutoReg(), Register(), RegistrationPatternChip(), RegistrationSearchChip(), and SetGradientFilterType().

◆ p_gradientPatternChip

Chip Isis::AutoReg::p_gradientPatternChip
private

Chip to be matched with gradient applied.

Definition at line 487 of file AutoReg.h.

Referenced by Register(), and RegistrationPatternChip().

◆ p_gradientSearchChip

Chip Isis::AutoReg::p_gradientSearchChip
private

Chip to be searched for best registration with gradient applied.

Definition at line 486 of file AutoReg.h.

Referenced by Register(), and RegistrationSearchChip().

◆ p_lineMovement

double Isis::AutoReg::p_lineMovement
private

The number of lines the point moved.

Definition at line 527 of file AutoReg.h.

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

◆ p_minimumPatternZScore

double Isis::AutoReg::p_minimumPatternZScore
private

Minimum pattern Z-Score.

Definition at line 509 of file AutoReg.h.

Referenced by ComputeChipZScore(), MinimumZScore(), and SetPatternZScoreMinimum().

◆ p_patternChip

Chip Isis::AutoReg::p_patternChip
private

Chip to be matched.

Definition at line 483 of file AutoReg.h.

Referenced by AutoReg(), PatternChip(), Register(), RegistrationPatternChip(), and SetChipInterpolator().

◆ p_patternChipNotEnoughValidDataCount

int Isis::AutoReg::p_patternChipNotEnoughValidDataCount
private

Registration statistics PatternNotEnoughValidData keyword.

Definition at line 498 of file AutoReg.h.

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

◆ p_patternValidPercent

double Isis::AutoReg::p_patternValidPercent
private

Percentage of data in pattern chip that must be valid.

Definition at line 510 of file AutoReg.h.

Referenced by PatternValidPercent(), Register(), and SetPatternValidPercent().

◆ p_patternZScoreNotMetCount

int Isis::AutoReg::p_patternZScoreNotMetCount
private

Registration statistics PatternZScoreNotMet keyword.

Definition at line 499 of file AutoReg.h.

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

◆ p_pixelSuccesses

int Isis::AutoReg::p_pixelSuccesses
private

Registration statistics Success keyword.

Definition at line 496 of file AutoReg.h.

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

◆ p_reducedFitChip

Chip Isis::AutoReg::p_reducedFitChip
private

Fit Chip with reduction factor.

Definition at line 490 of file AutoReg.h.

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

◆ p_reducedPatternChip

Chip Isis::AutoReg::p_reducedPatternChip
private

Pattern Chip with reduction factor.

Definition at line 488 of file AutoReg.h.

Referenced by AutoReg(), Init(), ReducedPatternChip(), Register(), and SetChipInterpolator().

◆ p_reducedSearchChip

Chip Isis::AutoReg::p_reducedSearchChip
private

Search Chip with reduction factor.

Definition at line 489 of file AutoReg.h.

Referenced by AutoReg(), Init(), ReducedSearchChip(), Register(), and SetChipInterpolator().

◆ p_reduceFactor

int Isis::AutoReg::p_reduceFactor
private

Reduction factor.

Definition at line 528 of file AutoReg.h.

Referenced by ReductionFactor(), Register(), and SetReductionFactor().

◆ p_registrationStatus

Isis::AutoReg::RegisterStatus Isis::AutoReg::p_registrationStatus
private

Registration status to be returned by Register().

Definition at line 529 of file AutoReg.h.

Referenced by Register(), Registration(), and Success().

◆ p_sampMovement

double Isis::AutoReg::p_sampMovement
private

The number of samples the point moved.

Definition at line 526 of file AutoReg.h.

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

◆ p_searchChip

Chip Isis::AutoReg::p_searchChip
private

Chip to be searched for best registration.

Definition at line 484 of file AutoReg.h.

Referenced by AutoReg(), Register(), RegistrationSearchChip(), SearchChip(), and SetChipInterpolator().

◆ p_subpixelAccuracy

bool Isis::AutoReg::p_subpixelAccuracy
private

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

Definition at line 492 of file AutoReg.h.

Referenced by Registration(), SetSubPixelAccuracy(), and SubPixelAccuracy().

◆ p_subpixelSuccesses

int Isis::AutoReg::p_subpixelSuccesses
private

Registration statistics Success keyword.

Definition at line 497 of file AutoReg.h.

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

◆ p_subsearchValidPercent

double Isis::AutoReg::p_subsearchValidPercent
private

Percentage of data in subsearch chip that must be valid.

Definition at line 511 of file AutoReg.h.

Referenced by Match(), SetSubsearchValidPercent(), and SubsearchValidPercent().

◆ p_surfaceModelDistanceInvalidCount

int Isis::AutoReg::p_surfaceModelDistanceInvalidCount
private

Registration statistics SurfaceModelDistanceInvalid keyword.

Definition at line 504 of file AutoReg.h.

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

◆ p_surfaceModelNotEnoughValidDataCount

int Isis::AutoReg::p_surfaceModelNotEnoughValidDataCount
private

Registration statistics SurfaceModelNotEnoughValidData keyword.

Definition at line 502 of file AutoReg.h.

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

◆ p_surfaceModelSolutionInvalidCount

int Isis::AutoReg::p_surfaceModelSolutionInvalidCount
private

Registration statistics SurfaceModelSolutionInvalid keyword.

Definition at line 503 of file AutoReg.h.

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

◆ p_template

PvlObject Isis::AutoReg::p_template
protected

AutoRegistration object that created this projection.

Definition at line 449 of file AutoReg.h.

Referenced by AutoReg(), and RegTemplate().

◆ p_tolerance

double Isis::AutoReg::p_tolerance
private

Tolerance for acceptable goodness of fit in match algorithm.

Definition at line 518 of file AutoReg.h.

Referenced by SetTolerance(), and Tolerance().

◆ p_totalRegistrations

int Isis::AutoReg::p_totalRegistrations
private

Registration Statistics Total keyword.

Definition at line 495 of file AutoReg.h.

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

◆ p_windowSize

int Isis::AutoReg::p_windowSize
private

Surface model window size.

Definition at line 520 of file AutoReg.h.

Referenced by Register(), Registration(), SetSurfaceModelWindowSize(), and WindowSize().

◆ p_zScoreMax

double Isis::AutoReg::p_zScoreMax
private

Second Z-Score of pattern chip.

Definition at line 507 of file AutoReg.h.

Referenced by ComputeChipZScore(), Init(), and ZScores().

◆ p_zScoreMin

double Isis::AutoReg::p_zScoreMin
private

First Z-Score of pattern chip.

Definition at line 506 of file AutoReg.h.

Referenced by ComputeChipZScore(), Init(), and ZScores().


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