1#ifndef PhotometricFunction_h
2#define PhotometricFunction_h
15#include "SpecialPixel.h"
46 virtual double compute(
const double &line,
const double &sample,
int band = 1,
bool useDem =
false);
47 virtual double photometry(
double i,
double e,
double g,
int band = 1 )
const = 0;
69 double m_minimumIncidenceAngle;
70 double m_maximumIncidenceAngle;
71 double m_minimumEmissionAngle;
72 double m_maximumEmissionAngle;
73 double m_minimumPhaseAngle;
74 double m_maximumPhaseAngle;
93 T
ConfKey(
const DbProfile &conf,
const QString &keyname,
const T &defval,
int index = 0 )
const {
94 if (!conf.exists(keyname)) {
97 if (conf.count(keyname) < index) {
100 return conf.value(keyname, index);
IO Handler for Isis Cubes.
A DbProfile is a container for access parameters to a database.
An abstract implementation of the photometric function.
PhotometricFunction(PvlObject &pvl, Cube &cube, bool useCamera)
Construct Photometric function from Pvl and Cube file.
virtual void setMaximumIncidenceAngle(double angle)
Mutator function to set maximum incidence angle.
virtual void setMaximumEmissionAngle(double angle)
Mutator function to set maximum emission angle.
virtual double compute(const double &line, const double &sample, int band=1, bool useDem=false)
Computes Photometric function from cube attributes.
virtual ~PhotometricFunction()
Destructor.
virtual void setMinimumPhaseAngle(double angle)
Mutator function to set minimum phase angle.
virtual double maximumEmissionAngle()
Accessor method to access maximum emission angle.
static QString algorithmName(const PvlObject &pvl)
Finds the name of the algorithm defined in a PVL object.
virtual double maximumPhaseAngle()
Accessor method to access maximum phase angle.
virtual double minimumIncidenceAngle()
Accessor method to access minimum incidence angle.
virtual double minimumEmissionAngle()
Accessor method to access minimum emission angle.
T ConfKey(const DbProfile &conf, const QString &keyname, const T &defval, int index=0) const
Helper template to initialize parameters.
virtual void setMaximumPhaseAngle(double angle)
Mutator function to set maximum phase angle.
virtual void setMinimumEmissionAngle(double angle)
Mutator function to set minimum emission angle.
virtual void setMinimumIncidenceAngle(double angle)
Mutator function to set minimum incidence angle.
virtual double minimumPhaseAngle()
Accessor method to access minimum phase angle.
virtual double maximumIncidenceAngle()
Accessor method to access maximum incidence angle.
void setCamera(Camera *cam)
Set the camera used to compute photometric angles.
Contains more than one keyword-value pair.
Contains Pvl Groups and Pvl Objects.
This is free and unencumbered software released into the public domain.