USGS

Isis 3.0 Developer's Reference (API)

Home

Isis::GradientOperator Class Reference

Gradient interest operator. More...

#include <GradientOperator.h>

Inherits Isis::InterestOperator.

List of all members.

Public Member Functions

 GradientOperator (Pvl &pPvl)
virtual ~GradientOperator ()
void InitInterestOptions ()
 Initialise Interest Options to defaults.
void SetPatternValidPercent (const double percent)
void SetPatternSampling (const double percent)
void SetSearchSampling (const double percent)
void SetTolerance (double tolerance)
void SetPatternReduction (std::vector< int > samples, std::vector< int > lines)
QString operatorName () const
 Return name of the matching operator.
bool Operate (Cube &pCube, UniversalGroundMap &pUnivGrndMap, int piSample, int piLine)
 Operate used by the app interestcube- to calculate interest by sample,line.
void Operate (ControlNet &pNewNet, QString psSerialNumFile, QString psOverlapListFile="")
 Operate - to calculate interest for entire control net to get better reference.
double InterestAmount () const
 Return the Interest Amount.
double WorstInterest () const
 Return the Worst(least value) Interest.
double CubeSample () const
 Return the search chip cube sample that best matched.
double CubeLine () const
 Return the search chip cube line that best matched.
virtual bool CompareInterests (double int1, double int2)
 Compare for int1 greater than / equal to int2.
void addGroup (Isis::PvlObject &obj)
void SetClipPolygon (const geos::geom::MultiPolygon &clipPolygon)
 Set the Clip Polygon for points to be contained in the overlaps.
Isis::PvlGroup Operator ()
 Return the Operator name.
void InitStdOptions (void)
 Initialize the Standard Options.
void InitStdOptionsGroup (void)
 Initialize the Standard Options Pvl Group with no DefFile.
virtual PvlGetLogPvl (void)
 Get the Pvl Log file.
bool ValidEmissionAngle (double pdEmissionAngle)
 Validate whether the Emission Angle is in the set Range.
bool ValidIncidenceAngle (double pdIncidenceAngle)
 Validate whether the Incidence Angle is in the set Range.
bool ValidDnValue (double pdDnValue)
 Validate whether the DN Value is in the set Range.
bool ValidResolution (double pdResolution)
 Validate whether the Resolution is in the set Range.
bool ValidResidualTolerances (double pdSampleResidual, double pdLineResidual, double pdResidualMagnitude, MeasureValidationResults &pResults)
 Validate whether the Residuals are within the set Tolerance.
bool ValidShiftTolerances (double sampleShift, double lineShift, double pixelShift, MeasureValidationResults &results)
 Validate whether the Sample and Line Shifts and Pixel Shift are within the set Tolerances.
bool ValidLatLon (Isis::Camera *pCamera, int piSample, int piLine)
 Validate the Lat/Lon.
PvlGroupGetStdOptions (void)
 Get the Standard Options Pvl Group.
PvlGroupGetStatistics (void)
 Get the Statistics Pvl Grp.
double GetMinDN (void)
 Get the option MinDN.
double GetMaxDN (void)
 Get the option MaxDN.
double GetMinEmissionAngle (void)
 Get the option MinEmissionAngle.
double GetMaxEmissionAngle (void)
 Get the option MaxEmissionAngle.
double GetMinIncidenceAngle (void)
 Get the option MinIncidenceAngle.
double GetMaxIncidenceAngle (void)
 Get the option MaxIncidenceAngle.
double GetPixelsFromEdge (void)
 Get the option PixelsFromEdge.
double GetMetersFromEdge (void)
 Get the option MetersFromEdge.
QString LocationString (double pdSample, double pdLine) const
 API to display location in the form "Sample,Line".
bool PixelsFromEdge (int piSample, int piLine, Cube *pCube)
 Test for a point to be user defined number of pixels from the edge.
bool MetersFromEdge (int piSample, int piLine, Cube *pCube)
 Test for a point to be user defined number of meters from the edge.
MeasureValidationResults ValidStandardOptions (const ControlMeasure *pMeasure, Cube *pCube, PvlGroup *pMeasureGrp=NULL)
 Validate Standard options to pick a reference based on a particular criteria.
MeasureValidationResults ValidStandardOptions (const ControlMeasure *pMeasure, Cube *pCube, Camera *camera, PvlGroup *pMeasureGrp=NULL)
 Validate Standard options to pick a reference based on a particular criteria.
MeasureValidationResults ValidStandardOptions (double pSample, double pLine, const ControlMeasure *pMeasure, Cube *pCube, PvlGroup *pMeasureGrp=NULL)
 Validate Standard options to pick a reference based on a particular criteria.
MeasureValidationResults ValidStandardOptions (double pSample, double pLine, const ControlMeasure *pMeasure, Cube *pCube, Camera *measureCamera, PvlGroup *pMeasureGrp=NULL)
MeasureValidationResults ValidStandardOptions (double pSample, double pLine, Cube *pCube, PvlGroup *pMeasureGrp=NULL)
 Validate Standard options to pick a reference based on a particular criteria.
bool IsCubeRequired ()
bool IsCameraRequired ()
 API to get status of CameraRequired flag.

Protected Member Functions

virtual double Interest (Chip &chip)
 This method returns the amount of interest for the given chip.
void Parse (Pvl &pPvl)
 Parse the Interest specific keywords.
const geos::geom::MultiPolygon * FindOverlap (Isis::ControlPoint &pCnetPoint)
 Find if a point is in the overlap.
const geos::geom::MultiPolygon * FindOverlapByImageFootPrint (Isis::ControlPoint &pCnetPoint)
 Find imageoverlaps by finding the intersection of image footprints.
void FindCnetRef (ControlNet &pNewNet)
 Find best ref for an entire control net by calculating the interest and moving point to a better interest area.
void ProcessLocked_Point_Reference (ControlPoint &pCPoint, PvlObject &pPvlObj, int &piMeasuresModified)
 Process (Validate and Log) Point with Lock or with Referemce Measure Locked.
