![]()  | 
  
    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 |