Isis Developer Reference
MinimumDifference.h
Go to the documentation of this file.
1#ifndef MinimumDifference_h
2#define MinimumDifference_h
8/* SPDX-License-Identifier: CC0-1.0 */
9
10#include "AutoReg.h"
11
12namespace Isis {
13 class Pvl;
14 class Chip;
15
41 class MinimumDifference : public AutoReg {
42 public:
53 MinimumDifference(Pvl &pvl) : AutoReg(pvl) { };
54
56 virtual ~MinimumDifference() {};
57
61 virtual double MostLenientTolerance() {
62 return DBL_MAX;
63 }
64
65 protected:
66 virtual double MatchAlgorithm(Chip &pattern, Chip &subsearch);
67 virtual bool CompareFits(double fit1, double fit2);
68 virtual double IdealFit() const {
69 return 0.0;
70 };
71 virtual QString AlgorithmName() const {
72 return "MinimumDifference";
73 };
74
75 };
76};
77
78#endif
Auto Registration class.
Definition AutoReg.h:167
A small chip of data used for pattern matching.
Definition Chip.h:86
Minimum difference pattern matching.
Definition MinimumDifference.h:41
virtual ~MinimumDifference()
Destructor.
Definition MinimumDifference.h:56
virtual QString AlgorithmName() const
Returns the name of the algorithm.
Definition MinimumDifference.h:71
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.
Definition MinimumDifference.cpp:60
virtual double IdealFit() const
Returns the ideal (perfect) fit that could be returned by the MatchAlgorithm.
Definition MinimumDifference.h:68
virtual double MatchAlgorithm(Chip &pattern, Chip &subsearch)
Minimum difference match algorithm.
Definition MinimumDifference.cpp:31
virtual double MostLenientTolerance()
Minimum tolerance specific to algorithm.
Definition MinimumDifference.h:61
MinimumDifference(Pvl &pvl)
Construct a MinimumDifference search algorithm.
Definition MinimumDifference.h:53
Container for cube-like labels.
Definition Pvl.h:119
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16