int InterestByPoint (ControlPoint &pCnetPoint)
 Calculate interest for a Control Point.
bool InterestByMeasure (int piMeasure, Isis::ControlMeasure &pCnetMeasure, Isis::Cube &pCube)
 Calculate interest for a measure by index.
void InitInterestResults (int piIndex)
 Init Interest Results structure.
virtual int Padding ()
 Sets an offset to pass in larger chips if operator requires it This is used to offset the subchip size passed into Interest.
void ValidatePvlDN (void)
 Validate PVL Min & Max DN Standard Options.
void ValidatePvlEmissionAngle (void)
 Validate PVL Min & Max EmissionAngle Standard Options.
void ValidatePvlIncidenceAngle (void)
 Validate PVL Min & Max IncidenceAngle Standard Options.
void ValidatePvlResolution (void)
 Validate PVL Min & Max Resolution Standard Options.
void ValidatePvlFromEdge (void)
 Validate and read Pixels and Meters from Edge Standard Options.
void ValidatePvlResidualTolerances (void)
 Validate Pvl Sample, Line, Residual Magnitude Tolerances.
void ValidatePvlShiftTolerances ()
 Validate Pvl Sample, Line, Pixel (Sample and Line) Magnitude Shift Tolerances.
void ReadSerialNumbers (QString psSerialNumfile)
 Read the Serial Numbers from the file and open assocaited cubes.
void SetCameraRequiredFlag (bool pbFlag)
 Set the CameraRequired Flag.

Protected Attributes

double p_worstInterest
double p_interestAmount
geos::geom::MultiPolygon * p_clipPolygon
 Clipping polygon set by SetClipPolygon (line,samp).
Isis::PvlGroup mOperatorGrp
 Operator group that created this projection.
double mdMinDN
 Standard Option MinDN.
double mdMaxDN
 Standard Option MaxDN.
double mdMinResolution
 Standard Option MinResolution.
double mdMaxResolution
 Standard Option MaxResolution.
double mdMinEmissionAngle
 Standard Option MinEmissionAngle.
double mdMaxEmissionAngle
 Standard Option MaxEmissionAngle.
double mdMinIncidenceAngle
 Standard Option MinIncidenceAngle.
double mdMaxIncidenceAngle
 Standard Option MaxIncidenceAngle.
double mdMetersFromEdge
 Standard Option MeteresFromEdge.
int miPixelsFromEdge
 Standard Option PixelsFromEdge.
double mdSampleResTolerance
 Standard Option Sample Residual.
double mdLineResTolerance
 Standard Option Line Residual.
double mdResidualTolerance
 Standard Option Residual Magnitude.
double m_sampleShiftTolerance
 Standard Option Sample Shift.
double m_lineShiftTolerance
 Standard Option Line Shift.
double m_pixelShiftTolerance
 Standard Option Pixel Shift.
double mdEmissionAngle
 Store current Measure's Emission Angle.
double mdIncidenceAngle
 Store current Measure's Incidence Angle.
double mdResolution
 Store current Measure's Resolution.
double mdDnValue
 Store current Measure's DN Value.
double mdSampleResidual
 Store current Measure's Sample Residual.
double mdLineResidual
 Store current Measure's Line Residual.
double mdResidualMagnitude
 Store current Measure's Residual Magnitude.
double m_sampleShift
 Store current Measure's Sample Shift.
double m_lineShift
 Store current Measure's Line Shift.
double m_pixelShift
 Store current Measure's Pixel Shift.
PvlGroup mPvlOpGrp
 Pvl Operator Group.
PvlGroup mStdOptionsGrp
 Pvl Standard Options Group.
PvlGroup mStatisticsGrp
 Pvl output Statistics Group.
Pvl mPvlLog
 Pvl Log of all the processing.
Progress mStatus
 Monitor the status of the app.
CubeManager mCubeMgr
 CubeManager to open and read cubes.
SerialNumberList mSerialNumbers
 Serial numbers list.
bool mbCameraRequired
 To improve speed, flag to indicate if < Camera needs to be opened.
bool mbValidateDN
 Check if DN needs to be Validated.
bool mbValidateFromEdge
 Check if Pixels/Meters from edge needs to be Validated.

Detailed Description

Gradient interest operator.

This class is used to construct a gradient interest operator. For this class, the interest is always positive with the worst interest amount being 0. The higher the interest, the better.

See also:
InterestOperator
Author:
2006-02-11 Jacob Danton

Constructor & Destructor Documentation

Isis::GradientOperator::GradientOperator ( Pvl pPvl  )  [inline]
virtual Isis::GradientOperator::~GradientOperator (  )  [inline, virtual]

Member Function Documentation

void Isis::InterestOperator::addGroup ( Isis::PvlObject obj  )  [inherited]
bool Isis::InterestOperator::CompareInterests ( double  int1,
double  int2 
) [virtual, inherited]

Compare for int1 greater than / equal to int2.

This virtual method must return if the 1st fit is equal to or better than the second fit.

Parameters:
int1 1st interestAmount
int2 2nd interestAmount

Referenced by Isis::InterestOperator::InterestByMeasure(), Isis::InterestOperator::InterestByPoint(), and Isis::InterestOperator::Operate().

double Isis::InterestOperator::CubeLine (  )  const [inline, inherited]

Return the search chip cube line that best matched.

double Isis::InterestOperator::CubeSample (  )  const [inline, inherited]

Return the search chip cube sample that best matched.

void Isis::InterestOperator::FindCnetRef ( ControlNet pNewNet  )  [protected, virtual, inherited]

Find best ref for an entire control net by calculating the interest and moving point to a better interest area.

This traverses all the control points and measures in the network and checks for valid Measure which passes the Emission Incidence Angle, DN value tests and picks the Measure with the best Interest as the Reference.

