Isis 3 Programmer 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.
Definition at line 38 of file PhotometricFunction.h.
Construct Photometric function from Pvl and Cube file.
pvl | photometric parameter files |
cube | Input cube file |
Definition at line 34 of file PhotometricFunction.cpp.
References Isis::Cube::camera().
|
virtual |
Destructor.
Definition at line 44 of file PhotometricFunction.cpp.
|
static |
Finds the name of the algorithm defined in a PVL object.
pvl | The pvl to find the algorithm name in. |
Definition at line 64 of file PhotometricFunction.cpp.
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 |
Definition at line 85 of file PhotometricFunction.cpp.
References Isis::Camera::Band(), Isis::Angle::degrees(), Isis::Sensor::EmissionAngle(), Isis::Sensor::IncidenceAngle(), Isis::Camera::LocalPhotometricAngles(), maximumEmissionAngle(), maximumIncidenceAngle(), maximumPhaseAngle(), minimumEmissionAngle(), minimumIncidenceAngle(), minimumPhaseAngle(), Isis::Null, Isis::Sensor::PhaseAngle(), 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 |
Definition at line 93 of file PhotometricFunction.h.
|
virtual |
Accessor method to access maximum emission angle.
Definition at line 275 of file PhotometricFunction.cpp.
Referenced by compute().
|
virtual |
Accessor method to access maximum incidence angle.
Definition at line 243 of file PhotometricFunction.cpp.
Referenced by compute().
|
virtual |
Accessor method to access maximum phase angle.
Definition at line 307 of file PhotometricFunction.cpp.
Referenced by compute().
|
virtual |
Accessor method to access minimum emission angle.
Definition at line 259 of file PhotometricFunction.cpp.
Referenced by compute().
|
virtual |
Accessor method to access minimum incidence angle.
Definition at line 227 of file PhotometricFunction.cpp.
Referenced by compute().
|
virtual |
Accessor method to access minimum phase angle.
Definition at line 291 of file PhotometricFunction.cpp.
Referenced by compute().
void Isis::PhotometricFunction::setCamera | ( | Camera * | cam | ) |
Set the camera used to compute photometric angles.
cam | A pointer to the camera to be used |
Definition at line 52 of file PhotometricFunction.cpp.
|
virtual |
Mutator function to set maximum emission angle.
double | The new maximum emission angle |
Definition at line 179 of file PhotometricFunction.cpp.
|
virtual |
Mutator function to set maximum incidence angle.
double | the new maximum incidence angle |
Definition at line 147 of file PhotometricFunction.cpp.
|
virtual |
Mutator function to set maximum phase angle.
double | The new maximum phase angle |
Definition at line 211 of file PhotometricFunction.cpp.
|
virtual |
Mutator function to set minimum emission angle.
double | The new minimum emission angle |
Definition at line 163 of file PhotometricFunction.cpp.
|
virtual |
Mutator function to set minimum incidence angle.
double | The new minimum incidence angle |
Definition at line 131 of file PhotometricFunction.cpp.
|
virtual |
Mutator function to set minimum phase angle.
double | The new minimum phase angle |
Definition at line 195 of file PhotometricFunction.cpp.
|
protected |
Definition at line 65 of file PhotometricFunction.h.
|
protected |
Definition at line 67 of file PhotometricFunction.h.
|
protected |
Definition at line 68 of file PhotometricFunction.h.
|
protected |
Definition at line 66 of file PhotometricFunction.h.
|
protected |
Definition at line 72 of file PhotometricFunction.h.
|
protected |
Definition at line 70 of file PhotometricFunction.h.
|
protected |
Definition at line 74 of file PhotometricFunction.h.
|
protected |
Definition at line 71 of file PhotometricFunction.h.
|
protected |
Definition at line 69 of file PhotometricFunction.h.
|
protected |
Definition at line 73 of file PhotometricFunction.h.
|
protected |
Definition at line 75 of file PhotometricFunction.h.