|
Isis Developer Reference
|
Go to the documentation of this file. 1 #ifndef InterestOperator_h
2 #define InterestOperator_h
20 #include "geos/geom/Point.h"
21 #include "geos/geom/Coordinate.h"
22 #include "geos/geom/MultiPolygon.h"
23 #include "geos/util/GEOSException.h"
132 void Operate(
ControlNet &pNewNet, QString psSerialNumFile, QString psOverlapListFile =
"");
203 double p_cubeSample, p_cubeLine;
204 double p_minimumInterest;
209 int p_deltaSamp, p_deltaLine, p_lines, p_samples;
227 InterestResults *mtInterestResults;
Isis::PvlGroup Operator()
Return the Operator name.
Definition: InterestOperator.cpp:975
bool isValid()
Definition: MeasureValidationResults.cpp:37
ControlNetValidMeasure class.
Definition: ControlNetValidMeasure.h:75
double p_interestAmount
Definition: InterestOperator.h:195
void SetPatternReduction(std::vector< int > samples, std::vector< int > lines)
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes.
Definition: PvlObject.h:129
virtual QString fileName() const
Returns the opened cube's filename.
Definition: Cube.cpp:1563
Universal Ground Map.
Definition: UniversalGroundMap.h:69
InterestOperator(Pvl &pPvl)
Create InterestOperator object.
Definition: InterestOperator.cpp:36
void ProcessLocked_Point_Reference(ControlPoint &pCPoint, PvlObject &pPvlObj, int &piMeasuresModified)
Process (Validate and Log) Point with Lock or with Referemce Measure Locked.
Definition: InterestOperator.cpp:278
Contains Pvl Groups and Pvl Objects.
Definition: PvlObject.h:61
virtual double Interest(Chip &subCube)=0
Calculate the interest.
Individual overlap container.
Definition: ImageOverlap.h:40
Buffer for containing a two dimensional section of an image.
Definition: Portal.h:36
void CheckStatus()
Checks and updates the status.
Definition: Progress.cpp:105
A single keyword-value pair.
Definition: PvlKeyword.h:82
double mdEmissionAngle
Store current Measure's Emission Angle.
Definition: ControlNetValidMeasure.h:272
const ControlMeasure * GetMeasure(QString serialNumber) const
Get a control measure based on its cube's serial number.
Definition: ControlPoint.cpp:416
Status SetIgnored(bool newIgnoreStatus)
Set whether to ignore or use control point.
Definition: ControlPoint.cpp:653
void SetClipPolygon(const geos::geom::MultiPolygon &clipPolygon)
Set the Clip Polygon for points to be contained in the overlaps.
Definition: InterestOperator.cpp:952
void addGroup(Isis::PvlObject &obj)
Definition: InterestOperator.cpp:940
virtual bool SetImage(const double sample, const double line)
Sets the sample/line values of the image to get the lat/lon values.
Definition: Camera.cpp:154
virtual int Padding()
Sets an offset to pass in larger chips if operator requires it This is used to offset the subchip siz...
Definition: InterestOperator.cpp:964
@ Reference
Definition: ControlPoint.h:444
void read(Blob &blob, const std::vector< PvlKeyword > keywords=std::vector< PvlKeyword >()) const
This method will read data from the specified Blob object.
Definition: Cube.cpp:807
int Size() const
Definition: ImageOverlap.h:56
void SetMaximumSteps(const int steps)
This sets the maximum number of steps in the process.
Definition: Progress.cpp:85
double CubeLine() const
Return the search chip cube line that best matched.
Definition: InterestOperator.h:150
virtual double Sample() const
Returns the current sample number.
Definition: Camera.cpp:2690
void TackCube(const double cubeSample, const double cubeLine)
This sets which cube position will be located at the chip tack position.
Definition: Chip.cpp:182
bool HasSerialNumber(QString &sn) const
This method will return true if input serial number exists in the ImageOverlap.
Definition: ImageOverlap.cpp:207
void SetPatternValidPercent(const double percent)
Progress mStatus
Monitor the status of the app.
Definition: ControlNetValidMeasure.h:288
int GetNumMeasures() const
Definition: ControlPoint.cpp:1702
void SetPatternSampling(const double percent)
virtual bool CompareInterests(double int1, double int2)
Compare for int1 greater than / equal to int2.
Definition: InterestOperator.cpp:934
void FindCnetRef(ControlNet &pNewNet)
Find best ref for an entire control net by calculating the interest and moving point to a better inte...
Definition: InterestOperator.cpp:371
const geos::geom::MultiPolygon * FindOverlap(Isis::ControlPoint &pCnetPoint)
Find if a point is in the overlap.
Definition: InterestOperator.cpp:846
SurfacePointSource::Source GetAprioriSurfacePointSource() const
Definition: ControlPoint.cpp:1682
Container for cube-like labels.
Definition: Pvl.h:119
CubeManager mCubeMgr
CubeManager to open and read cubes.
Definition: ControlNetValidMeasure.h:289
bool IsEditLocked() const
Definition: ControlPoint.cpp:1272
Create cube polygons, read/write polygons to blobs.
Definition: ImagePolygon.h:153
void SetTolerance(double tolerance)
QString GetId() const
Return the Id of the control point.
Definition: ControlPoint.cpp:1306
double CubeSample() const
Definition: Chip.h:203
@ Candidate
(e.g., autoseed, interest) AKA predicted, unmeasured, unverified
Definition: ControlMeasure.h:208
Status SetDateTime()
Date Time - Creation Time.
Definition: ControlMeasure.cpp:247
Chip Extract(int samples, int lines, int samp, int line)
Extract a sub-chip from a chip.
Definition: Chip.cpp:727
double CubeSample() const
Return the search chip cube sample that best matched.
Definition: InterestOperator.h:145
double InterestAmount() const
Return the Interest Amount.
Definition: InterestOperator.h:135
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
Definition: IString.cpp:211
geos::geom::MultiPolygon * p_clipPolygon
Clipping polygon set by SetClipPolygon (line,samp)
Definition: InterestOperator.h:198
void InitInterestResults(int piIndex)
Init Interest Results structure.
Definition: InterestOperator.cpp:128
MeasureValidationResults class.
Definition: MeasureValidationResults.h:29
bool IsIgnored() const
Definition: ControlMeasure.cpp:630
Cube * OpenCube(const QString &cubeFileName)
This method opens a cube.
Definition: CubeManager.cpp:95
void Load(Cube &cube, const double rotation=0.0, const double scale=1.0, const int band=1)
Load cube data into the Chip.
Definition: Chip.cpp:203
@ Traverse
Search child objects.
Definition: PvlObject.h:158
virtual ~InterestOperator()
Destroy InterestOperator object.
Definition: InterestOperator.cpp:61
double CubeLine() const
Definition: Chip.h:210
QString GetCubeSerialNumber() const
Return the serial number of the cube containing the coordinate.
Definition: ControlMeasure.cpp:557
PvlGroup mStatisticsGrp
Pvl output Statistics Group.
Definition: ControlNetValidMeasure.h:286
A single control point.
Definition: ControlPoint.h:354
void InitInterestOptions()
Initialise Interest Options to defaults.
Definition: InterestOperator.cpp:47
@ Fixed
A Fixed point is a Control Point whose lat/lon is well established and should not be changed.
Definition: ControlPoint.h:371
bool InCube()
This returns true if the current Sample() or Line() value is outside of the cube (meaning the point m...
Definition: Camera.cpp:2619
SerialNumberList mSerialNumbers
Serial numbers list.
Definition: ControlNetValidMeasure.h:290
int GetNumPoints() const
Return the number of control points in the network.
Definition: ControlNet.cpp:1465
Status SetRefMeasure(ControlMeasure *cm)
Set the point's reference measure.
Definition: ControlPoint.cpp:570
Contains multiple PvlContainers.
Definition: PvlGroup.h:41
virtual double UniversalLongitude() const
Returns the positive east, 0-360 domain longitude, in degrees, at the surface intersection point in t...
Definition: Sensor.cpp:233
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
int InterestByPoint(ControlPoint &pCnetPoint)
Calculate interest for a Control Point.
Definition: InterestOperator.cpp:657
This class is used to find the overlaps between all the images in a list of serial numbers.
Definition: ImageOverlapSet.h:86
int Size()
Returns the total number of latitude and longitude overlaps.
Definition: ImageOverlapSet.h:103
QString LocationString(double pdSample, double pdLine) const
API to display location in the form "Sample,Line".
Definition: ControlNetValidMeasure.h:172
bool HasCamera()
Returns whether the ground map has a camera or not.
Definition: UniversalGroundMap.h:126
int GetNumLockedMeasures() const
Returns the number of locked control measures.
Definition: ControlPoint.cpp:1728
Status SetIgnored(bool newIgnoredStatus)
Definition: ControlMeasure.cpp:350
@ Constrained
A Constrained point is a Control Point whose lat/lon/radius is somewhat established and should not be...
Definition: ControlPoint.h:376
void SetText(const QString &text)
Changes the value of the text string reported just before 0% processed.
Definition: Progress.cpp:61
Status SetChooserName()
Set chooser name to a user who last changed the coordinate.
Definition: ControlMeasure.cpp:196
virtual bool SetUniversalGround(const double latitude, const double longitude)
Sets the lat/lon values to get the sample/line values.
Definition: Camera.cpp:380
bool IsEditLocked() const
Return value for p_editLock or implicit lock on reference measure.
Definition: ControlMeasure.cpp:601
int IndexOfRefMeasure() const
Definition: ControlPoint.cpp:1817
double GetSample() const
Definition: ControlMeasure.cpp:723
QString fileName() const
Returns the filename used to initialise the Pvl object.
Definition: PvlContainer.h:232
MeasureValidationResults ValidStandardOptions(const ControlMeasure *pMeasure, Cube *pCube, PvlGroup *pMeasureGrp=NULL)
Validate Standard options to pick a reference based on a particular criteria.
Definition: ControlNetValidMeasure.cpp:365
a control network
Definition: ControlNet.h:257
IO Handler for Isis Cubes.
Definition: Cube.h:167
double mdIncidenceAngle
Store current Measure's Incidence Angle.
Definition: ControlNetValidMeasure.h:273
Isis exception class.
Definition: IException.h:91
Isis::PvlGroup mOperatorGrp
Operator group that created this projection.
Definition: InterestOperator.h:200
virtual double IncidenceAngle() const
Returns the incidence angle in degrees.
Definition: Sensor.cpp:335
const double Null
Value for an Isis Null pixel.
Definition: SpecialPixel.h:95
double WorstInterest() const
Return the Worst(least value) Interest.
Definition: InterestOperator.h:140
void ReadSerialNumbers(QString psSerialNumfile)
Read the Serial Numbers from the file and open assocaited cubes.
Definition: ControlNetValidMeasure.cpp:136
void addGroup(const Isis::PvlGroup &group)
Add a group to the object.
Definition: PvlObject.h:186
Camera * camera()
Return a camera associated with the cube.
Definition: Cube.cpp:1451
double p_worstInterest
Definition: InterestOperator.h:195
QString operatorName() const
Return name of the matching operator.
Definition: InterestOperator.h:124
const double ValidMinimum
The minimum valid double value for Isis pixels.
Definition: SpecialPixel.h:87
@ Programmer
This error is for when a programmer made an API call that was illegal.
Definition: IException.h:146
double mdResolution
Store current Measure's Resolution.
Definition: ControlNetValidMeasure.h:274
const ControlMeasure * GetRefMeasure() const
Get the reference control measure.
Definition: ControlPoint.cpp:457
PixelType pixelType() const
Definition: Cube.cpp:1758
double mdDnValue
Store current Measure's DN Value.
Definition: ControlNetValidMeasure.h:275
Pvl mPvlLog
Pvl Log of all the processing.
Definition: ControlNetValidMeasure.h:287
virtual double PixelResolution()
Returns the pixel resolution at the current position in meters/pixel.
Definition: Camera.cpp:670
@ Free
A Free point is a Control Point that identifies common measurements between two or more cubes.
Definition: ControlPoint.h:384
A small chip of data used for pattern matching.
Definition: Chip.h:86
double GetLine() const
Definition: ControlMeasure.cpp:690
bool IsIgnored() const
Definition: ControlPoint.cpp:1311
PointType GetType() const
Definition: ControlPoint.cpp:1401
bool SetImage(double sample, double line)
Returns whether the sample/line postion was set successfully in the camera model or projection.
Definition: UniversalGroundMap.cpp:233
void SetSearchSampling(const double percent)
Status SetType(MeasureType type)
Set how the coordinate was obtained.
Definition: ControlMeasure.cpp:420
void ReadImageOverlaps(const QString &filename)
Create polygons of overlap from the file specified.
Definition: ImageOverlapSet.cpp:327
virtual double EmissionAngle() const
Returns the emission angle in degrees.
Definition: Sensor.cpp:324
QString fileName(const QString &sn)
Return a filename given a serial number.
Definition: SerialNumberList.cpp:399
virtual double Line() const
Returns the current line number.
Definition: Camera.cpp:2710
void SetChipPosition(const double sample, const double line)
Compute the position of the cube given a chip coordinate.
Definition: Chip.cpp:643
QString toString()
Definition: MeasureValidationResults.cpp:47
void SetClipPolygon(const geos::geom::MultiPolygon &clipPolygon)
Sets the clipping polygon for this chip.
Definition: Chip.cpp:1008
void SetPosition(const double sample, const double line, const int band)
Sets the line and sample position of the buffer.
Definition: Portal.h:93
const ControlPoint * GetPoint(QString pointId) const
Definition: ControlNet.cpp:1815
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
bool Operate(Cube &pCube, UniversalGroundMap &pUnivGrndMap, int piSample, int piLine)
Operate used by the app interestcube- to calculate interest by sample,line.
Definition: InterestOperator.cpp:163
Interest Operator class.
Definition: InterestOperator.h:109
void Parse(Pvl &pPvl)
Parse the Interest specific keywords.
Definition: InterestOperator.cpp:91
const geos::geom::MultiPolygon * FindOverlapByImageFootPrint(Isis::ControlPoint &pCnetPoint)
Find imageoverlaps by finding the intersection of image footprints.
Definition: InterestOperator.cpp:896
Status SetCoordinate(double sample, double line)
Set the coordinate of the measurement.
Definition: ControlMeasure.cpp:219
@ User
A type of error that could only have occurred due to a mistake on the user's part (e....
Definition: IException.h:126
virtual double UniversalLatitude() const
Returns the planetocentric latitude, in degrees, at the surface intersection point in the body fixed ...
Definition: Sensor.cpp:210
bool InterestByMeasure(int piMeasure, Isis::ControlMeasure &pCnetMeasure, Isis::Cube &pCube)
Calculate interest for a measure by index.
Definition: InterestOperator.cpp:728
a control measurement
Definition: ControlMeasure.h:175