Author:
Sharmila Prasad (5/14/2010)
Parameters:
pNewNet - Input Control Net
History:
2010-07-13 Tracie Sucharski, Changes for binary control networks, Measure type of Estimated is now Candidate and instead of a separate keyword indicating whether a meausre is the reference, the MeasureType is set to Reference.
History:
2010-10-04 Sharmila Prasad - Modified for binary Control Net ex Edit Lock
History:
2010-10-15 Sharmila Prasad - Use only a single copy of Control Net
Returns:
none

Reimplemented from Isis::ControlNetValidMeasure.

References _FILEINFO_, Isis::Cube::camera(), Isis::ControlMeasure::Candidate, Isis::Progress::CheckStatus(), Isis::ControlPoint::Constrained, Isis::SerialNumberList::fileName(), Isis::ControlPoint::Fixed, Isis::ControlPoint::Free, Isis::ControlPoint::GetAprioriSurfacePointSource(), Isis::ControlMeasure::GetCubeSerialNumber(), Isis::ControlPoint::GetId(), Isis::ControlMeasure::GetLine(), Isis::ControlPoint::GetMeasure(), Isis::ControlPoint::GetNumLockedMeasures(), Isis::ControlPoint::GetNumMeasures(), Isis::ControlNet::GetNumPoints(), Isis::ControlNet::GetPoint(), Isis::ControlPoint::GetRefMeasure(), Isis::ControlMeasure::GetSample(), Isis::ControlPoint::GetType(), Isis::Camera::InCube(), Isis::ControlPoint::IndexOfRefMeasure(), Isis::InterestOperator::InterestByPoint(), Isis::ControlPoint::IsEditLocked(), Isis::ControlMeasure::IsEditLocked(), Isis::ControlMeasure::IsIgnored(), Isis::ControlPoint::IsIgnored(), Isis::MeasureValidationResults::isValid(), Isis::Camera::Line(), Isis::ControlNetValidMeasure::LocationString(), Isis::ControlNetValidMeasure::mCubeMgr, Isis::ControlNetValidMeasure::mdResolution, Isis::ControlNetValidMeasure::mPvlLog, Isis::ControlNetValidMeasure::mSerialNumbers, Isis::ControlNetValidMeasure::mStatisticsGrp, Isis::ControlNetValidMeasure::mStatus, Isis::CubeManager::OpenCube(), Isis::InterestOperator::ProcessLocked_Point_Reference(), Isis::ControlPoint::SurfacePointSource::Reference, Isis::Camera::Sample(), Isis::ControlMeasure::SetChooserName(), Isis::ControlMeasure::SetCoordinate(), Isis::ControlMeasure::SetDateTime(), Isis::ControlPoint::SetIgnored(), Isis::ControlMeasure::SetIgnored(), Isis::Camera::SetImage(), Isis::Progress::SetMaximumSteps(), Isis::ControlPoint::SetRefMeasure(), Isis::Progress::SetText(), Isis::ControlMeasure::SetType(), Isis::Camera::SetUniversalGround(), Isis::MeasureValidationResults::toString(), Isis::toString(), Isis::Sensor::UniversalLatitude(), Isis::Sensor::UniversalLongitude(), Isis::IException::User, Isis::ControlNetValidMeasure::ValidStandardOptions(), and Isis::InterestOperator::WorstInterest().

Referenced by Isis::InterestOperator::Operate().

const geos::geom::MultiPolygon * Isis::InterestOperator::FindOverlap ( Isis::ControlPoint pCnetPoint  )  [protected, inherited]

Find if a point is in the overlap.

This method searches for an overlap in the ImageOverlapSet that belongs to the given control point.

Only exact SN matches are accepted.

References Isis::InterestOperator::FindOverlapByImageFootPrint(), Isis::ControlMeasure::GetCubeSerialNumber(), Isis::ControlPoint::GetNumMeasures(), Isis::ImageOverlap::HasSerialNumber(), Isis::ImageOverlap::Size(), and Isis::ImageOverlapSet::Size().

Referenced by Isis::InterestOperator::InterestByPoint().

const geos::geom::MultiPolygon * Isis::InterestOperator::FindOverlapByImageFootPrint ( Isis::ControlPoint pCnetPoint  )  [protected, inherited]

Find imageoverlaps by finding the intersection of image footprints.

Find image overlaps by getting intersection of the individual image footprints when an exact match in the overlaplist fails.

Author:
Sharmila Prasad (7/1/2010)
Parameters:
pCnetPoint - Overlaps for the Control Point
Returns:
const geos::geom::MultiPolygon*

References Isis::ControlPoint::GetNumMeasures(), Isis::PolygonTools::Intersect(), Isis::PolygonTools::MakeMultiPolygon(), and Isis::Cube::read().

Referenced by Isis::InterestOperator::FindOverlap().

virtual Pvl& Isis::ControlNetValidMeasure::GetLogPvl ( void   )  [inline, virtual, inherited]

Get the Pvl Log file.

References Isis::ControlNetValidMeasure::mPvlLog.

double Isis::ControlNetValidMeasure::GetMaxDN ( void   )  [inline, inherited]

Get the option MaxDN.

References Isis::ControlNetValidMeasure::mdMaxDN.

double Isis::ControlNetValidMeasure::GetMaxEmissionAngle ( void   )  [inline, inherited]

Get the option MaxEmissionAngle.

References Isis::ControlNetValidMeasure::mdMaxEmissionAngle.

double Isis::ControlNetValidMeasure::GetMaxIncidenceAngle ( void   )  [inline, inherited]

Get the option MaxIncidenceAngle.

References Isis::ControlNetValidMeasure::mdMaxIncidenceAngle.

double Isis::ControlNetValidMeasure::GetMetersFromEdge ( void   )  [inline, inherited]

Get the option MetersFromEdge.

References Isis::ControlNetValidMeasure::mdMetersFromEdge.

double Isis::ControlNetValidMeasure::GetMinDN ( void   )  [inline, inherited]

Get the option MinDN.

References Isis::ControlNetValidMeasure::mdMinDN.

double Isis::ControlNetValidMeasure::GetMinEmissionAngle ( void   )  [inline, inherited]

Get the option MinEmissionAngle.

References Isis::ControlNetValidMeasure::mdMinEmissionAngle.

