1 #ifndef InterestOperator_h 2 #define InterestOperator_h 34 #include "geos/geom/Point.h" 35 #include "geos/geom/Coordinate.h" 36 #include "geos/geom/MultiPolygon.h" 37 #include "geos/util/GEOSException.h" 131 void SetPatternValidPercent(
const double percent);
132 void SetPatternSampling(
const double percent);
133 void SetSearchSampling(
const double percent);
134 void SetTolerance(
double tolerance);
135 void SetPatternReduction(std::vector<int> samples, std::vector<int> lines);
146 void Operate(
ControlNet &pNewNet, QString psSerialNumFile, QString psOverlapListFile =
"");
150 return p_interestAmount;
155 return p_worstInterest;
209 double p_worstInterest, p_interestAmount;
InterestOperator(Pvl &pPvl)
Create InterestOperator object.
const geos::geom::MultiPolygon * FindOverlapByImageFootPrint(Isis::ControlPoint &pCnetPoint)
Find imageoverlaps by finding the intersection of image footprints.
void Parse(Pvl &pPvl)
Parse the Interest specific keywords.
int p_deltaSamp
Specified in the Pvl Operator group for the box car size.
QString operatorName() const
Return name of the matching operator.
geos::geom::MultiPolygon * p_clipPolygon
Clipping polygon set by SetClipPolygon (line,samp)
bool InterestByMeasure(int piMeasure, Isis::ControlMeasure &pCnetMeasure, Isis::Cube &pCube)
Calculate interest for a measure by index.
A small chip of data used for pattern matching.
Structure to hold Interest Results.
bool mbOverlaps
If Overlaplist exists.
int InterestByPoint(ControlPoint &pCnetPoint)
Calculate interest for a Control Point.
Isis::PvlGroup mOperatorGrp
Operator group that created this projection.
int miDeltaSample
The number of Samples the point has been moved.
double InterestAmount() const
Return the Interest Amount.
This class is used to find the overlaps between all the images in a list of serial numbers...
virtual ~InterestOperator()
Destroy InterestOperator object.
QString msSerialNum
Serial Number of the Measure.
double mdResolution
Camera resolution at most interesting sample,line.
bool mbValid
Value of the interest operator result (success)
double mdIncidence
Incidence angle at most interesting sample,line.
const geos::geom::MultiPolygon * FindOverlap(Isis::ControlPoint &pCnetPoint)
Find if a point is in the overlap.
double mdBestLine
Most interesting line.
double mdInterest
Resulting interest amt from InterestOperator.
double mdDn
Cube DN value at most interesting sample,line.
Isis::ImageOverlapSet mOverlaps
Holds the overlaps from the Overlaplist.
int miDeltaLine
The number of Lines the point has been moved.
void FindCnetRef(ControlNet &pNewNet)
Find best ref for an entire control net by calculating the interest and moving point to a better inte...
Contains multiple PvlContainers.
Isis::PvlGroup Operator()
Return the Operator name.
virtual int Padding()
Sets an offset to pass in larger chips if operator requires it This is used to offset the subchip siz...
InterestResults * mtInterestResults
Holds the results of an interest computation.
void InitInterestResults(int piIndex)
Init Interest Results structure.
Container for cube-like labels.
void InitInterestOptions()
Initialise Interest Options to defaults.
virtual double Interest(Chip &subCube)=0
Calculate the interest.
double WorstInterest() const
Return the Worst(least value) Interest.
double p_cubeLine
Point in a cube from a chip perspective.
double CubeLine() const
Return the search chip cube line that best matched.
void SetClipPolygon(const geos::geom::MultiPolygon &clipPolygon)
Set the Clip Polygon for points to be contained in the overlaps.
Namespace for ISIS/Bullet specific routines.
double p_minimumInterest
Specified in the Pvl Operator group.
double mdOrigLine
Control Measure's original line.
double mdEmission
Emission angle at most interesting sample,line.
double CubeSample() const
Return the search chip cube sample that best matched.
double mdBestSample
Most interesting sample.
void ProcessLocked_Point_Reference(ControlPoint &pCPoint, PvlObject &pPvlObj, int &piMeasuresModified)
Process (Validate and Log) Point with Lock or with Referemce Measure Locked.
bool Operate(Cube &pCube, UniversalGroundMap &pUnivGrndMap, int piSample, int piLine)
Operate used by the app interestcube- to calculate interest by sample,line.
Contains Pvl Groups and Pvl Objects.
double mdOrigSample
Control Measure's original sample.
ControlNetValidMeasure class.
virtual bool CompareInterests(double int1, double int2)
Compare for int1 greater than / equal to int2.
IO Handler for Isis Cubes.