USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::AutoReg Class Reference

Inheritance diagram for Isis::AutoReg:

Inheritance graph
[legend]
Collaboration diagram for Isis::AutoReg:

Collaboration graph
[legend]
List of all members.

Detailed Description

Definition at line 120 of file AutoReg.h.

Public Types

 Success
 Success.
 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.
 SurfaceModelEccentricityRatioNotMet
 Ellipse eccentricity of the surface model not satisfied.
 AdaptiveAlgorithmFailed
 Error occured in Adaptive algorithm.
enum  RegisterStatus {
  Success, PatternChipNotEnoughValidData, FitChipNoData, FitChipToleranceNotMet,
  SurfaceModelNotEnoughValidData, SurfaceModelSolutionInvalid, SurfaceModelDistanceInvalid, PatternZScoreNotMet,
  SurfaceModelEccentricityRatioNotMet, AdaptiveAlgorithmFailed
}

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 search chip.
ChipReducedPatternChip ()
 Return pointer to reduced pattern chip.
ChipReducedSearchChip ()
 Return pointer to reduced search chip.
ChipReducedFitChip ()
 Return pointer to reduced fix chip.
void SetSubPixelAccuracy (bool on)
 If the sub-accuracy is enable 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 SetTolerance (double tolerance)
 Set the tolerance for an acceptable goodness of fit.
void SetSurfaceModelWindowSize (int size)
 Set the surface model window size.
void SetSurfaceModelDistanceTolerance (double distance)
 Set a distance the surface model solution is allow 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 SetSurfaceModelEccentricityRatio (double ratioTolerance)
 A 1:1 ratio represents a perfect circle.
double PatternValidPercent () const
 Return pattern valid percent.
double Tolerance () const
 Return match algorithm tolerance.
AutoReg::RegisterStatus Register ()
 Walk the pattern chip through the search chip to find the best registration.
double GoodnessOfFit () const
 Return the goodness of fit of the match algorithm.
bool IsIdeal (double fit)
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.
void ZScores (double &score1, double &score2) const
 Return the ZScores of the pattern chip.
Pvl RegistrationStatistics ()
 This returns the cumulative registration statistics.
virtual bool IsAdaptive ()
 Return if the algorithm is an adaptive pattern matching technique.
virtual std::string AlgorithmName () const =0
 Returns the name of the algorithm.
PvlGroup RegTemplate ()
 This function returns the keywords that this object was created from.

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 AdaptiveRegistration (Chip &sChip, Chip &pChip, Chip &fChip, int startSamp, int startLine, int endSamp, int endLine, int bestSamp, int bestLine)
 This virtual method must be written for adaptive pattern matching algorithms.
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 ModelSurface (std::vector< double > &x, std::vector< double > &y, std::vector< double > &z)
 We will model a 2-d surface as:.
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

 AutoReg (const AutoReg &original)
void Match (Chip &sChip, Chip &pChip, Chip &fChip, int ss, int es, int sl, int el)
 Here we walk from starting samp (ss) to end samp(es) and start line (sl) to end line (el), and compare the pattern chip (pChip) against the search chip (sChip) to find the best line/sample.
bool ComputeChipZScore (Chip &chip)
void Init ()

Private Attributes

Chip p_patternChip
Chip p_searchChip
Chip p_fitChip
Chip p_reducedPatternChip
Chip p_reducedSearchChip
Chip p_reducedFitChip
bool p_subpixelAccuracy
int p_Total
int p_Success
int p_PatternChipNotEnoughValidData
int p_PatternZScoreNotMet
int p_FitChipNoData
int p_FitChipToleranceNotMet
int p_SurfaceModelNotEnoughValidData
int p_SurfaceModelSolutionInvalid
int p_SurfaceModelDistanceInvalid
int p_SurfaceModelEccentricityRatioNotMet
double p_ZScore1
double p_ZScore2
double p_minimumPatternZScore
double p_patternValidPercent
double p_chipSample
double p_chipLine
double p_cubeSample
double p_cubeLine
double p_goodnessOfFit
double p_tolerance
int p_windowSize
double p_distanceTolerance
double p_surfaceModelEccentricityTolerance
double p_surfaceModelEccentricity
double p_bestFit
int p_bestSamp
int p_bestLine
int p_reduceFactor
Isis::AutoReg::RegisterStatus p_status


Member Enumeration Documentation

enum Isis::AutoReg::RegisterStatus

Enumerator:
Success  Success.
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.
SurfaceModelEccentricityRatioNotMet  Ellipse eccentricity of the surface model not satisfied.
AdaptiveAlgorithmFailed  Error occured in Adaptive algorithm.

Definition at line 126 of file AutoReg.h.


Constructor & Destructor Documentation

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.

Parameters:
pvl A pvl object containing a valid AutoReg specification
See also:
automaticRegistration.doc

Definition at line 22 of file AutoReg.cpp.

References Init(), Isis::Null, p_fitChip, p_FitChipNoData, p_FitChipToleranceNotMet, p_patternChip, p_PatternChipNotEnoughValidData, p_PatternZScoreNotMet, p_reducedFitChip, p_reducedPatternChip, p_reducedSearchChip, p_searchChip, p_Success, p_SurfaceModelDistanceInvalid, p_SurfaceModelEccentricityRatioNotMet, p_SurfaceModelNotEnoughValidData, p_SurfaceModelSolutionInvalid, p_template, p_Total, Parse(), pvl(), SetPatternValidPercent(), SetPatternZScoreMinimum(), SetReductionFactor(), Isis::Chip::SetSize(), SetSubPixelAccuracy(), SetSurfaceModelDistanceTolerance(), SetSurfaceModelEccentricityRatio(), SetSurfaceModelWindowSize(), and SetTolerance().

Isis::AutoReg::~AutoReg (  )  [virtual]

Destroy AutoReg object.

Definition at line 102 of file AutoReg.cpp.


Member Function Documentation

AutoReg::RegisterStatus Isis::AutoReg::AdaptiveRegistration ( Chip sChip,
Chip pChip,
Chip fChip,
int  startSamp,
int  startLine,
int  endSamp,
int  endLine,
int  bestSamp,
int  bestLine 
) [protected, virtual]

This virtual method must be written for adaptive pattern matching algorithms.

Adaptive algorithms are assumed to compute the registration to sub-pixel accuracy and stay within the defined window. A status should be returned indicating success for subpixel computation or failure and the reason why via the enumeration, RegisterStatus. If the status is returned is success, the programmer needs to set the sub-pixel chip coordinates using the protected methods SetChipSample(), SetChipLine().

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:
startSamp Defines the starting sample of the window the adaptive algorithm should remain inside this boundary.
startLine Defines the starting line of the window the adaptive algorithm should remain inside this boundary.
endSamp Defines the ending sample of the window the adaptive algorithm should remain inside this boundary.
endLine Defines the ending line of the window the adaptive algorithm should remain inside this boundary.
Returns:
AutoReg::RegisterStatus Status of match

Reimplemented in Isis::Gruen.

Definition at line 981 of file AutoReg.cpp.

References _FILEINFO_, Isis::iException::Message(), and Success.

Referenced by Register().

virtual std::string Isis::AutoReg::AlgorithmName (  )  const [pure virtual]

Returns the name of the algorithm.

Returns:
std::string

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

virtual Pvl Isis::AutoReg::AlgorithmStatistics ( Pvl pvl  )  [inline, protected, virtual]

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:
pvl Pvl structure to add report to
Returns:
Pvl Results

Reimplemented in Isis::Gruen.

Definition at line 296 of file AutoReg.h.

References pvl().

Referenced by RegistrationStatistics().

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

Return the search chip line that best matched.

Definition at line 183 of file AutoReg.h.

References p_chipLine.

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

Return the search chip sample that best matched.

Definition at line 180 of file AutoReg.h.

References p_chipSample.

bool Isis::AutoReg::CompareFits ( double  fit1,
double  fit2 
) [protected, virtual]

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

Parameters:
fit1 1st goodness of fit
fit2 2nd goodness of fit

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

Definition at line 865 of file AutoReg.cpp.

References IdealFit().

Referenced by Match(), and Register().

bool Isis::AutoReg::ComputeChipZScore ( Chip chip  )  [private]