double Isis::ControlNetValidMeasure::GetMinIncidenceAngle ( void   )  [inline, inherited]

Get the option MinIncidenceAngle.

References Isis::ControlNetValidMeasure::mdMinIncidenceAngle.

double Isis::ControlNetValidMeasure::GetPixelsFromEdge ( void   )  [inline, inherited]

Get the option PixelsFromEdge.

References Isis::ControlNetValidMeasure::miPixelsFromEdge.

PvlGroup& Isis::ControlNetValidMeasure::GetStatistics ( void   )  [inline, inherited]
PvlGroup& Isis::ControlNetValidMeasure::GetStdOptions ( void   )  [inline, inherited]

Get the Standard Options Pvl Group.

References Isis::ControlNetValidMeasure::mStdOptionsGrp.

void Isis::InterestOperator::InitInterestOptions (  )  [inherited]

Initialise Interest Options to defaults.

Author:
Sharmila Prasad (11/21/2011)

References Isis::InterestOperator::p_clipPolygon, Isis::InterestOperator::p_interestAmount, and Isis::InterestOperator::p_worstInterest.

Referenced by Isis::InterestOperator::InterestOperator().

void Isis::InterestOperator::InitInterestResults ( int  piIndex  )  [protected, inherited]

Init Interest Results structure.

Initialise the InterestResults structure given the index.

Author:
Sharmila Prasad (6/8/2010)
Parameters:
piIndex - Index for the Interest Results structure

References Isis::Null, and Isis::ValidMinimum.

Referenced by Isis::InterestOperator::InterestByPoint().

void Isis::ControlNetValidMeasure::InitStdOptions ( void   )  [inherited]
void Isis::ControlNetValidMeasure::InitStdOptionsGroup ( void   )  [inherited]
double Isis::GradientOperator::Interest ( Chip chip  )  [protected, virtual]

This method returns the amount of interest for the given chip.

Parameters:
chip 
Returns:
the amount of interest for this chip

Implements Isis::InterestOperator.

References Isis::Chip::GetValue(), Isis::Chip::Lines(), Isis::Chip::Samples(), and Isis::ControlNetValidMeasure::ValidDnValue().

double Isis::InterestOperator::InterestAmount (  )  const [inline, inherited]

Return the Interest Amount.

References Isis::InterestOperator::p_interestAmount.

bool Isis::InterestOperator::InterestByMeasure ( int  piMeasure,
Isis::ControlMeasure pCnetMeasure,
Isis::Cube pCube 
) [protected, inherited]
int Isis::InterestOperator::InterestByPoint ( ControlPoint pCnetPoint  )  [protected, inherited]
bool Isis::ControlNetValidMeasure::IsCameraRequired (  )  [inline, inherited]

API to get status of CameraRequired flag.

Author:
Sharmila Prasad (5/19/2011)
Returns:
bool

References Isis::ControlNetValidMeasure::mbCameraRequired.

Referenced by Isis::ControlNetValidMeasure::IsCubeRequired().

bool Isis::ControlNetValidMeasure::IsCubeRequired (  )  [inline, inherited]
QString Isis::ControlNetValidMeasure::LocationString ( double  pdSample,
double  pdLine 
) const [inline, inherited]

API to display location in the form "Sample,Line".

References Isis::toString().

Referenced by Isis::InterestOperator::FindCnetRef(), and Isis::InterestOperator::ProcessLocked_Point_Reference().

bool Isis::ControlNetValidMeasure::MetersFromEdge ( int  piSample,
int  piLine,
Cube pCube 
) [inherited]

Test for a point to be user defined number of meters from the edge.

Validate if a point in Measure is user defined number of meters from the edge.

Author:
Sharmila Prasad (6/21/2010)
Parameters:
piSample - Point Sample Location
piLine - Point Line Location
pCube - Control Measure Cube
Returns:
bool

References _FILEINFO_, Isis::Cube::camera(), Isis::Cube::fileName(), Isis::Cube::lineCount(), Isis::ControlNetValidMeasure::mdMetersFromEdge, Isis::Camera::PixelResolution(), Isis::Cube::sampleCount(), Isis::Camera::SetImage(), and Isis::IException::User.

Referenced by Isis::ControlNetValidMeasure::ValidStandardOptions().

void Isis::InterestOperator::Operate ( ControlNet pNewNet,
QString  psSerialNumFile,
QString  psOverlapListFile = "" 
) [inherited]

Operate - to calculate interest for entire control net to get better reference.

Read the Serial#'s and overlaplist if any and call API to find the reference for all the points in the network.

Author:
Sharmila Prasad (6/9/2010)
Parameters:
pNewNet - Input Control Net
psSerialNumFile - Serial Number File
psOverlapListFile - Overlaplist File containing overlap data
History:
10/15/2010 Sharmila Prasad - Use a single copy of Control Net

References Isis::InterestOperator::FindCnetRef(), Isis::ImageOverlapSet::ReadImageOverlaps(), and Isis::ControlNetValidMeasure::ReadSerialNumbers().

bool Isis::InterestOperator::Operate ( Cube pCube,
UniversalGroundMap pUnivGrndMap,
int  piSample,
int  piLine 
) [inherited]

Operate used by the app interestcube- to calculate interest by sample,line.

Walk the pattern chip through the search chip to find the best interest.

Parameters:
cube [in] The Isis::Cube to look for an interesting area in
piSample [in] The sample postion in the cube where the chip is located
piLine [in] The line postion in the cube where the chip is located
pUnivGrndMap Reference to the Universal Ground map of this image
Returns:
Returns the status of the operation. The following conditions can occur true=Success, false=Failed
History:
2010-03-30 Sharmila Prasad - Check for valid DN Value and Emission Angle in the user defined ValidMin-ValidMax range when selecting point of interest in a Control Measure
History:
2010-06-23 Sharmila Prasad - Validate for Resolution Range and Pixels/Meters from edge options

