USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::PhotoModel Class Referenceabstract

#include <PhotoModel.h>

Inheritance diagram for Isis::PhotoModel:
Inheritance graph
Collaboration diagram for Isis::PhotoModel:
Collaboration graph

Public Member Functions

 PhotoModel (Pvl &pvl)
 Create a PhotoModel object.
 
QString AlgorithmName () const
 Return algorithm name found in Pvl file from constructor.
 
virtual void SetStandardConditions (bool standard)
 Sets whether standard conditions will be used.
 
bool StandardConditions () const
 Returns true if standard conditions are used, i.e., if SetStandardConditions(true) has been called. This is initialized to false in the constructor.
 
double PhtTopder (double phase, double incidence, double emission)
 Obtain topographic derivative of an arbitrary photometric function.
 
double CalcSurfAlbedo (double pha, double inc, double ema)
 Calculate the surface brightness using photometric angle information.
 
virtual void SetPhotoL (const double l)
 
double PhotoL () const
 Return photometric L value.
 
virtual void SetPhotoK (const double k)
 
double PhotoK () const
 Return photometric K value.
 
virtual void SetPhotoHg1 (const double hg1)
 
double PhotoHg1 () const
 Return photometric Hg1 value.
 
virtual void SetPhotoHg2 (const double hg2)
 
double PhotoHg2 () const
 Return photometric Hg2 value.
 
virtual void SetPhotoBh (const double bh)
 
double PhotoBh () const
 Return photometric Bh value.
 
virtual void SetPhotoCh (const double ch)
 
double PhotoCh () const
 Return photometric Ch value.
 
virtual void SetPhotoWh (const double wh)
 
double PhotoWh () const
 Return photometric Wh value.
 
virtual void SetPhotoHh (const double hh)
 
double PhotoHh () const
 Return photometric Hh value.
 
virtual void SetPhotoB0 (const double b0)
 
double PhotoB0 () const
 Return photometric B0 value.
 
virtual void SetPhotoTheta (const double theta)
 
double PhotoTheta () const
 Return photometric Theta value.
 
virtual void SetOldTheta (double theta)
 
virtual void SetPhoto0B0Standard (const std::string &b0standard)
 
std::string Photo0B0Standard () const
 Return photometric B0 standardization value.
 
double Hfunc (double u, double gamma)
 Hapke's approximation to Chandra's H function.
 
virtual void SetPhotoPhaseList (const std::string phasestrlist)
 
virtual void SetPhotoKList (const std::string kstrlist)
 
virtual void SetPhotoLList (const std::string kstrlist)
 
virtual void SetPhotoPhaseCurveList (const std::string phasecurvestrlist)
 
std::vector< double > PhotoPhaseList () const
 Return photometric phase angle list.
 
std::vector< double > PhotoKList () const
 Return photometric k value list.
 
std::vector< double > PhotoLList () const
 Return photometric l value list.
 
std::vector< double > PhotoPhaseCurveList () const
 Return photometric phase curve value list.
 

Static Public Member Functions

static double PhtAcos (double cosang)
 Obtain arccosine of input value.
 

Protected Member Functions

virtual double PhotoModelAlgorithm (double phase, double incidence, double emission)=0
 

Protected Attributes

double p_photoL
 
double p_photoK
 
double p_photoHg1
 
double p_photoHg2
 
double p_photoBh
 
double p_photoCh
 
double p_photoCott
 
double p_photoCot2t
 
double p_photoTant
 
double p_photoSr
 
double p_photoOsr
 
QString p_algName
 
std::string p_photo0B0Standard
 
double p_photoWh
 
double p_photoHh
 
double p_photoB0
 
double p_photoB0save
 
double p_photoTheta
 
double p_photoThetaold
 
std::vector< double > p_photoPhaseList
 
std::vector< double > p_photoKList
 
std::vector< double > p_photoLList
 
std::vector< double > p_photoPhaseCurveList
 
int p_photoPhaseAngleCount
 
NumericalApproximation p_photoKSpline
 
NumericalApproximation p_photoLSpline
 
NumericalApproximation p_photoBSpline
 

Private Attributes

QString p_photoAlgorithmName
 Unique name of the photometric model.
 
bool p_standardConditions
 Indicates whether standard conditions are used.
 

Detailed Description

Author
1998-12-21 Randy Kirk
History:

1998-12-21 Randy Kirk - USGS, Flagstaff - Original code

2007-02-20 Janet Barrett - Imported from Isis2.

2007-07-31 Steven Lambright - Moved children methods out of this class and into the children classes

2008-03-07 Janet Barrett - Moved variables and related methods that pertain to Hapke specific parameters to this class from the HapkeHen class. Also added the code to set standard conditions.

2008-06-18 Steven Koechle - Fixed Documentation Errors

2008-07-09 Steven Lambright - Fixed unit test

2008-10-17 Steven Lambright - Moved Hapke-specific methods out of this class and into children classes.

2008-11-05 Jeannie Walldren - Moved PhtAcos() from NumericalMethods class.

Definition at line 55 of file PhotoModel.h.

Constructor & Destructor Documentation

Isis::PhotoModel::PhotoModel ( Pvl pvl)

Create a PhotoModel object.

Because this is a pure virtual class you can not create a PhotoModel class directly. Instead, see the PhotoModelFactory class.

Parameters
pvlA pvl object containing a valid PhotoModel specification
See Also
photometricModels.doc

