|
Isis Developer Reference
|
Go to the documentation of this file. 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);
double m_minimumEmissionAngle
Definition: PhotometricFunction.h:111
T MAX(const T &A, const T &B)
Implement templatized MAX fumnction.
Definition: PhotometricFunction.h:54
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
Contains Pvl Groups and Pvl Objects.
Definition: PvlObject.h:61
double m_minimumIncidenceAngle
Definition: PhotometricFunction.h:109
bool exists(const QString &key) const
Checks for the existance of a keyword.
Definition: DbProfile.h:115
double m_gRef
Definition: PhotometricFunction.h:108
double m_maximumIncidenceAngle
Definition: PhotometricFunction.h:110
double m_maximumEmissionAngle
Definition: PhotometricFunction.h:112
virtual void setMinimumIncidenceAngle(double angle)
Mutator function to set minimum incidence angle.
Definition: PhotometricFunction.cpp:131
int count(const QString &key) const
Report number of values in keyword.
Definition: DbProfile.cpp:127
virtual void setMaximumIncidenceAngle(double angle)
Mutator function to set maximum incidence angle.
Definition: PhotometricFunction.cpp:147
double m_minimumPhaseAngle
Definition: PhotometricFunction.h:113
static QString algorithmName(const PvlObject &pvl)
Finds the name of the algorithm defined in a PVL object.
Definition: PhotometricFunction.cpp:64
virtual void report(PvlContainer &pvl)=0
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 ~PhotometricFunction()
Destructor.
Definition: PhotometricFunction.cpp:44
An abstract implementation of the photometric function.
Definition: PhotometricFunction.h:78
virtual void setMaximumEmissionAngle(double angle)
Mutator function to set maximum emission angle.
Definition: PhotometricFunction.cpp:179
double m_iRef
Definition: PhotometricFunction.h:106
virtual void setMinimumPhaseAngle(double angle)
Mutator function to set minimum phase angle.
Definition: PhotometricFunction.cpp:195
virtual void setMaximumPhaseAngle(double angle)
Mutator function to set maximum phase angle.
Definition: PhotometricFunction.cpp:211
DbProfile m_normProf
Definition: PhotometricFunction.h:115
double m_eRef
Definition: PhotometricFunction.h:107
T MIN(const T &A, const T &B)
Implement templatized MIN fumnction.
Definition: PhotometricFunction.h:34
PvlObjectIterator findObject(const QString &name, PvlObjectIterator beg, PvlObjectIterator end)
Find the index of object with a specified name, between two indexes.
Definition: PvlObject.h:274
A DbProfile is a container for access parameters to a database.
Definition: DbProfile.h:51
IO Handler for Isis Cubes.
Definition: Cube.h:167
virtual double minimumEmissionAngle()
Accessor method to access minimum emission angle.
Definition: PhotometricFunction.cpp:259
Defines an angle and provides unit conversions.
Definition: Angle.h:45
virtual double maximumPhaseAngle()
Accessor method to access maximum phase angle.
Definition: PhotometricFunction.cpp:307
const double Null
Value for an Isis Null pixel.
Definition: SpecialPixel.h:95
Camera * camera()
Return a camera associated with the cube.
Definition: Cube.cpp:1451
Camera * m_camera
Definition: PhotometricFunction.h:105
Namespace for the standard library.
void setCamera(Camera *cam)
Set the camera used to compute photometric angles.
Definition: PhotometricFunction.cpp:52
virtual double maximumIncidenceAngle()
Accessor method to access maximum incidence angle.
Definition: PhotometricFunction.cpp:243
virtual double photometry(double i, double e, double g, int band=1) const =0
virtual double minimumIncidenceAngle()
Accessor method to access minimum incidence angle.
Definition: PhotometricFunction.cpp:227
PhotometricFunction(PvlObject &pvl, Cube &cube, bool useCamera)
Construct Photometric function from Pvl and Cube file.
Definition: PhotometricFunction.cpp:34
double degrees() const
Get the angle in units of Degrees.
Definition: Angle.h:232
virtual double maximumEmissionAngle()
Accessor method to access maximum emission angle.
Definition: PhotometricFunction.cpp:275
Contains more than one keyword-value pair.
Definition: PvlContainer.h:49
QString value(const QString &key, int nth=0) const
Returns the specified value for the given keyword.
Definition: DbProfile.cpp:146
double m_maximumPhaseAngle
Definition: PhotometricFunction.h:114
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
virtual double minimumPhaseAngle()
Accessor method to access minimum phase angle.
Definition: PhotometricFunction.cpp:291
virtual void setMinimumEmissionAngle(double angle)
Mutator function to set minimum emission angle.
Definition: PhotometricFunction.cpp:163