References _FILEINFO_, Isis::InterestOperator::CompareInterests(), Isis::Chip::CubeLine(), Isis::Chip::CubeSample(), Isis::Chip::Extract(), Isis::Cube::fileName(), Isis::UniversalGroundMap::HasCamera(), Isis::InterestOperator::Interest(), Isis::MeasureValidationResults::isValid(), Isis::Chip::Load(), Isis::Null, Isis::InterestOperator::p_clipPolygon, Isis::InterestOperator::p_interestAmount, Isis::InterestOperator::Padding(), Isis::IException::Programmer, Isis::Chip::SetChipPosition(), Isis::Chip::SetClipPolygon(), Isis::UniversalGroundMap::SetImage(), Isis::Chip::TackCube(), and Isis::ControlNetValidMeasure::ValidStandardOptions().

PvlGroup Isis::InterestOperator::Operator (  )  [inherited]

Return the Operator name.

This function returns the keywords that this object was created from.

Returns:
PvlGroup The keywords this object used in initialization

References Isis::InterestOperator::mOperatorGrp.

QString Isis::InterestOperator::operatorName (  )  const [inline, inherited]

Return name of the matching operator.

References Isis::InterestOperator::mOperatorGrp.

int Isis::InterestOperator::Padding (  )  [protected, virtual, inherited]

Sets an offset to pass in larger chips if operator requires it This is used to offset the subchip size passed into Interest.

Returns:
int Amount to add to both x & y total sizes

Reimplemented in Isis::MoravecOperator.

Referenced by Isis::InterestOperator::InterestByMeasure(), and Isis::InterestOperator::Operate().

void Isis::InterestOperator::Parse ( Pvl pPvl  )  [protected, inherited]

Parse the Interest specific keywords.

Create an InterestOperator object using a PVL specification.

An example of the PVL required for this is:

   Group = Operator
     Name      = StandardDeviation
     Samples   = 21
     Lines     = 21
     DeltaLine = 50
     DeltaSamp = 25
   EndGroup

There are many other options that can be set via the pvl and are described in other documentation (see below).

Parameters:
pvl The pvl object containing the specification
History:
2010-04-09 Sharmila Prasad Check for validity of new keyword "MaxEmissionAngle"
History:
2010-06-10 Sharmila Prasad Parse only Interest specific keywords and store in Operator group

Reimplemented from Isis::ControlNetValidMeasure.

References _FILEINFO_, Isis::PvlContainer::fileName(), Isis::PvlObject::findGroup(), Isis::InterestOperator::mOperatorGrp, Isis::toString(), Isis::PvlObject::Traverse, and Isis::IException::User.

Referenced by Isis::InterestOperator::InterestOperator().

bool Isis::ControlNetValidMeasure::PixelsFromEdge ( int  piSample,
int  piLine,
Cube pCube 
) [inherited]

Test for a point to be user defined number of pixels from the edge.

Validate if a point in Measure is user defined number of pixels from the edge.

Author:
Sharmila Prasad (6/21/2010)
Parameters:
piSample - Point Sample Location
piLine - Point Line Location
pCube - Control Measure Cube
Returns:
bool

References Isis::Cube::lineCount(), Isis::ControlNetValidMeasure::miPixelsFromEdge, and Isis::Cube::sampleCount().

Referenced by Isis::ControlNetValidMeasure::ValidStandardOptions().

void Isis::InterestOperator::ProcessLocked_Point_Reference ( ControlPoint pCPoint,
PvlObject pPvlObj,
int &  piMeasuresModified 
) [protected, inherited]
void Isis::ControlNetValidMeasure::ReadSerialNumbers ( QString  psSerialNumfile  )  [protected, inherited]

Read the Serial Numbers from the file and open assocaited cubes.

Read Serial Numbers from specified file and populate the Cube and UniversalGround Maps using the serial numbers.

Author:
Sharmila Prasad (6/3/2010)
Parameters:
psSerialNumfile - File with list of Serial Numbers

References Isis::ControlNetValidMeasure::mCubeMgr, Isis::ControlNetValidMeasure::mSerialNumbers, Isis::ControlNetValidMeasure::mStatus, and Isis::CubeManager::SetNumOpenCubes().

Referenced by Isis::InterestOperator::Operate().

void Isis::ControlNetValidMeasure::SetCameraRequiredFlag ( bool  pbFlag  )  [inline, protected, inherited]

Set the CameraRequired Flag.

This flag indicates whether a camera is required to Validate a Control Measure. Camera is required to get Emission, Incidence angles and Resolution

Author:
Sharmila Prasad (5/19/2011)
Parameters:
pbFlag 

References Isis::ControlNetValidMeasure::mbCameraRequired.

void Isis::InterestOperator::SetClipPolygon ( const geos::geom::MultiPolygon &  clipPolygon  )  [inherited]

Set the Clip Polygon for points to be contained in the overlaps.

Sets the clipping polygon for the chip.

The coordinates must be in (sample,line) order.

Parameters:
clipPolygon The polygons used to clip the chip

References Isis::PolygonTools::CopyMultiPolygon(), and Isis::InterestOperator::p_clipPolygon.

Referenced by Isis::InterestOperator::InterestByPoint().

void Isis::InterestOperator::SetPatternReduction ( std::vector< int >  samples,
std::vector< int >  lines 
) [inherited]
void Isis::InterestOperator::SetPatternSampling ( const double  percent  )  [inherited]
void Isis::InterestOperator::SetPatternValidPercent ( const double  percent  )  [inherited]
void Isis::InterestOperator::SetSearchSampling ( const double  percent  )  [inherited]
void Isis::InterestOperator::SetTolerance ( double  tolerance  )  [inherited]
void Isis::ControlNetValidMeasure::ValidatePvlDN ( void   )  [protected, inherited]

Validate PVL Min & Max DN Standard Options.

Validate the Min and Max Dn Values set by the user in the Operator pvl file.

If not set then set the options to default and enter their names in the Unused Group. If the user set values are invalid then exception is thrown.

Author:
Sharmila Prasad (5/10/2010)

References _FILEINFO_, Isis::PvlContainer::hasKeyword(), Isis::ControlNetValidMeasure::mbValidateDN, Isis::ControlNetValidMeasure::mdMaxDN, Isis::ControlNetValidMeasure::mdMinDN, Isis::ControlNetValidMeasure::mPvlOpGrp, Isis::ControlNetValidMeasure::mStdOptionsGrp, Isis::toString(), Isis::IException::User, Isis::ValidMaximum, and Isis::ValidMinimum.

Referenced by Isis::ControlNetValidMeasure::Parse().

void Isis::ControlNetValidMeasure::ValidatePvlEmissionAngle ( void   )  [protected, inherited]

Validate PVL Min & Max EmissionAngle Standard Options.

ValidateEmissionAngle: Validate the Min and Max Emission Values set by the user in the Operator pvl file.

If not set then set the options to default and enter their names in the Unused Group. If the user set values are invalid then exception is thrown, the valid range being [0-135]

Author:
Sharmila Prasad (5/10/2010)

References _FILEINFO_, Isis::PvlContainer::hasKeyword(), Isis::ControlNetValidMeasure::mbCameraRequired, Isis::ControlNetValidMeasure::mdMaxEmissionAngle, Isis::ControlNetValidMeasure::mdMinEmissionAngle, Isis::ControlNetValidMeasure::mPvlOpGrp, Isis::ControlNetValidMeasure::mStdOptionsGrp, Isis::toString(), and Isis::IException::User.

Referenced by Isis::ControlNetValidMeasure::Parse().

void Isis::ControlNetValidMeasure::ValidatePvlFromEdge ( void   )  [protected, inherited]

Validate and read Pixels and Meters from Edge Standard Options.

Validate and Read the Pixels and Meters from Edge Standard Options.

Author:
Sharmila Prasad (6/22/2010)

References Isis::PvlContainer::hasKeyword(), Isis::ControlNetValidMeasure::mbValidateFromEdge, Isis::ControlNetValidMeasure::mdMetersFromEdge, Isis::ControlNetValidMeasure::miPixelsFromEdge, Isis::ControlNetValidMeasure::mPvlOpGrp, Isis::ControlNetValidMeasure::mStdOptionsGrp, and Isis::toString().

Referenced by Isis::ControlNetValidMeasure::Parse().

void Isis::ControlNetValidMeasure::ValidatePvlIncidenceAngle ( void   )  [protected, inherited]

Validate PVL Min & Max IncidenceAngle Standard Options.

ValidateIncidenceAngle: Validate the Min and Max Incidence Values set by the user in the Operator pvl file.

If not set then set the options to default and enter their names in the Unused Group. If the user set values are invalid then exception is thrown, the valid range being [0-135]

Author:
Sharmila Prasad (5/10/2010)

References _FILEINFO_, Isis::PvlContainer::hasKeyword(), Isis::ControlNetValidMeasure::mbCameraRequired, Isis::ControlNetValidMeasure::mdMaxIncidenceAngle, Isis::ControlNetValidMeasure::mdMinIncidenceAngle, Isis::ControlNetValidMeasure::mPvlOpGrp, Isis::ControlNetValidMeasure::mStdOptionsGrp, Isis::toString(), and Isis::IException::User.

Referenced by Isis::ControlNetValidMeasure::Parse().

void Isis::ControlNetValidMeasure::ValidatePvlResidualTolerances ( void   )  [protected, inherited]
void Isis::ControlNetValidMeasure::ValidatePvlResolution ( void   )  [protected, inherited]

Validate PVL Min & Max Resolution Standard Options.

Validate the Min and Max Resolution Values set by the user in the Operator pvl file.

If not set then set the options to default and enter their names in the Unused Group. If the user set values are invalid then exception is thrown.

Author:
Sharmila Prasad (6/4/2010)

References _FILEINFO_, Isis::PvlContainer::hasKeyword(), Isis::ControlNetValidMeasure::mbCameraRequired, Isis::ControlNetValidMeasure::mdMaxResolution, Isis::ControlNetValidMeasure::mdMinResolution, Isis::ControlNetValidMeasure::mPvlOpGrp, Isis::ControlNetValidMeasure::mStdOptionsGrp, Isis::toString(), and Isis::IException::User.

Referenced by Isis::ControlNetValidMeasure::Parse().

void Isis::ControlNetValidMeasure::ValidatePvlShiftTolerances (  )  [protected, inherited]
bool Isis::ControlNetValidMeasure::ValidDnValue ( double  pdDnValue  )  [inherited]

Validate whether the DN Value is in the set Range.

Validates Dn Value by comparing against the Min and Max DN Values set in the def file or the defaults.

Author:
Sharmila Prasad (3/30/2010)
Parameters:
pdDnValue - DN Value to Valdiate
Returns:
bool

References Isis::IsSpecial(), and Isis::ControlNetValidMeasure::mdMaxDN.

Referenced by Isis::MoravecOperator::Interest(), Interest(), and Isis::ControlNetValidMeasure::ValidStandardOptions().

bool Isis::ControlNetValidMeasure::ValidEmissionAngle ( double  pdEmissionAngle  )  [inherited]

Validate whether the Emission Angle is in the set Range.

Validates an Emission angle by comparing with the min and max values in the def file.

If Emission Angle is greater or lesser than the max/min values in the def file or the defaults it returns false else true.

Author:
Sharmila Prasad (3/30/2010)
Parameters:
pdEmissionAngle - Emission Angle to Valdiate
Returns:
bool

References Isis::ControlNetValidMeasure::mdMaxEmissionAngle.

Referenced by Isis::ControlNetValidMeasure::ValidStandardOptions().

bool Isis::ControlNetValidMeasure::ValidIncidenceAngle ( double  pdIncidenceAngle  )  [inherited]

Validate whether the Incidence Angle is in the set Range.

Validates an Incidence angle by comparing with the min and max values in the def file.

If Incidence Angle is greater or lesser than the max/min values in the def file or the defaults it returns false else true.

Author:
Sharmila Prasad (5/10/2010)
Parameters:
pdIncidenceAngle - Incidence Angle to Valdiate
Returns:
bool

