278 QString GradientFilterString()
const;
326 void Distance(
double &sampDistance,
double &lineDistance) {
343 inline bool IsIdeal(
double fit);
376 void ZScores(
double &score1,
double &score2)
const {
434 Chip &fChip,
int startSamp,
int startLine,
int endSamp,
int endLine,
435 int bestSamp,
int bestLine);
438 virtual bool CompareFits(
double fit1,
double fit2);
449 virtual double IdealFit()
const = 0;
Buffer for reading and writing cube data.
Chip p_gradientSearchChip
Chip to be searched for best registration with gradient applied.
void Init()
Initialize AutoReg object private variables.
bool SetSubpixelPosition(Chip &window)
Set the search chip sample and line to subpixel values if possible.
Error occured in Adaptive algorithm.
double MinimumZScore() const
Return minimumPatternZScore.
int p_windowSize
Surface model window size.
Success registering to sub-pixel accuracy.
virtual Pvl AlgorithmStatistics(Pvl &pvl)
Provide (adaptive) algorithms a chance to report results.
int ReductionFactor()
Return the reduction factor.
double p_distanceTolerance
Maximum distance the surface model solution may be from the best whole pixel fit in the fit chip...
double p_patternValidPercent
Percentage of data in pattern chip that must be valid.
double p_tolerance
Tolerance for acceptable goodness of fit in match algorithm.
int p_bestSamp
Sample value of best fit.
Success registering to whole pixel.
int p_subpixelSuccesses
Registration statistics Success keyword.
void SetChipSample(double sample)
Sets the search chip subpixel sample that matches the pattern tack sample.
Chip p_reducedFitChip
Fit Chip with reduction factor.
void SetSurfaceModelDistanceTolerance(double distance)
Set a distance the surface model solution is allowed to move away from the best whole pixel fit in th...
A small chip of data used for pattern matching.
PvlGroup RegTemplate()
This function returns the keywords that this object was created from.
int p_reduceFactor
Reduction factor.
Chip * RegistrationSearchChip()
Return pointer to search chip used in registration.
Not enough valid data in pattern chip.
Isis::AutoReg::RegisterStatus p_registrationStatus
Registration status to be returned by Register().
Not enough points to fit a surface model for sub-pixel accuracy.
void SetPatternValidPercent(const double percent)
Set the amount of data in the pattern chip that must be valid.
Chip * RegistrationPatternChip()
Return pointer to pattern chip used in registration.
Surface model moves registration more than one pixel.
double p_sampMovement
The number of samples the point moved.
void SetPatternZScoreMinimum(double minimum)
Set the minimum pattern zscore.
double DistanceTolerance() const
Return distance tolerance.
virtual QString AlgorithmName() const =0
Returns the name of the algorithm.
void Parse(Pvl &pvl)
Initialize parameters in the AutoReg class using a PVL specification.
bool IsIdeal(double fit)
Returns true if the fit parameter is arbitrarily close to the ideal fit value.
void SetSurfaceModelWindowSize(int size)
Set the surface model window size.
AutoReg::RegisterStatus Register()
Walk the pattern chip through the search chip to find the best registration.
default, no gradient filter
Chip * SearchChip()
Return pointer to search chip.
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...
double GoodnessOfFit() const
Return the goodness of fit of the match algorithm.
int p_fitChipToleranceNotMetCount
Registration statistics FitChipToleranceNotMet keyword.
double p_zScoreMax
Second Z-Score of pattern chip.
double p_minimumPatternZScore
Minimum pattern Z-Score.
double p_cubeLine
Cube line.
Chip p_fitChip
Results from MatchAlgorithm() method.
Chip p_reducedSearchChip
Search Chip with reduction factor.
Chip p_searchChip
Chip to be searched for best registration.
double CubeSample() const
Return the search chip cube sample that best matched.
void ZScores(double &score1, double &score2) const
Return the ZScores of the pattern chip.
void SetGradientFilterType(const QString &gradientFilterType)
Set the gradient filter type to be applied to the search and pattern chips.
AutoReg(Pvl &pvl)
Create AutoReg object.
int p_patternZScoreNotMetCount
Registration statistics PatternZScoreNotMet keyword.
int p_fitChipNoDataCount
Registration statistics FitChipNoData keyword.
double ChipLine() const
Return the search chip line that best matched.
void SetGoodnessOfFit(double fit)
Sets the goodness of fit for adaptive algorithms.
void SetSubPixelAccuracy(bool on)
If the sub-pixel accuracy is enabled, the Register() method will attempt to match the pattern chip to...
double Tolerance() const
Return match algorithm tolerance.
AutoReg::GradientFilterType p_gradientFilterType
Type of gradient filter to use before matching.
virtual double MostLenientTolerance()
Minimum tolerance specific to algorithm.
Contains multiple PvlContainers.
Chip * PatternChip()
Return pointer to pattern chip.
int p_surfaceModelDistanceInvalidCount
Registration statistics SurfaceModelDistanceInvalid keyword.
void SobelGradient(Buffer &in, double &v)
Compute a Sobel gradient based on an input buffer.
virtual double MatchAlgorithm(Chip &pattern, Chip &subsearch)=0
Given two identically sized chips return a double that indicates how well they match.
void SetReductionFactor(int reductionFactor)
Set the reduction factor used to speed up the pattern matching algorithm.
Chip p_gradientPatternChip
Chip to be matched with gradient applied.
bool SubPixelAccuracy()
Return whether this object will attempt to register to whole or sub-pixel accuracy.
double CubeLine() const
Return the search chip cube line that best matched.
double PatternValidPercent() const
Return pattern chip valid percent. The default value is.
double ChipSample() const
Return the search chip sample that best matched.
void SetChipLine(double line)
Sets the search chip subpixel line that matches the pattern tack line.
bool Success() const
Return whether the match algorithm succeeded or not.
Fit chip did not have any valid data.
double p_chipSample
Chip sample.
Chip * ReducedFitChip()
Return pointer to reduced fit chip.
void SetTolerance(double tolerance)
Set the tolerance for an acceptable goodness of fit.
Container for cube-like labels.
int p_totalRegistrations
Registration Statistics Total keyword.
Chip Reduce(Chip &chip, int reductionFactor)
This method reduces the given chip by the given reduction factor.
Chip * ReducedSearchChip()
Return pointer to reduced search chip.
int p_surfaceModelNotEnoughValidDataCount
Registration statistics SurfaceModelNotEnoughValidData keyword.
PvlGroup UpdatedTemplate()
Returns a PvlGroup containing the PvlKeywords of the parameters this object was most recently run wit...
double p_chipLine
Chip line.
void ApplyGradientFilter(Chip &chip)
Run a gradient filter over the chip.
virtual double IdealFit() const =0
Returns the ideal (perfect) fit that could be returned by the MatchAlgorithm.
Goodness of fit tolerance not satisfied.
void SetChipInterpolator(const QString &interpolator)
Sets the Chip class interpolator type to be used to load pattern and search chips.
Chip p_reducedPatternChip
Pattern Chip with reduction factor.
Pvl RegistrationStatistics()
This returns the cumulative registration statistics.
RegisterStatus
Enumeration of the Register() method's return status.
void Distance(double &sampDistance, double &lineDistance)
Return the distance point moved.
PvlObject p_template
AutoRegistration object that created this projection.
Namespace for ISIS/Bullet specific routines.
bool ComputeChipZScore(Chip &chip)
This method computes the given Chip's Z-Score.
GradientFilterType
Enumeration of the different types of gradient filters that can be applied to the pattern and search ...
double SubsearchValidPercent() const
Return subsearch chip valid percent.
double p_goodnessOfFit
Goodness of fit of the match algorithm.
Chip * FitChip()
Return pointer to fit chip.
int p_patternChipNotEnoughValidDataCount
Registration statistics PatternNotEnoughValidData keyword.
Chip p_patternChip
Chip to be matched.
Could not model surface for sub-pixel accuracy.
Pattern data max or min does not pass the z-score test.
int p_pixelSuccesses
Registration statistics Success keyword.
double p_zScoreMin
First Z-Score of pattern chip.
double p_cubeSample
Cube sample.
Contains Pvl Groups and Pvl Objects.
double WindowSize() const
Return window size.
double p_subsearchValidPercent
Percentage of data in subsearch 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 Match(Chip &sChip, Chip &pChip, Chip &fChip, int startSamp, int endSamp, int startLine, int endLine)
Empty copy constructor.
double p_lineMovement
The number of lines the point moved.
Chip * ReducedPatternChip()
Return pointer to reduced pattern chip.
double p_bestFit
Goodness of fit for adaptive algorithms.
bool p_subpixelAccuracy
Indicates whether sub-pixel accuracy is enabled. Default is true.
int p_bestLine
Line value of best fit.
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...
int p_surfaceModelSolutionInvalidCount
Registration statistics SurfaceModelSolutionInvalid keyword.
virtual ~AutoReg()
Destroy AutoReg object.