1#ifndef PhotometricFunction_h 
    2#define PhotometricFunction_h 
   34  template<
typename T> 
inline T 
MIN( 
const T &A, 
const T &B ) {
 
   54  template<
typename T> 
inline T 
MAX( 
const T &A, 
const T &B ) {
 
   86      virtual double compute( 
const double &line, 
const double &sample, 
int band = 1, 
bool useDem = 
false);
 
   87      virtual double photometry( 
double i, 
double e, 
double g, 
int band = 1 ) 
const = 0;
 
  133      T 
ConfKey( 
const DbProfile &conf, 
const QString &keyname, 
const T &defval, 
int index = 0 )
 const {
 
  134        if (!conf.
exists(keyname)) {
 
  137        if (conf.
count(keyname) < index) {
 
  140         return conf.
value(keyname, index);
 
#define MIN(x, y)
Definition: AlbedoAtm.cpp:7
 
#define MAX(x, y)
Definition: AlbedoAtm.cpp:8
 
IO Handler for Isis Cubes.
Definition: Cube.h:168
 
A DbProfile is a container for access parameters to a database.
Definition: DbProfile.h:51
 
QString value(const QString &key, int nth=0) const
Returns the specified value for the given keyword.
Definition: DbProfile.cpp:146
 
bool exists(const QString &key) const
Checks for the existance of a keyword.
Definition: DbProfile.h:115
 
int count(const QString &key) const
Report number of values in keyword.
Definition: DbProfile.cpp:127
 
An abstract implementation of the photometric function.
Definition: PhotometricFunction.h:78
 
double m_minimumIncidenceAngle
Definition: PhotometricFunction.h:109
 
virtual void setMaximumIncidenceAngle(double angle)
Mutator function to set maximum incidence angle.
Definition: PhotometricFunction.cpp:147
 
virtual double photometry(double i, double e, double g, int band=1) const =0
 
virtual void setMaximumEmissionAngle(double angle)
Mutator function to set maximum emission angle.
Definition: PhotometricFunction.cpp:179
 
DbProfile m_normProf
Definition: PhotometricFunction.h:115
 
virtual double compute(const double &line, const double &sample, int band=1, bool useDem=false)
Computes Photometric function from cube attributes.
Definition: PhotometricFunction.cpp:85
 
double m_maximumEmissionAngle
Definition: PhotometricFunction.h:112
 
virtual ~PhotometricFunction()
Destructor.
Definition: PhotometricFunction.cpp:44
 
virtual void setMinimumPhaseAngle(double angle)
Mutator function to set minimum phase angle.
Definition: PhotometricFunction.cpp:195
 
virtual double maximumEmissionAngle()
Accessor method to access maximum emission angle.
Definition: PhotometricFunction.cpp:275
 
static QString algorithmName(const PvlObject &pvl)
Finds the name of the algorithm defined in a PVL object.
Definition: PhotometricFunction.cpp:64
 
virtual double maximumPhaseAngle()
Accessor method to access maximum phase angle.
Definition: PhotometricFunction.cpp:307
 
virtual double minimumIncidenceAngle()
Accessor method to access minimum incidence angle.
Definition: PhotometricFunction.cpp:227
 
Camera * m_camera
Definition: PhotometricFunction.h:105
 
double m_iRef
Definition: PhotometricFunction.h:106
 
double m_eRef
Definition: PhotometricFunction.h:107
 
virtual double minimumEmissionAngle()
Accessor method to access minimum emission angle.
Definition: PhotometricFunction.cpp:259
 
T ConfKey(const DbProfile &conf, const QString &keyname, const T &defval, int index=0) const
Helper template to initialize parameters.
Definition: PhotometricFunction.h:133
 
virtual void setMaximumPhaseAngle(double angle)
Mutator function to set maximum phase angle.
Definition: PhotometricFunction.cpp:211
 
virtual void setMinimumEmissionAngle(double angle)
Mutator function to set minimum emission angle.
Definition: PhotometricFunction.cpp:163
 
virtual void setMinimumIncidenceAngle(double angle)
Mutator function to set minimum incidence angle.
Definition: PhotometricFunction.cpp:131
 
double m_minimumEmissionAngle
Definition: PhotometricFunction.h:111
 
double m_gRef
Definition: PhotometricFunction.h:108
 
double m_minimumPhaseAngle
Definition: PhotometricFunction.h:113
 
double m_maximumPhaseAngle
Definition: PhotometricFunction.h:114
 
virtual double minimumPhaseAngle()
Accessor method to access minimum phase angle.
Definition: PhotometricFunction.cpp:291
 
virtual double maximumIncidenceAngle()
Accessor method to access maximum incidence angle.
Definition: PhotometricFunction.cpp:243
 
double m_maximumIncidenceAngle
Definition: PhotometricFunction.h:110
 
virtual void report(PvlContainer &pvl)=0
 
void setCamera(Camera *cam)
Set the camera used to compute photometric angles.
Definition: PhotometricFunction.cpp:52
 
Contains more than one keyword-value pair.
Definition: PvlContainer.h:49
 
Contains Pvl Groups and Pvl Objects.
Definition: PvlObject.h:61
 
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16