16#include "PhotometricFunction.h" 
   65    return pvl.findObject(
"PhotometricModel").findGroup(
"Algorithm", 
Pvl::Traverse).findKeyword(
"Name")[0];
 
 
   87    if (m_camera->
Band() != band) {
 
   91    if (!m_camera->
SetImage(sample, line)) {
 
  101      Angle phase, incidence, emission;
 
  106        i = incidence.degrees();
 
  116    return photometry(i, e, g, band);
 
 
  132    m_minimumIncidenceAngle = angle;
 
 
  148    m_maximumIncidenceAngle = angle;
 
 
  164    m_minimumEmissionAngle = angle;
 
 
  180    m_maximumEmissionAngle = angle;
 
 
  196    m_minimumPhaseAngle = angle;
 
 
  212    m_maximumPhaseAngle = angle;
 
 
  228    return m_minimumIncidenceAngle;
 
 
  244    return m_maximumIncidenceAngle;
 
 
  260    return m_minimumEmissionAngle;
 
 
  276    return m_maximumEmissionAngle;
 
 
  292    return m_minimumPhaseAngle;
 
 
  308    return m_maximumPhaseAngle;
 
 
Defines an angle and provides unit conversions.
 
double degrees() const
Get the angle in units of Degrees.
 
virtual bool SetImage(const double sample, const double line)
Sets the sample/line values of the image to get the lat/lon values.
 
virtual int Band() const
Returns the current band.
 
void LocalPhotometricAngles(Angle &phase, Angle &incidence, Angle &emission, bool &success)
Calculates LOCAL photometric angles using the DEM (not ellipsoid).
 
virtual void SetBand(const int band)
Virtual method that sets the band number.
 
IO Handler for Isis Cubes.
 
Camera * camera()
Return a camera associated with the cube.
 
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.
 
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 Pvl Groups and Pvl Objects.
 
@ Traverse
Search child objects.
 
virtual double PhaseAngle() const
Returns the phase angle in degrees.
 
virtual double IncidenceAngle() const
Returns the incidence angle in degrees.
 
virtual double EmissionAngle() const
Returns the emission angle in degrees.
 
This is free and unencumbered software released into the public domain.
 
const double Null
Value for an Isis Null pixel.
 
Namespace for the standard library.