References Isis::ControlNetValidMeasure::mdMaxIncidenceAngle.

Referenced by Isis::ControlNetValidMeasure::ValidStandardOptions().

bool Isis::ControlNetValidMeasure::ValidLatLon ( Isis::Camera pCamera,
int  piSample,
int  piLine 
) [inherited]

Validate the Lat/Lon.

Validate if a point has a valid lat, lon for that camera.

Author:
Sharmila Prasad (6/4/2010)
Parameters:
pCamera 
piSample 
piLine 
Returns:
bool
bool Isis::ControlNetValidMeasure::ValidResidualTolerances ( double  pdSampleResidual,
double  pdLineResidual,
double  pdResidualMagnitude,
MeasureValidationResults pResults 
) [inherited]

Validate whether the Residuals are within the set Tolerance.

Validate whether the Sample and Line Residuals and Residual Magnitudes are within the set Tolerances'.

Author:
Sharmila Prasad (5/16/2011)
Parameters:
pdSampleResidual - Measure's Sample residual
pdLineResidual - Measure's Line residual
pdResidualMagnitude - Measure's Residual Magnitude
pResults - MeasureValidationResults
Returns:
bool - Valid (true/false)

References Isis::MeasureValidationResults::addFailure(), Isis::MeasureValidationResults::LineResidual, Isis::ControlNetValidMeasure::mdLineResTolerance, Isis::ControlNetValidMeasure::mdResidualTolerance, Isis::ControlNetValidMeasure::mdSampleResTolerance, Isis::MeasureValidationResults::ResidualMagnitude, and Isis::MeasureValidationResults::SampleResidual.

Referenced by Isis::ControlNetValidMeasure::ValidStandardOptions().

bool Isis::ControlNetValidMeasure::ValidResolution ( double  pdResolution  )  [inherited]

Validate whether the Resolution is in the set Range.

Validates Dn Value by comparing against the Min and Max DN Values set in the def file or the defaults.

Author:
Sharmila Prasad (6/4/2010)
Parameters:
pdResolution - Resolution to Validate
Returns:
bool

References Isis::ControlNetValidMeasure::mdMaxResolution.

Referenced by Isis::ControlNetValidMeasure::ValidStandardOptions().

bool Isis::ControlNetValidMeasure::ValidShiftTolerances ( double  sampleShift,
double  lineShift,
double  pixelShift,
MeasureValidationResults results 
) [inherited]

Validate whether the Sample and Line Shifts and Pixel Shift are within the set Tolerances.

Parameters:
sampleShift Measure's sample shift (current - apriori)
lineShift Measure's line shift (current - apriori)
pixelShift Measure's pixel shift (Euclidean distance shifted)
results Validation results populated with any new failures
Returns:
Whether every test was valid or not

References Isis::MeasureValidationResults::addFailure(), Isis::MeasureValidationResults::LineShift, Isis::ControlNetValidMeasure::m_lineShiftTolerance, Isis::ControlNetValidMeasure::m_pixelShiftTolerance, Isis::ControlNetValidMeasure::m_sampleShiftTolerance, Isis::MeasureValidationResults::PixelShift, and Isis::MeasureValidationResults::SampleShift.

Referenced by Isis::ControlNetValidMeasure::ValidStandardOptions().

MeasureValidationResults Isis::ControlNetValidMeasure::ValidStandardOptions ( double  pSample,
double  pLine,
Cube pCube,
PvlGroup pMeasureGrp = NULL 
) [inherited]

Validate Standard options to pick a reference based on a particular criteria.

Validate a point on an image for Standard Options.

Author:
Sharmila Prasad (5/17/2011)
Parameters:
pSample - Image Sample
pLine - Image Line
pCube - Image
pMeasureGrp - Optional Result Group
Returns:
MeasureValidationResults

References Isis::ControlNetValidMeasure::ValidStandardOptions().

MeasureValidationResults Isis::ControlNetValidMeasure::ValidStandardOptions ( double  pSample,
double  pLine,
const ControlMeasure pMeasure,
Cube pCube,
Camera measureCamera,
PvlGroup pMeasureGrp = NULL 
) [inherited]

References Isis::MeasureValidationResults::addFailure(), Isis::MeasureValidationResults::DNValue, Isis::MeasureValidationResults::EmissionAngle, Isis::Sensor::EmissionAngle(), Isis::ControlMeasure::GetLineResidual(), Isis::ControlMeasure::GetLineShift(), Isis::ControlMeasure::GetPixelShift(), Isis::ControlMeasure::GetResidualMagnitude(), Isis::ControlMeasure::GetSampleResidual(), Isis::ControlMeasure::GetSampleShift(), Isis::MeasureValidationResults::IncidenceAngle, Isis::Sensor::IncidenceAngle(), Isis::ControlNetValidMeasure::m_lineShift, Isis::ControlNetValidMeasure::m_pixelShift, Isis::ControlNetValidMeasure::m_sampleShift, Isis::ControlNetValidMeasure::mbCameraRequired, Isis::ControlNetValidMeasure::mbValidateDN, Isis::ControlNetValidMeasure::mbValidateFromEdge, Isis::ControlNetValidMeasure::mdDnValue, Isis::ControlNetValidMeasure::mdEmissionAngle, Isis::ControlNetValidMeasure::mdIncidenceAngle, Isis::ControlNetValidMeasure::mdLineResidual, Isis::ControlNetValidMeasure::mdMaxDN, Isis::ControlNetValidMeasure::mdMaxEmissionAngle, Isis::ControlNetValidMeasure::mdMaxResolution, Isis::ControlNetValidMeasure::mdMetersFromEdge, Isis::ControlNetValidMeasure::mdMinDN, Isis::ControlNetValidMeasure::mdMinEmissionAngle, Isis::ControlNetValidMeasure::mdMinIncidenceAngle, Isis::ControlNetValidMeasure::mdMinResolution, Isis::ControlNetValidMeasure::mdResidualMagnitude, Isis::ControlNetValidMeasure::mdResolution, Isis::ControlNetValidMeasure::mdSampleResidual, Isis::MeasureValidationResults::MetersFromEdge, Isis::ControlNetValidMeasure::MetersFromEdge(), Isis::ControlNetValidMeasure::miPixelsFromEdge, Isis::Null, Isis::Camera::PixelResolution(), Isis::MeasureValidationResults::PixelsFromEdge, Isis::ControlNetValidMeasure::PixelsFromEdge(), Isis::Cube::pixelType(), Isis::Cube::read(), Isis::MeasureValidationResults::Resolution, Isis::Camera::SetImage(), Isis::toString(), Isis::ControlNetValidMeasure::ValidDnValue(), Isis::ControlNetValidMeasure::ValidEmissionAngle(), Isis::ControlNetValidMeasure::ValidIncidenceAngle(), Isis::ControlNetValidMeasure::ValidResidualTolerances(), Isis::ControlNetValidMeasure::ValidResolution(), and Isis::ControlNetValidMeasure::ValidShiftTolerances().