Definition at line 20 of file PhotoModel.cpp.

References _FILEINFO_, Isis::PvlObject::findObject(), and Isis::PvlContainer::hasKeyword().

Member Function Documentation

QString Isis::PhotoModel::AlgorithmName ( ) const
inline

Return algorithm name found in Pvl file from constructor.

Definition at line 61 of file PhotoModel.h.

References p_photoAlgorithmName.

double Isis::PhotoModel::CalcSurfAlbedo ( double  pha,
double  inc,
double  ema 
)

Calculate the surface brightness using photometric angle information.

Parameters
phaPhase angle
incIncidence angle
emaEmission angle
Returns
double Surface brightness calculated by the photometric function

Definition at line 171 of file PhotoModel.cpp.

Referenced by Isis::AlbedoAtm::AlbedoAtm(), Isis::NumericalAtmosApprox::InrFunc2Bint(), and Isis::AlbedoAtm::NormModelAlgorithm().

double Isis::PhotoModel::Hfunc ( double  u,
double  gamma 
)
inline

Hapke's approximation to Chandra's H function.

Definition at line 160 of file PhotoModel.h.

std::string Isis::PhotoModel::Photo0B0Standard ( ) const
inline

Return photometric B0 standardization value.

Definition at line 155 of file PhotoModel.h.

double Isis::PhotoModel::PhotoB0 ( ) const
inline

Return photometric B0 value.

Definition at line 139 of file PhotoModel.h.

double Isis::PhotoModel::PhotoBh ( ) const
inline

Return photometric Bh value.

Definition at line 111 of file PhotoModel.h.

double Isis::PhotoModel::PhotoCh ( ) const
inline

Return photometric Ch value.

Definition at line 118 of file PhotoModel.h.

double Isis::PhotoModel::PhotoHg1 ( ) const
inline

Return photometric Hg1 value.

Definition at line 97 of file PhotoModel.h.

double Isis::PhotoModel::PhotoHg2 ( ) const
inline

Return photometric Hg2 value.

Definition at line 104 of file PhotoModel.h.

double Isis::PhotoModel::PhotoHh ( ) const
inline

Return photometric Hh value.

Definition at line 132 of file PhotoModel.h.

double Isis::PhotoModel::PhotoK ( ) const
inline

Return photometric K value.

Definition at line 90 of file PhotoModel.h.

std::vector<double> Isis::PhotoModel::PhotoKList ( ) const
inline

Return photometric k value list.

Definition at line 175 of file PhotoModel.h.

double Isis::PhotoModel::PhotoL ( ) const
inline

Return photometric L value.

Definition at line 83 of file PhotoModel.h.

std::vector<double> Isis::PhotoModel::PhotoLList ( ) const
inline

Return photometric l value list.

Definition at line 180 of file PhotoModel.h.

std::vector<double> Isis::PhotoModel::PhotoPhaseCurveList ( ) const
inline

Return photometric phase curve value list.

Definition at line 185 of file PhotoModel.h.

std::vector<double> Isis::PhotoModel::PhotoPhaseList ( ) const
inline

Return photometric phase angle list.

Definition at line 170 of file PhotoModel.h.

double Isis::PhotoModel::PhotoTheta ( ) const
inline

Return photometric Theta value.

Definition at line 146 of file PhotoModel.h.

double Isis::PhotoModel::PhotoWh ( ) const
inline

Return photometric Wh value.

Definition at line 125 of file PhotoModel.h.

double Isis::PhotoModel::PhtAcos ( double  cosang)
static

Obtain arccosine of input value.

If the input value is outside of the valid range (-1 to 1), then obtain the arccosine of the closest valid value.

Parameters
cosanginput value to obtain arccosine of (in radians)
Returns
double Arccosine of cosang, if valid.
History:
2008-11-05 Jeannie Walldren - This method was moved from NumericalMethods class.

Definition at line 144 of file PhotoModel.cpp.

double Isis::PhotoModel::PhtTopder ( double  phase,
double  incidence,
double  emission 
)

Obtain topographic derivative of an arbitrary photometric function.

Parameters
phaseInput phase angle
incidenceInput incidence angle
emissionInput emission angle
Returns
double Gradient

Definition at line 58 of file PhotoModel.cpp.

References Isis::PI().

void Isis::PhotoModel::SetStandardConditions ( bool  standard)
virtual

Sets whether standard conditions will be used.

Parameters
standardTrue if standard conditions are used.

Reimplemented in Isis::Hapke.

Definition at line 44 of file PhotoModel.cpp.

Referenced by Isis::AlbedoAtm::AlbedoAtm(), and Isis::Hapke::SetStandardConditions().

bool Isis::PhotoModel::StandardConditions ( ) const
inline

Returns true if standard conditions are used, i.e., if SetStandardConditions(true) has been called. This is initialized to false in the constructor.

Definition at line 67 of file PhotoModel.h.

References p_standardConditions.

Member Data Documentation

QString Isis::PhotoModel::p_photoAlgorithmName
private

Unique name of the photometric model.

Definition at line 223 of file PhotoModel.h.

Referenced by AlgorithmName().

bool Isis::PhotoModel::p_standardConditions
private

Indicates whether standard conditions are used.

Definition at line 225 of file PhotoModel.h.

Referenced by StandardConditions().


The documentation for this class was generated from the following files: