35 #include <gsl/gsl_rng.h>
73 return (m_gruen->PatternChip());
79 return (m_gruen->SearchChip());
85 return (m_gruen->FitChip());
92 const double &minEV,
const double &maxEV);
120 std::auto_ptr<Gruen> m_gruen;
124 const gsl_rng_type * T;
127 void randomNumberSetup();
128 bool validate(
const bool &throwError =
true)
const;
130 inline Camera &lhCamera() {
return (*m_lhCube->
camera()); }
131 inline Camera &rhCamera() {
return (*m_rhCube->
camera()); }
133 Coordinate getLineSample(Camera &camera,
const Coordinate &geom);
134 Coordinate getLatLon(Camera &camera,
const Coordinate &pnt);
136 bool inCube(
const Camera &camera,
const Coordinate &point)
const;
138 SmtkPoint makeRegisteredPoint(
const PointGeometry &left,
139 const PointGeometry &right, Gruen *gruen);
long long int BigInt
Definition: Constants.h:63
Pvl RegistrationStatistics()
Return Gruen registration statistics.
Definition: SmtkMatcher.h:112
SmtkPoint Clone(const SmtkPoint &point, const Coordinate &left)
Clone a point set from a nearby (left image) point and Gruen affine.
Definition: SmtkMatcher.cpp:482
SmtkQStackIter FindExpDistEV(SmtkQStack &stack, const double &seedsample, const double &minEV, const double &maxEV)
Find the best eigen value using exponential distribution formula.
Definition: SmtkMatcher.cpp:197
SmtkQStack::iterator SmtkQStackIter
Definition: SmtkStack.h:36
Chip * SearchChip() const
Return search chip.
Definition: SmtkMatcher.h:77
Define a generic Y/X container.
Definition: GruenTypes.h:69
Camera * camera()
Return a camera associated with the cube.
Definition: Cube.cpp:1118
A small chip of data used for pattern matching.
Definition: Chip.h:101
void setImages(Cube *lhImage, Cube *rhImage)
Assign cubes for matching.
Definition: SmtkMatcher.cpp:75
Chip * FitChip() const
Returns the fit chip.
Definition: SmtkMatcher.h:83
SmtkPoint Create(const Coordinate &left, const Coordinate &right)
Create a valid, unregistered SmtkPoint.
Definition: SmtkMatcher.cpp:442
Define a point set of left, right and geometry at that location.
Definition: GruenTypes.h:187
SmtkMatcher()
Construct default matcher.
Definition: SmtkMatcher.cpp:40
Container for a point and its geometry.
Definition: SmtkPoint.h:41
void setGruenDef(const QString ®def)
Initialize Gruen algorithm with definitions in Pvl file provided.
Definition: SmtkMatcher.cpp:93
Chip * PatternChip() const
Return pattern chip.
Definition: SmtkMatcher.h:71
Contains multiple PvlContainers.
Definition: PvlGroup.h:57
Container for cube-like labels.
Definition: Pvl.h:135
Container for affine and radiometric parameters.
Definition: GruenTypes.h:258
SmtkPoint Register(const Coordinate &lpnt, const AffineRadio &affrad=AffineRadio())
This method takes a sample, line from the left-hand image and tries to find the matching point in the...
Definition: SmtkMatcher.cpp:265
SmtkQStackIter FindSmallestEV(SmtkQStack &stack)
Find the smallest eigen value on the given stack.
Definition: SmtkMatcher.cpp:164
BigInt OffImageErrorCount() const
Definition: SmtkMatcher.h:106
void setWriteSubsearchChipPattern(const QString &fileptrn="SmtkMatcher")
Set file pattern for output subsearch chips.
Definition: SmtkMatcher.cpp:147
PvlGroup RegTemplate()
Return Gruen template parameters.
Definition: SmtkMatcher.h:110
Workhorse of stereo matcher.
Definition: SmtkMatcher.h:56
BigInt SpiceErrorCount() const
Definition: SmtkMatcher.h:107
~SmtkMatcher()
Free random number generator in destructor.
Definition: SmtkMatcher.cpp:69
Definition: ControlCubeGraphNode.h:28
Container for SMTK match points.
Definition: SmtkPoint.h:71
bool isValid(const Coordinate &pnt)
Determine if a point is valid in both left/right images.
Definition: SmtkMatcher.cpp:116
IO Handler for Isis Cubes.
Definition: Cube.h:158