MeasureValidationResults Isis::ControlNetValidMeasure::ValidStandardOptions ( double  pSample,
double  pLine,
const ControlMeasure pMeasure,
Cube pCube,
PvlGroup pMeasureGrp = NULL 
) [inherited]

Validate Standard options to pick a reference based on a particular criteria.

Validate a point on an image and the Control Measure if not Null.

Author:
Sharmila Prasad (5/17/2011)
Parameters:
pSample - Image Sample
pLine - Image Line
pMeasure - Control Measure
pCube - Control Measure's image
pMeasureGrp - Result PvlGroup
Returns:
MeasureValidationResults

References _FILEINFO_, Isis::Cube::camera(), Isis::Cube::fileName(), Isis::ControlNetValidMeasure::mbCameraRequired, Isis::IException::User, and Isis::ControlNetValidMeasure::ValidStandardOptions().

MeasureValidationResults Isis::ControlNetValidMeasure::ValidStandardOptions ( const ControlMeasure pMeasure,
Cube pCube,
Camera camera,
PvlGroup pMeasureGrp = NULL 
) [inherited]

Validate Standard options to pick a reference based on a particular criteria.

References Isis::ControlMeasure::GetLine(), Isis::ControlMeasure::GetSample(), and Isis::ControlNetValidMeasure::ValidStandardOptions().

MeasureValidationResults Isis::ControlNetValidMeasure::ValidStandardOptions ( const ControlMeasure pMeasure,
Cube pCube,
PvlGroup pMeasureGrp = NULL 
) [inherited]

Validate Standard options to pick a reference based on a particular criteria.

Validate a measure for all the Standard Options.

Author:
Sharmila Prasad (6/22/2010)
Parameters:
piSample - Point Sample location
piLine - Point Line location
pCube - Control Measure Cube
pMeasureGrp - Log PvlGroup
Returns:
bool

References Isis::ControlMeasure::GetLine(), and Isis::ControlMeasure::GetSample().

Referenced by Isis::InterestOperator::FindCnetRef(), Isis::InterestOperator::InterestByMeasure(), Isis::InterestOperator::Operate(), Isis::InterestOperator::ProcessLocked_Point_Reference(), and Isis::ControlNetValidMeasure::ValidStandardOptions().

double Isis::InterestOperator::WorstInterest (  )  const [inline, inherited]

Return the Worst(least value) Interest.

References Isis::InterestOperator::p_worstInterest.

Referenced by Isis::InterestOperator::FindCnetRef().


Member Data Documentation

double Isis::ControlNetValidMeasure::m_lineShift [protected, inherited]

Store current Measure's Line Shift.

Referenced by Isis::ControlNetValidMeasure::ValidStandardOptions().

double Isis::ControlNetValidMeasure::m_pixelShift [protected, inherited]

Store current Measure's Pixel Shift.

Referenced by Isis::ControlNetValidMeasure::ValidStandardOptions().

double Isis::ControlNetValidMeasure::m_sampleShift [protected, inherited]

Store current Measure's Sample Shift.

Referenced by Isis::ControlNetValidMeasure::ValidStandardOptions().

bool Isis::ControlNetValidMeasure::mbValidateDN [protected, inherited]
double Isis::ControlNetValidMeasure::mdDnValue [protected, inherited]
double Isis::ControlNetValidMeasure::mdEmissionAngle [protected, inherited]
double Isis::ControlNetValidMeasure::mdIncidenceAngle [protected, inherited]
double Isis::ControlNetValidMeasure::mdLineResidual [protected, inherited]

Store current Measure's Line Residual.

Referenced by Isis::ControlNetValidMeasure::ValidStandardOptions().

double Isis::ControlNetValidMeasure::mdLineResTolerance [protected, inherited]
double Isis::ControlNetValidMeasure::mdMaxDN [protected, inherited]
double Isis::ControlNetValidMeasure::mdMaxEmissionAngle [protected, inherited]
double Isis::ControlNetValidMeasure::mdMaxResolution [protected, inherited]
double Isis::ControlNetValidMeasure::mdMetersFromEdge [protected, inherited]
double Isis::ControlNetValidMeasure::mdMinDN [protected, inherited]
double Isis::ControlNetValidMeasure::mdMinEmissionAngle [protected, inherited]
double Isis::ControlNetValidMeasure::mdMinResolution [protected, inherited]

Store current Measure's Residual Magnitude.

Referenced by Isis::ControlNetValidMeasure::ValidStandardOptions().

double Isis::ControlNetValidMeasure::mdResolution [protected, inherited]
double Isis::ControlNetValidMeasure::mdSampleResidual [protected, inherited]

Store current Measure's Sample Residual.

Referenced by Isis::ControlNetValidMeasure::ValidStandardOptions().

geos::geom::MultiPolygon* Isis::InterestOperator::p_clipPolygon [protected, inherited]
double Isis::InterestOperator::p_interestAmount [protected, inherited]
double Isis::InterestOperator::p_worstInterest [protected, inherited]

The documentation for this class was generated from the following files: