Isis 3 Programmer Reference
Isis::PhotometricFunction Class Referenceabstract

An abstract implementation of the photometric function. More...

#include <PhotometricFunction.h>

Collaboration diagram for Isis::PhotometricFunction:
Collaboration graph

Public Member Functions

 PhotometricFunction (PvlObject &pvl, Cube &cube, bool useCamera)
 Construct Photometric function from Pvl and Cube file. More...
 
virtual ~PhotometricFunction ()
 Destructor. More...
 
void setCamera (Camera *cam)
 Set the camera used to compute photometric angles. More...
 
virtual double compute (const double &line, const double &sample, int band=1, bool useDem=false)
 Computes Photometric function from cube attributes. More...
 
virtual double photometry (double i, double e, double g, int band=1) const =0
 
virtual void report (PvlContainer &pvl)=0
 
virtual void setMinimumIncidenceAngle (double angle)
 Mutator function to set minimum incidence angle. More...
 
virtual void setMaximumIncidenceAngle (double angle)
 Mutator function to set maximum incidence angle. More...
 
virtual void setMinimumEmissionAngle (double angle)
 Mutator function to set minimum emission angle. More...
 
virtual void setMaximumEmissionAngle (double angle)
 Mutator function to set maximum emission angle. More...
 
virtual void setMinimumPhaseAngle (double angle)
 Mutator function to set minimum phase angle. More...
 
virtual void setMaximumPhaseAngle (double angle)
 Mutator function to set maximum phase angle. More...
 
virtual double minimumIncidenceAngle ()
 Accessor method to access minimum incidence angle. More...
 
virtual double maximumIncidenceAngle ()
 Accessor method to access maximum incidence angle. More...
 
virtual double minimumEmissionAngle ()
 Accessor method to access minimum emission angle. More...
 
virtual double maximumEmissionAngle ()
 Accessor method to access maximum emission angle. More...
 
virtual double minimumPhaseAngle ()
 Accessor method to access minimum phase angle. More...
 
virtual double maximumPhaseAngle ()
 Accessor method to access maximum phase angle. More...
 

Static Public Member Functions

static QString algorithmName (const PvlObject &pvl)
 Finds the name of the algorithm defined in a PVL object. More...
 

Protected Member Functions

template<typename T >
ConfKey (const DbProfile &conf, const QString &keyname, const T &defval, int index=0) const
 Helper template to initialize parameters. More...
 

Protected Attributes

Cameram_camera
 
double m_iRef
 
double m_eRef
 
double m_gRef
 
double m_minimumIncidenceAngle
 
double m_maximumIncidenceAngle
 
double m_minimumEmissionAngle
 
double m_maximumEmissionAngle
 
double m_minimumPhaseAngle
 
double m_maximumPhaseAngle
 
DbProfile m_normProf
 

Detailed Description

An abstract implementation of the photometric function.

This abstract class implements the a generic Photometric function. Child classes are expected to implement the photometry and report methods.

Author
2016-08-15 Victor Silva
History:
2016-08-15 - Code adapted from lrowacpho written by Kris Becker

Definition at line 70 of file PhotometricFunction.h.

Constructor & Destructor Documentation

◆ PhotometricFunction()

Isis::PhotometricFunction::PhotometricFunction ( PvlObject pvl,
Cube cube,
bool  useCamera 
)

Construct Photometric function from Pvl and Cube file.

Parameters
pvlphotometric parameter files
cubeInput cube file
Author
2016-08-15 Victor Silva
History:
2016-08-15 Code adapted from lrowacpho written by Kris Becker

Definition at line 26 of file PhotometricFunction.cpp.

References Isis::Cube::camera().

◆ ~PhotometricFunction()

Isis::PhotometricFunction::~PhotometricFunction ( )
virtual

Destructor.

Definition at line 36 of file PhotometricFunction.cpp.

Member Function Documentation

◆ algorithmName()

QString Isis::PhotometricFunction::algorithmName ( const PvlObject pvl)
static

Finds the name of the algorithm defined in a PVL object.

Parameters
pvlThe pvl to find the algorithm name in.
Returns
QString The algorithm name from the PVL object.

Definition at line 56 of file PhotometricFunction.cpp.

References Isis::PvlObject::findObject().

◆ compute()

double Isis::PhotometricFunction::compute ( const double &  line,
const double &  sample,
int  band = 1,
bool  useDem = false 
)
virtual

Computes Photometric function from cube attributes.

Parameters
lineline number in cube
samplesample number in cube
bandband number in cube
useDemboolean to use provided Dem
Returns
double photometry calculations
Author
2016-08-15 Victor Silva
History:
2016-08-15 Victor Silva - Code adapted from lrowacpho written by Kris Becker

Definition at line 77 of file PhotometricFunction.cpp.

References Isis::Angle::degrees(), and Isis::Null.

◆ ConfKey()

template<typename T >
T Isis::PhotometricFunction::ConfKey ( const DbProfile conf,
const QString &  keyname,
const T &  defval,
int  index = 0 
) const
inlineprotected

Helper template to initialize parameters.

This template will check the existance of a keyword and extract the value if it exists to the passed parameter (type). If it doesn't exist, the default values are returned.

