Isis 3.0 Object Programmers' Reference
Home
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
MinimumDifference.cpp
Go to the documentation of this file.
1
24
#include "
MinimumDifference.h
"
25
#include "
Chip.h
"
26
27
namespace
Isis {
28
47
double
MinimumDifference::MatchAlgorithm
(
Chip
&pattern,
Chip
&subsearch) {
48
// calculate the sampling information
49
50
double
diff = 0.0;
51
double
count = 0;
52
for
(
double
l = 1.0; l <= pattern.
Lines
(); l++) {
53
for
(
double
s = 1.0; s <= pattern.
Samples
(); s++) {
54
int
line = (int)l;
55
int
samp = (int)s;
56
57
double
pdn = pattern.
GetValue
(samp, line);
58
double
sdn = subsearch.
GetValue
(samp, line);
59
if
(
IsSpecial
(pdn))
continue
;
60
if
(
IsSpecial
(sdn))
continue
;
61
diff += fabs(pdn - sdn);
62
count++;
63
}
64
}
65
66
return
diff / count;
67
}
68
76
bool
MinimumDifference::CompareFits
(
double
fit1,
double
fit2) {
77
return
(fit1 <= fit2);
78
}
79
}
80
81
extern
"C"
Isis::AutoReg
*MinimumDifferencePlugin(
Isis::Pvl
&pvl) {
82
return
new
Isis::MinimumDifference
(pvl);
83
}
84