Parameters:
chip 
Returns:
bool

Definition at line 642 of file AutoReg.cpp.

References Isis::Statistics::AddData(), Isis::Chip::GetValue(), Isis::Chip::Lines(), Isis::Statistics::Maximum(), Isis::Statistics::Minimum(), p_minimumPatternZScore, p_ZScore1, p_ZScore2, Isis::Chip::Samples(), and Isis::Statistics::ZScore().

Referenced by Register().

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

Return the search chip cube line that best matched.

Definition at line 189 of file AutoReg.h.

References p_cubeLine.

Referenced by Qisis::ControlPointEdit::registerPoint().

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

Return the search chip cube sample that best matched.

Definition at line 186 of file AutoReg.h.

References p_cubeSample.

Referenced by Qisis::ControlPointEdit::registerPoint().

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

Return pointer to search chip.

Definition at line 146 of file AutoReg.h.

References p_fitChip.

Referenced by Qisis::ControlPointEdit::saveChips().

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

Return the goodness of fit of the match algorithm.

Definition at line 175 of file AutoReg.h.

References p_goodnessOfFit.

Referenced by Qisis::ControlPointEdit::registerPoint().

virtual double Isis::AutoReg::IdealFit (  )  const [protected, pure 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().

virtual bool Isis::AutoReg::IsAdaptive (  )  [inline, virtual]

Return if the algorithm is an adaptive pattern matching technique.

Reimplemented in Isis::AdaptiveGruen, and Isis::Gruen.

Definition at line 208 of file AutoReg.h.

Referenced by Register().

void Isis::AutoReg::Match ( Chip sChip,
Chip pChip,
Chip fChip,
int  ss,
int  es,
int  sl,
int  el 
) [private]

Here we walk from starting samp (ss) to end samp(es) and start line (sl) to end line (el), and compare the pattern chip (pChip) against the search chip (sChip) to find the best line/sample.

Parameters:
sChip 
pChip 
ss 
es 
sl 
el 

Definition at line 680 of file AutoReg.cpp.

References _FILEINFO_, CompareFits(), Isis::Chip::Extract(), line, Isis::Chip::Lines(), MatchAlgorithm(), Isis::iException::Message(), Isis::Null, p_bestFit, p_bestLine, p_bestSamp, p_patternValidPercent, Isis::Chip::Samples(), Isis::Chip::SetSize(), and Isis::Chip::SetValue().

Referenced by Register().

virtual double Isis::AutoReg::MatchAlgorithm ( Chip pattern,
Chip subsearch 
) [protected, pure 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:
pattern 
subsearch 
Returns:
double

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

Referenced by Match().

bool Isis::AutoReg::ModelSurface ( std::vector< double > &  x,
std::vector< double > &  y,
std::vector< double > &  z 
) [protected]

We will model a 2-d surface as:.

z = a + b*x + c*y + d*x**2 + e*x*y + f*y**2

Then the partial derivatives are two lines:

dz/dx = b + 2dx + ey dz/dy = c + ex + 2fy

We will have a local min/max where dz/dx and dz/dy = 0. Solve using that condition using linear algebra yields:

xlocal = (ce - 2bf) / (4df - ee) ylocal = (be - 2cd) / (4df - ee)

These will be stored in p_chipSample and p_chipLine respectively.

Parameters:
x vector of x (sample) values
y vector of y (line) values
z vector of z (goodness-of-fit) values

Definition at line 745 of file AutoReg.cpp.

References a, Isis::LeastSquares::AddKnown(), b, c, Isis::BasisFunction::Coefficient(), d, delta, Isis::Matrix::Determinant(), e, Isis::LeastSquares::Evaluate(), p_chipLine, p_chipSample, p_goodnessOfFit, p_status, p_surfaceModelEccentricity, p_SurfaceModelEccentricityRatioNotMet, p_surfaceModelEccentricityTolerance, p_SurfaceModelSolutionInvalid, Isis::LeastSquares::Solve(), SurfaceModelEccentricityRatioNotMet, and SurfaceModelSolutionInvalid.

Referenced by Register().

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
     Name      = MaximumCorrelation
     Tolerance = 0.7
   EndGroup

   Group = PatternChip
     Samples = 21
     Lines   = 21
   EndGroup

   Group = SearchChip
     Samples = 51
     Lines = 51
   EndGroup
 EndObject

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

See also:
automaticRegistration.doc
Parameters:
pvl The pvl object containing the specification

Definition at line 136 of file AutoReg.cpp.

References _FILEINFO_, e, Isis::PvlContainer::Filename(), Isis::PvlObject::FindGroup(), Isis::PvlObject::HasGroup(), Isis::PvlContainer::HasKeyword(), maximum, Isis::iException::Message(), minimum, PatternChip(), pvl(), SearchChip(), SetPatternValidPercent(), SetPatternZScoreMinimum(), SetReductionFactor(), Isis::Chip::SetSize(), SetSubPixelAccuracy(), SetSurfaceModelDistanceTolerance(), SetSurfaceModelEccentricityRatio(), SetSurfaceModelWindowSize(), SetTolerance(), Isis::Chip::SetValidRange(), Isis::PvlObject::Traverse, Isis::ValidMaximum, and Isis::ValidMinimum.

Referenced by AutoReg().

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

Return pointer to pattern chip.

Definition at line 140 of file AutoReg.h.

References p_patternChip.

Referenced by Parse(), Qisis::ControlPointEdit::registerPoint(), and Qisis::ControlPointEdit::saveChips().

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

Return pattern valid percent.

Definition at line 167 of file AutoReg.h.

References p_patternValidPercent.

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

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:
reductionFactor 
Returns:
Chip

Definition at line 348 of file AutoReg.cpp.

References Isis::Statistics::AddData(), Isis::Statistics::Average(), Isis::Chip::GetValue(), line, Isis::Chip::Lines(), Isis::Null, Isis::Statistics::Reset(), sample, Isis::Chip::Samples(), Isis::Chip::SetValue(), and stats.

Referenced by Register().

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

Return pointer to reduced fix chip.

Definition at line 155 of file AutoReg.h.

References p_reducedFitChip.

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

Return pointer to reduced pattern chip.

Definition at line 149 of file AutoReg.h.

References p_reducedPatternChip.

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

Return pointer to reduced search chip.

Definition at line 152 of file AutoReg.h.

References p_reducedSearchChip.

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

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

Returns:
Returns the status of the registration.

Definition at line 392 of file AutoReg.cpp.

References _FILEINFO_, AdaptiveRegistration(), CompareFits(), ComputeChipZScore(), Isis::Chip::CubeLine(), Isis::Chip::CubeSample(), FitChipNoData, FitChipToleranceNotMet, Isis::Chip::GetValue(), Init(), IsAdaptive(), IsIdeal(), Isis::Chip::IsValid(), line, Isis::Chip::Lines(), Match(), Isis::iException::Message(), ModelSurface(), Isis::Null, p_bestFit, p_bestLine, p_bestSamp, p_chipLine, p_chipSample, p_cubeLine, p_cubeSample, p_distanceTolerance, p_fitChip, p_FitChipNoData, p_FitChipToleranceNotMet, p_goodnessOfFit, p_patternChip, p_PatternChipNotEnoughValidData, p_patternValidPercent, p_PatternZScoreNotMet, p_reducedFitChip, p_reducedPatternChip, p_reducedSearchChip, p_reduceFactor, p_searchChip, p_status, p_subpixelAccuracy, p_Success, p_SurfaceModelDistanceInvalid, p_SurfaceModelNotEnoughValidData, p_Total, p_windowSize, PatternChipNotEnoughValidData, PatternZScoreNotMet, Reduce(), Isis::Chip::Samples(), Isis::Chip::SetChipPosition(), Isis::Chip::SetSize(), Isis::Chip::SetValue(), sl, ss, Success, SurfaceModelDistanceInvalid, SurfaceModelNotEnoughValidData, Isis::Chip::TackLine(), Isis::Chip::TackSample(), and Tolerance().

Referenced by Qisis::ControlPointEdit::registerPoint().

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 920 of file AutoReg.cpp.

References AlgorithmStatistics(), p_FitChipNoData, p_FitChipToleranceNotMet, p_PatternChipNotEnoughValidData, p_PatternZScoreNotMet, p_Success, p_SurfaceModelDistanceInvalid, p_SurfaceModelEccentricityRatioNotMet, p_SurfaceModelNotEnoughValidData, p_SurfaceModelSolutionInvalid, p_Total, pvl(), and stats.

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 1002 of file AutoReg.cpp.

References Isis::PvlObject::FindGroup(), Isis::PvlObject::HasGroup(), Isis::PvlContainer::HasKeyword(), p_template, SetPatternValidPercent(), and Isis::PvlObject::Traverse.

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

Return pointer to search chip.

Definition at line 143 of file AutoReg.h.

References p_searchChip.

Referenced by Parse(), Qisis::ControlPointEdit::registerPoint(), and Qisis::ControlPointEdit::saveChips().

void Isis::AutoReg::SetChipLine ( double  line  )  [inline, protected]

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

Parameters:
line 

Definition at line 237 of file AutoReg.h.

References p_chipLine.

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

void Isis::AutoReg::SetChipSample ( double  sample  )  [inline, protected]

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

Parameters:
sample 

Definition at line 228 of file AutoReg.h.

References p_chipSample.

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

void Isis::AutoReg::SetGoodnessOfFit ( double  fit  )  [inline, protected]

Sets the goodness of fit for adaptive algorithms.

Parameters:
Fit Fit value to set

Definition at line 244 of file AutoReg.h.

References p_bestFit.

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

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.

Parameters:
percent Percentage of valid data between 0 and 100, default is 50% if never invoked

Definition at line 234 of file AutoReg.cpp.

References _FILEINFO_, Isis::iException::Message(), and p_patternValidPercent.

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

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.

Parameters:
minimum The minimum zscore value for the pattern chip. Default is 1.0

Definition at line 255 of file AutoReg.cpp.

References _FILEINFO_, Isis::iException::Message(), and p_minimumPatternZScore.

Referenced by AutoReg(), and Parse().

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

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

Parameters:
factor 

Definition at line 331 of file AutoReg.cpp.

References _FILEINFO_, Isis::iException::Message(), and p_reduceFactor.

Referenced by AutoReg(), and Parse().

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

If the sub-accuracy is enable 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.

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

Definition at line 212 of file AutoReg.cpp.

References p_subpixelAccuracy.

Referenced by AutoReg(), and Parse().

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

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

Parameters:
distance The distance allowed to move in pixels. Must be greater than zero.

Definition at line 316 of file AutoReg.cpp.

References _FILEINFO_, Isis::iException::Message(), and p_distanceTolerance.

Referenced by AutoReg(), and Parse().

void Isis::AutoReg::SetSurfaceModelEccentricityRatio ( double  eccentricityRatio  ) 

A 1:1 ratio represents a perfect circle.

Allowing the user to set this ratio lets them determine which points to throw out if the surface model gets too elliptical.

Parameters:
eccentricityRatio 

Definition at line 300 of file AutoReg.cpp.

References _FILEINFO_, Isis::iException::Message(), and p_surfaceModelEccentricityTolerance.

Referenced by AutoReg(), and Parse().

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.

Parameters:
size The size of the window must be three or greater and odd.

Definition at line 284 of file AutoReg.cpp.

References _FILEINFO_, Isis::iException::Message(), and p_windowSize.

Referenced by AutoReg(), and Parse().

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

Set the tolerance for an acceptable goodness of fit.

Parameters:
tolerance This 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 271 of file AutoReg.cpp.

References p_tolerance.

Referenced by AutoReg(), and Parse().

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

Return match algorithm tolerance.

Definition at line 170 of file AutoReg.h.

References p_tolerance.

Referenced by Register(), and Isis::Gruen::TestConstraints().

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

Return the ZScores of the pattern chip.

Parameters:
score1 First Z Score
score2 Second Z Score

Definition at line 197 of file AutoReg.h.

References p_ZScore1, and p_ZScore2.


Member Data Documentation

PvlObject Isis::AutoReg::p_template [protected]

AutoRegistration object that created this projection.

Definition at line 284 of file AutoReg.h.

Referenced by AutoReg(), and RegTemplate().


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