USGS

Isis 3.0 Developer's Reference (API)

Home

Isis::PhotoModel Class Reference
[Radiometric And Photometric Correction]

#include <PhotoModel.h>

Inherited by Isis::Hapke, and Isis::LunarLambertMcEwen.

List of all members.

Public Member Functions

 PhotoModel (Pvl &pvl)
 Create a PhotoModel object.
virtual ~PhotoModel ()
std::string 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
iString 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

Detailed Description

Author:
1998-12-21 Randy Kirk

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:
pvl A pvl object containing a valid PhotoModel specification
See also:
photometricModels.doc

References _FILEINFO_, Isis::PvlObject::FindObject(), Isis::PvlContainer::HasKeyword(), Isis::iException::Message(), Isis::PvlObject::Traverse, and Isis::iException::User.

virtual Isis::PhotoModel::~PhotoModel (  )  [inline, virtual]

Member Function Documentation

std::string Isis::PhotoModel::AlgorithmName (  )  const [inline]

Return algorithm name found in Pvl file from constructor.

Referenced by Isis::AtmosModel::GenerateAhTable(), and Isis::Hapke::Hapke().

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

Calculate the surface brightness using photometric angle information.

Parameters:
pha Phase angle
inc Incidence angle
ema Emission angle
Returns:
double Surface brightness calculated by the photometric function

References albedo, and PhotoModelAlgorithm().

Referenced by Isis::NumericalAtmosApprox::InrFunc2Bint(), and PhtTopder().

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

Hapke's approximation to Chandra's H function.

Referenced by Isis::Hapke::PhotoModelAlgorithm().

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

Return photometric B0 standardization value.

References p_photo0B0Standard.

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

Return photometric B0 value.

References p_photoB0.

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

Return photometric Bh value.

References p_photoBh.

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

Return photometric Ch value.

References p_photoCh.

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

Return photometric Hg1 value.

References p_photoHg1.

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

Return photometric Hg2 value.

References p_photoHg2.

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

Return photometric Hh value.

References p_photoHh.

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

Return photometric K value.

References p_photoK.

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

Return photometric k value list.

References p_photoKList.

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

Return photometric L value.

References p_photoL.

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

Return photometric l value list.

References p_photoLList.

virtual double Isis::PhotoModel::PhotoModelAlgorithm ( double  phase,
double  incidence,
double  emission 
) [protected, pure virtual]

Implemented in Isis::Hapke, and Isis::LunarLambertMcEwen.

Referenced by CalcSurfAlbedo().

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

Return photometric phase curve value list.

References p_photoPhaseCurveList.

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

Return photometric phase angle list.

References p_photoPhaseList.

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

Return photometric Theta value.

References p_photoTheta.

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

Return photometric Wh value.

References p_photoWh.

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:
cosang input 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.

Referenced by PhtTopder().

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

Obtain topographic derivative of an arbitrary photometric function.

Parameters:
phase Input phase angle
incidence Input incidence angle
emission Input emission angle
Returns:
double Gradient

References CalcSurfAlbedo(), min(), PhtAcos(), Isis::PI(), and z.

virtual void Isis::PhotoModel::SetOldTheta ( double  theta  )  [inline, virtual]

Reimplemented in Isis::Hapke.

virtual void Isis::PhotoModel::SetPhoto0B0Standard ( const std::string &  b0standard  )  [inline, virtual]

Reimplemented in Isis::Hapke.

virtual void Isis::PhotoModel::SetPhotoB0 ( const double  b0  )  [inline, virtual]

Reimplemented in Isis::Hapke.

virtual void Isis::PhotoModel::SetPhotoBh ( const double  bh  )  [inline, virtual]

Reimplemented in Isis::Hapke.

virtual void Isis::PhotoModel::SetPhotoCh ( const double  ch  )  [inline, virtual]

Reimplemented in Isis::Hapke.

virtual void Isis::PhotoModel::SetPhotoHg1 ( const double  hg1  )  [inline, virtual]

Reimplemented in Isis::Hapke.

virtual void Isis::PhotoModel::SetPhotoHg2 ( const double  hg2  )  [inline, virtual]

Reimplemented in Isis::Hapke.

virtual void Isis::PhotoModel::SetPhotoHh ( const double  hh  )  [inline, virtual]

Reimplemented in Isis::Hapke.

virtual void Isis::PhotoModel::SetPhotoK ( const double  k  )  [inline, virtual]
virtual void Isis::PhotoModel::SetPhotoKList ( const std::string  kstrlist  )  [inline, virtual]
virtual void Isis::PhotoModel::SetPhotoL ( const double  l  )  [inline, virtual]
virtual void Isis::PhotoModel::SetPhotoLList ( const std::string  kstrlist  )  [inline, virtual]
virtual void Isis::PhotoModel::SetPhotoPhaseCurveList ( const std::string  phasecurvestrlist  )  [inline, virtual]
virtual void Isis::PhotoModel::SetPhotoPhaseList ( const std::string  phasestrlist  )  [inline, virtual]
virtual void Isis::PhotoModel::SetPhotoTheta ( const double  theta  )  [inline, virtual]

Reimplemented in Isis::Hapke.

virtual void Isis::PhotoModel::SetPhotoWh ( const double  wh  )  [inline, virtual]

Reimplemented in Isis::Hapke.

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

Sets whether standard conditions will be used.

Parameters:
standard True if standard conditions are used.

Reimplemented in Isis::Hapke.

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.


Member Data Documentation

std::string Isis::PhotoModel::p_photo0B0Standard [protected]
double Isis::PhotoModel::p_photoB0 [protected]
double Isis::PhotoModel::p_photoB0save [protected]
double Isis::PhotoModel::p_photoBh [protected]
double Isis::PhotoModel::p_photoCh [protected]
double Isis::PhotoModel::p_photoCot2t [protected]
double Isis::PhotoModel::p_photoCott [protected]
double Isis::PhotoModel::p_photoHg1 [protected]
double Isis::PhotoModel::p_photoHg2 [protected]
double Isis::PhotoModel::p_photoHh [protected]
double Isis::PhotoModel::p_photoK [protected]

Referenced by PhotoK().

std::vector<double> Isis::PhotoModel::p_photoKList [protected]

Referenced by PhotoKList().

double Isis::PhotoModel::p_photoL [protected]

Referenced by PhotoL().

std::vector<double> Isis::PhotoModel::p_photoLList [protected]

Referenced by PhotoLList().

double Isis::PhotoModel::p_photoOsr [protected]
std::vector<double> Isis::PhotoModel::p_photoPhaseCurveList [protected]

Referenced by PhotoPhaseCurveList().

std::vector<double> Isis::PhotoModel::p_photoPhaseList [protected]

Referenced by PhotoPhaseList().

double Isis::PhotoModel::p_photoSr [protected]
double Isis::PhotoModel::p_photoTant [protected]
double Isis::PhotoModel::p_photoTheta [protected]
double Isis::PhotoModel::p_photoWh [protected]

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