Parameters
confParameter profile container
keynameName of keyword to get a value from
defvalDefault value it keyword/value doesn't exist
indexOptional index of the value for keyword arrays
Returns
T The value of the keyword or the default value if the keyword is not found.

Definition at line 125 of file PhotometricFunction.h.

References Isis::DbProfile::count(), Isis::DbProfile::exists(), and Isis::DbProfile::value().

◆ maximumEmissionAngle()

double Isis::PhotometricFunction::maximumEmissionAngle ( )
virtual

Accessor method to access maximum emission angle.

Returns
double The maximum emission angle
Author
2016-08-15 Victor Silva
History:
2016-08-15 Code adapted from lrowacpho written by Kris Becker

Definition at line 267 of file PhotometricFunction.cpp.

◆ maximumIncidenceAngle()

double Isis::PhotometricFunction::maximumIncidenceAngle ( )
virtual

Accessor method to access maximum incidence angle.

Returns
double The maximum incidence angle
Author
2016-08-15 Victor Silva
History:
2016-08-15 Code adapted from lrowacpho written by Kris Becker

Definition at line 235 of file PhotometricFunction.cpp.

◆ maximumPhaseAngle()

double Isis::PhotometricFunction::maximumPhaseAngle ( )
virtual

Accessor method to access maximum phase angle.

Returns
double The maximum phase angle
Author
2016-08-15 Victor Silva
History:
2016-08-15 Code adapted from lrowacpho written by Kris Becker

Definition at line 299 of file PhotometricFunction.cpp.

◆ minimumEmissionAngle()

double Isis::PhotometricFunction::minimumEmissionAngle ( )
virtual

Accessor method to access minimum emission angle.

Returns
double The minimum emission angle
Author
2016-08-15 Victor Silva
History:
2016-08-15 Code adapted from lrowacpho written by Kris Becker

Definition at line 251 of file PhotometricFunction.cpp.

◆ minimumIncidenceAngle()

double Isis::PhotometricFunction::minimumIncidenceAngle ( )
virtual

Accessor method to access minimum incidence angle.

Returns
double The minimum incidence angle
Author
2016-08-15 Victor Silva
History:
2016-08-15 Code adapted from lrowacpho written by Kris Becker

Definition at line 219 of file PhotometricFunction.cpp.

◆ minimumPhaseAngle()

double Isis::PhotometricFunction::minimumPhaseAngle ( )
virtual

Accessor method to access minimum phase angle.

Returns
double The minimum phase angle
Author
2016-08-15 Victor Silva
History:
2016-08-15 Code adapted from lrowacpho written by Kris Becker

Definition at line 283 of file PhotometricFunction.cpp.

◆ setCamera()

void Isis::PhotometricFunction::setCamera ( Camera cam)

Set the camera used to compute photometric angles.

Parameters
camA pointer to the camera to be used

Definition at line 44 of file PhotometricFunction.cpp.

◆ setMaximumEmissionAngle()

void Isis::PhotometricFunction::setMaximumEmissionAngle ( double  angle)
virtual

Mutator function to set maximum emission angle.

Parameters
doubleThe new maximum emission angle
Author
2016-08-15 Victor Silva
History:
2016-08-15 Code adapted from lrowacpho written by Kris Becker

Definition at line 171 of file PhotometricFunction.cpp.

◆ setMaximumIncidenceAngle()

void Isis::PhotometricFunction::setMaximumIncidenceAngle ( double  angle)
virtual

Mutator function to set maximum incidence angle.

Parameters
doublethe new maximum incidence angle
Author
2016-08-15 Victor Silva
History:
2016-08-15 Code adapted from lrowacpho written by Kris Becker

Definition at line 139 of file PhotometricFunction.cpp.

◆ setMaximumPhaseAngle()

void Isis::PhotometricFunction::setMaximumPhaseAngle ( double  angle)
virtual

Mutator function to set maximum phase angle.

Parameters
doubleThe new maximum phase angle
Author
2016-08-15 Victor Silva
History:
2016-08-15 Code adapted from lrowacpho written by Kris Becker

Definition at line 203 of file PhotometricFunction.cpp.

◆ setMinimumEmissionAngle()

void Isis::PhotometricFunction::setMinimumEmissionAngle ( double  angle)
virtual

Mutator function to set minimum emission angle.

Parameters
doubleThe new minimum emission angle
Author
2016-08-15 Victor Silva
History:
2016-08-15 Code adapted from lrowacpho written by Kris Becker

Definition at line 155 of file PhotometricFunction.cpp.

◆ setMinimumIncidenceAngle()

void Isis::PhotometricFunction::setMinimumIncidenceAngle ( double  angle)
virtual

Mutator function to set minimum incidence angle.

Parameters
doubleThe new minimum incidence angle
Author
2016-08-15 Victor Silva
History:
2016-08-15 Code adapted from lrowacpho written by Kris Becker

Definition at line 123 of file PhotometricFunction.cpp.

◆ setMinimumPhaseAngle()

void Isis::PhotometricFunction::setMinimumPhaseAngle ( double  angle)
virtual

Mutator function to set minimum phase angle.

Parameters
doubleThe new minimum phase angle
Author
2016-08-15 Victor Silva
History:
2016-08-15 Code adapted from lrowacpho written by Kris Becker

Definition at line 187 of file PhotometricFunction.cpp.


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