30 #include <QSharedPointer> 36 #include <gsl/gsl_rng.h> 78 return (m_gruen->PatternChip());
84 return (m_gruen->SearchChip());
90 return (m_gruen->FitChip());
97 const double &minEV,
const double &maxEV);
111 inline BigInt OffImageErrorCount()
const {
return (m_offImage); }
112 inline BigInt SpiceErrorCount()
const {
return (m_spiceErr); }
129 const gsl_rng_type * T;
133 bool validate(
const bool &throwError =
true)
const;
135 inline Camera &lhCamera() {
return (*m_lhCube->
camera()); }
136 inline Camera &rhCamera() {
return (*m_rhCube->
camera()); }
138 Coordinate
getLineSample(Camera &camera,
const Coordinate &geom);
139 Coordinate
getLatLon(Camera &camera,
const Coordinate &pnt);
141 bool inCube(
const Camera &camera,
const Coordinate &point)
const;
144 const PointGeometry &right, Gruen *gruen);
long long int BigInt
Big int.
Pvl RegistrationStatistics()
Return Gruen registration statistics.
SmtkPoint Clone(const SmtkPoint &point, const Coordinate &left)
Clone a point set from a nearby (left image) point and Gruen affine.
SmtkQStackIter FindExpDistEV(SmtkQStack &stack, const double &seedsample, const double &minEV, const double &maxEV)
Find the best eigen value using exponential distribution formula.
Define a generic Y/X container.
Camera * camera()
Return a camera associated with the cube.
A small chip of data used for pattern matching.
bool validate(const bool &throwError=true) const
Validates the state of the Camera and Gruen algoritm.
void setImages(Cube *lhImage, Cube *rhImage)
Assign cubes for matching.
SmtkPoint Create(const Coordinate &left, const Coordinate &right)
Create a valid, unregistered SmtkPoint.
Define a point set of left, right and geometry at that location.
SmtkMatcher()
Construct default matcher.
Coordinate getLineSample(Camera &camera, const Coordinate &geom)
Compute line,sample from latitude, longitude.
Container for a point and its geometry.
SmtkPoint makeRegisteredPoint(const PointGeometry &left, const PointGeometry &right, Gruen *gruen)
Create an SmtkPoint from Gruen match result.
void setGruenDef(const QString ®def)
Initialize Gruen algorithm with definitions in Pvl file provided.
bool inCube(const Camera &camera, const Coordinate &point) const
Determines if the line/sample is within physical cube boundaries.
Contains multiple PvlContainers.
Chip * PatternChip() const
Return pattern chip.
Coordinate getLatLon(Camera &camera, const Coordinate &pnt)
Compute latitude, longitude from line,sample.
Chip * SearchChip() const
Return search chip.
Chip * FitChip() const
Returns the fit chip.
Container for cube-like labels.
Container for affine and radiometric parameters.
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...
SmtkQStackIter FindSmallestEV(SmtkQStack &stack)
Find the smallest eigen value on the given stack.
void setWriteSubsearchChipPattern(const QString &fileptrn="SmtkMatcher")
Set file pattern for output subsearch chips.
Namespace for ISIS/Bullet specific routines.
PvlGroup RegTemplate()
Return Gruen template parameters.
Workhorse of stereo matcher.
~SmtkMatcher()
Free random number generator in destructor.
void randomNumberSetup()
Initialize the random number generator.
Container for SMTK match points
bool isValid(const Coordinate &pnt)
Determine if a point is valid in both left/right images.
IO Handler for Isis Cubes.