An abstract implementation of the photometric function. More...
#include <PhotometricFunction.h>

Public Member Functions | |
| PhotometricFunction (PvlObject &pvl, Cube &cube, bool useCamera) | |
| Construct Photometric function from Pvl and Cube file. | |
| virtual | ~PhotometricFunction () |
| Destructor. | |
| void | setCamera (Camera *cam) |
| Set the camera used to compute photometric angles. | |
| virtual double | compute (const double &line, const double &sample, int band=1, bool useDem=false) |
| Computes Photometric function from cube attributes. | |
| 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. | |
| virtual void | setMaximumIncidenceAngle (double angle) |
| Mutator function to set maximum incidence angle. | |
| virtual void | setMinimumEmissionAngle (double angle) |
| Mutator function to set minimum emission angle. | |
| virtual void | setMaximumEmissionAngle (double angle) |
| Mutator function to set maximum emission angle. | |
| virtual void | setMinimumPhaseAngle (double angle) |
| Mutator function to set minimum phase angle. | |
| virtual void | setMaximumPhaseAngle (double angle) |
| Mutator function to set maximum phase angle. | |
| virtual double | minimumIncidenceAngle () |
| Accessor method to access minimum incidence angle. | |
| virtual double | maximumIncidenceAngle () |
| Accessor method to access maximum incidence angle. | |
| virtual double | minimumEmissionAngle () |
| Accessor method to access minimum emission angle. | |
| virtual double | maximumEmissionAngle () |
| Accessor method to access maximum emission angle. | |
| virtual double | minimumPhaseAngle () |
| Accessor method to access minimum phase angle. | |
| virtual double | maximumPhaseAngle () |
| Accessor method to access maximum phase angle. | |
Static Public Member Functions | |
| static QString | algorithmName (const PvlObject &pvl) |
| Finds the name of the algorithm defined in a PVL object. | |
Protected Member Functions | |
| template<typename T> | |
| T | ConfKey (const DbProfile &conf, const QString &keyname, const T &defval, int index=0) const |
| Helper template to initialize parameters. | |
Protected Attributes | |
| Camera * | m_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 |
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.
Construct Photometric function from Pvl and Cube file.
| pvl | photometric parameter files |
| cube | Input cube file |
References Isis::Cube::camera(), and m_camera.
|
virtual |
Destructor.
|
static |
Finds the name of the algorithm defined in a PVL object.
| pvl | The pvl to find the algorithm name in. |
References Isis::PvlObject::findObject(), and Isis::PvlObject::Traverse.
|
virtual |
Computes Photometric function from cube attributes.
| line | line number in cube |
| sample | sample number in cube |
| band | band number in cube |
| useDem | boolean to use provided Dem |
References Isis::Angle::degrees(), m_camera, maximumEmissionAngle(), maximumIncidenceAngle(), maximumPhaseAngle(), minimumEmissionAngle(), minimumIncidenceAngle(), minimumPhaseAngle(), Isis::Null, and photometry().
|
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.
| conf | Parameter profile container |
| keyname | Name of keyword to get a value from |
| defval | Default value it keyword/value doesn't exist |
| index | Optional index of the value for keyword arrays |
References Isis::DbProfile::count(), Isis::DbProfile::exists(), and Isis::DbProfile::value().
|
virtual |
Accessor method to access maximum emission angle.
References m_maximumEmissionAngle.
Referenced by compute().
|
virtual |
Accessor method to access maximum incidence angle.
References m_maximumIncidenceAngle.
Referenced by compute().
|
virtual |
Accessor method to access maximum phase angle.
References m_maximumPhaseAngle.
Referenced by compute().
|
virtual |
Accessor method to access minimum emission angle.
References m_minimumEmissionAngle.
Referenced by compute().
|
virtual |
Accessor method to access minimum incidence angle.
References m_minimumIncidenceAngle.
Referenced by compute().
|
virtual |
Accessor method to access minimum phase angle.
References m_minimumPhaseAngle.
Referenced by compute().
|
pure virtual |
Referenced by compute().
|
pure virtual |
| void Isis::PhotometricFunction::setCamera | ( | Camera * | cam | ) |
Set the camera used to compute photometric angles.
| cam | A pointer to the camera to be used |
References m_camera.
|
virtual |
Mutator function to set maximum emission angle.
| double | The new maximum emission angle |
References m_maximumEmissionAngle.
|
virtual |
Mutator function to set maximum incidence angle.
| double | the new maximum incidence angle |
References m_maximumIncidenceAngle.
|
virtual |
Mutator function to set maximum phase angle.
| double | The new maximum phase angle |
References m_maximumPhaseAngle.
|
virtual |
Mutator function to set minimum emission angle.
| double | The new minimum emission angle |
References m_minimumEmissionAngle.
|
virtual |
Mutator function to set minimum incidence angle.
| double | The new minimum incidence angle |
References m_minimumIncidenceAngle.
|
virtual |
Mutator function to set minimum phase angle.
| double | The new minimum phase angle |
References m_minimumPhaseAngle.
|
protected |
Referenced by compute(), PhotometricFunction(), and setCamera().
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by maximumEmissionAngle(), and setMaximumEmissionAngle().
|
protected |
Referenced by maximumIncidenceAngle(), and setMaximumIncidenceAngle().
|
protected |
Referenced by maximumPhaseAngle(), and setMaximumPhaseAngle().
|
protected |
Referenced by minimumEmissionAngle(), and setMinimumEmissionAngle().
|
protected |
Referenced by minimumIncidenceAngle(), and setMinimumIncidenceAngle().
|
protected |
Referenced by minimumPhaseAngle(), and setMinimumPhaseAngle().
|
protected |