Isis Developer Reference
|
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::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::Camera::Band(), Isis::Angle::degrees(), Isis::Sensor::EmissionAngle(), Isis::Sensor::IncidenceAngle(), Isis::Camera::LocalPhotometricAngles(), m_camera, maximumEmissionAngle(), maximumIncidenceAngle(), maximumPhaseAngle(), minimumEmissionAngle(), minimumIncidenceAngle(), minimumPhaseAngle(), Isis::Null, Isis::Sensor::PhaseAngle(), photometry(), Isis::Camera::SetBand(), and Isis::Camera::SetImage().
|
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 |
|
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 |