USGS

Isis 3.0 Object Programmers' Reference

Home

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