File failed to load: https://isis.astrogeology.usgs.gov/6.0.0/Object/assets/jax/output/NativeMML/config.js
Isis 3 Programmer Reference
Isis::Hapke Class Reference

Hapke-Henyey-Greenstein photometric model. More...

#include <Hapke.h>

Inheritance diagram for Isis::Hapke:
Inheritance graph
Collaboration diagram for Isis::Hapke:
Collaboration graph

Public Member Functions

 Hapke (Pvl &pvl)
 
void SetPhotoHg1 (const double hg1)
 Set the Hapke Henyey Greenstein coefficient for the single particle phase function. More...
 
void SetPhotoHg2 (const double hg2)
 Return photometric Hg1 value. More...
 
void SetPhotoBh (const double bh)
 Return photometric Hg2 value. More...
 
void SetPhotoCh (const double ch)
 Return photometric Bh value. More...
 
void SetPhotoWh (const double wh)
 Return photometric Ch value. More...
 
void SetPhotoHh (const double hh)
 Return photometric Wh value. More...
 
void SetPhotoB0 (const double b0)
 Return photometric Hh value. More...
 
void SetPhotoTheta (const double theta)
 Return photometric B0 value. More...
 
void SetOldTheta (double theta)
 Return photometric Theta value. More...
 
void SetPhoto0B0Standard (const QString &b0standard)
 Determine if the Hapke opposition surge component is initialized to zero during the SetStandardConditions phase. More...
 
void SetStandardConditions (bool standard)
 Sets whether standard conditions will be used. More...
 
virtual double PhotoModelAlgorithm (double phase, double incidence, double emission)
 
QString AlgorithmName () const
 Return algorithm name found in Pvl file from constructor. More...
 
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. More...
 
double PhtTopder (double phase, double incidence, double emission)
 Obtain topographic derivative of an arbitrary photometric function. More...
 
double CalcSurfAlbedo (double pha, double inc, double ema)
 Calculate the surface brightness using photometric angle information. More...
 
virtual void SetPhotoL (const double l)
 
double PhotoL () const
 Return photometric L value. More...
 
virtual void SetPhotoK (const double k)
 
double PhotoK () const
 Return photometric K value. More...
 
double PhotoHg1 () const
 Return photometric Hg1 value. More...
 
double PhotoHg2 () const
 Return photometric Hg2 value. More...
 
double PhotoBh () const
 Return photometric Bh value. More...
 
double PhotoCh () const
 Return photometric Ch value. More...
 
double PhotoWh () const
 Return photometric Wh value. More...
 
double PhotoHh () const
 Return photometric Hh value. More...
 
double PhotoB0 () const
 Return photometric B0 value. More...
 
double PhotoTheta () const
 Return photometric Theta value. More...
 
QString Photo0B0Standard () const
 Return photometric B0 standardization value. More...
 
double Hfunc (double u, double gamma)
 Hapke's approximation to Chandra's H function. More...
 
virtual void SetPhotoPhaseList (const QString)
 
virtual void SetPhotoKList (const QString)
 
virtual void SetPhotoLList (const QString)
 
virtual void SetPhotoPhaseCurveList (const QString)
 
std::vector< double > PhotoPhaseList () const
 Return photometric phase angle list. More...
 
std::vector< double > PhotoKList () const
 Return photometric k value list. More...
 
std::vector< double > PhotoLList () const
 Return photometric l value list. More...
 
std::vector< double > PhotoPhaseCurveList () const
 Return photometric phase curve value list. More...
 

Static Public Member Functions

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

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
 
QString 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. More...
 
bool p_standardConditions
 Indicates whether standard conditions are used. More...
 

Detailed Description

Hapke-Henyey-Greenstein photometric model.

Derive model albedo using complete Hapke model with Henyey-Greenstein single-particle phase function whose coefficients are hg1 and hg2, plus single scattering albedo wh, opposition surge parameters hh and b0, and macroscopic roughness theta.

Author
1989-08-02 Unknown
History:
2008-01-14 Janet Barret - Imported into ISIS from Isis2.
History:
2008-03-07 Janet Barrett - Moved variables and related methods that pertain to Hapke specific parameters to the PhotoModel class.
History:
2008-06-18 Stuart Sides - Fixed doc error
History:
2008-10-17 Steven Lambright - Changed inheritance, moved HapkeHen specific methods into this class from the base class.
History:
2008-11-05 Jeannie Walldren - Added documentation from Isis2 files
History:
2012-10-15 Janet Barrett - Shortened the ZEROB0STANDARD parameter name to ZEROB0ST. This was done so that the GUI interface does not have to be resized every time it is opened. The shortened name helps to keep the parameters within the default GUI size when it is first opened. References #453. Fixes #1288.
History:
2016-08-28 Kelvin Rodriguez - SetPhoto0B0Standard now uses QString. Part of porting to OS X 10.11

Definition at line 47 of file Hapke.h.

Member Function Documentation

◆ AlgorithmName()

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

Return algorithm name found in Pvl file from constructor.

Definition at line 47 of file PhotoModel.h.

References Isis::PhotoModel::p_photoAlgorithmName.

◆ CalcSurfAlbedo()

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

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 177 of file PhotoModel.cpp.

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

◆ Hfunc()

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

Hapke's approximation to Chandra's H function.

Definition at line 168 of file PhotoModel.h.

◆ Photo0B0Standard()

QString Isis::PhotoModel::Photo0B0Standard ( ) const
inlineinherited

Return photometric B0 standardization value.

Definition at line 163 of file PhotoModel.h.

◆ PhotoB0()

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

Return photometric B0 value.

Definition at line 143 of file PhotoModel.h.

◆ PhotoBh()

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

Return photometric Bh value.

Definition at line 107 of file PhotoModel.h.

◆ PhotoCh()

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

Return photometric Ch value.

Definition at line 116 of file PhotoModel.h.

◆ PhotoHg1()

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

Return photometric Hg1 value.

Definition at line 89 of file PhotoModel.h.

◆ PhotoHg2()

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

Return photometric Hg2 value.

Definition at line 98 of file PhotoModel.h.

◆ PhotoHh()

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

Return photometric Hh value.

Definition at line 134 of file PhotoModel.h.

◆ PhotoK()

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

Return photometric K value.

Definition at line 80 of file PhotoModel.h.

◆ PhotoKList()

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

Return photometric k value list.

Definition at line 183 of file PhotoModel.h.

◆ PhotoL()

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

Return photometric L value.

Definition at line 71 of file PhotoModel.h.

◆ PhotoLList()

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

Return photometric l value list.

Definition at line 188 of file PhotoModel.h.

◆ PhotoPhaseCurveList()

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

Return photometric phase curve value list.

Definition at line 193 of file PhotoModel.h.

◆ PhotoPhaseList()

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

Return photometric phase angle list.

Definition at line 178 of file PhotoModel.h.

◆ PhotoTheta()

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

Return photometric Theta value.

Definition at line 152 of file PhotoModel.h.

◆ PhotoWh()

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

Return photometric Wh value.

Definition at line 125 of file PhotoModel.h.

◆ PhtAcos()

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

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 150 of file PhotoModel.cpp.

◆ PhtTopder()

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

Obtain topographic derivative of an arbitrary photometric function.

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

Definition at line 64 of file PhotoModel.cpp.

References Isis::PI.

◆ SetOldTheta()

void Isis::Hapke::SetOldTheta ( double  theta)
inline

Return photometric Theta value.

Definition at line 100 of file Hapke.h.

◆ SetPhoto0B0Standard()

void Isis::Hapke::SetPhoto0B0Standard ( const QString &  b0standard)
virtual

Determine if the Hapke opposition surge component is initialized to zero during the SetStandardConditions phase.

This parameter is limited to values that are true or false.

Parameters
b0standardHapke opposition surge initialization, default is true

Reimplemented from Isis::PhotoModel.

Definition at line 423 of file Hapke.cpp.

References Isis::IString::UpCase(), and Isis::IException::User.

◆ SetPhotoB0()

void Isis::Hapke::SetPhotoB0 ( const double  b0)
virtual

Return photometric Hh value.

Set the Hapke opposition surge component.

This is one of two opposition surge components needed for the Hapke model. This parameter is limited to values that are >=0.

Parameters
b0Hapke opposition surge component, default is 0.0

Reimplemented from Isis::PhotoModel.

Definition at line 406 of file Hapke.cpp.

References Isis::IException::User.

◆ SetPhotoBh()

void Isis::Hapke::SetPhotoBh ( const double  bh)
virtual

Return photometric Hg2 value.

Set the Hapke Legendre coefficient for the single particle phase function.

This is one of two coefficients needed for the single particle phase function. This parameter is limited to values that are >=-1 and <=1.

Parameters
bhHapke Legendre coefficient, default is 0.0

Reimplemented from Isis::PhotoModel.

Definition at line 341 of file Hapke.cpp.

References Isis::IException::User.

◆ SetPhotoCh()

void Isis::Hapke::SetPhotoCh ( const double  ch)
virtual

Return photometric Bh value.

Set the Hapke Legendre coefficient for the single particle phase function.

This is one of two coefficients needed for the single particle phase function. This parameter is limited to values that are >=-1 and <=1.

Parameters
chHapke Legendre coefficient, default is 0.0

Reimplemented from Isis::PhotoModel.

Definition at line 358 of file Hapke.cpp.

References Isis::IException::User.

◆ SetPhotoHg1()

void Isis::Hapke::SetPhotoHg1 ( const double  hg1)
virtual

Set the Hapke Henyey Greenstein coefficient for the single particle phase function.

This is one of two coefficients needed for the single particle phase function. This parameter is limited to values that are >-1 and <1.

Parameters
hg1Hapke Henyey Greenstein coefficient, default is 0.0

Reimplemented from Isis::PhotoModel.

Definition at line 307 of file Hapke.cpp.

References Isis::IException::User.

◆ SetPhotoHg2()

void Isis::Hapke::SetPhotoHg2 ( const double  hg2)
virtual

Return photometric Hg1 value.

Set the Hapke Henyey Greenstein coefficient for the single particle phase function.

This is one of two coefficients needed for the single particle phase function. This parameter is limited to values that are >=0 and <=1.

Parameters
hg2Hapke Henyey Greenstein coefficient, default is 0.0

Reimplemented from Isis::PhotoModel.

Definition at line 324 of file Hapke.cpp.

References Isis::IException::User.

◆ SetPhotoHh()

void Isis::Hapke::SetPhotoHh ( const double  hh)
virtual

Return photometric Wh value.

Set the Hapke opposition surge component.

This is one of two opposition surge components needed for the Hapke model. This parameter is limited to values that are >=0.

Parameters
hhHapke opposition surge component, default is 0.0

Reimplemented from Isis::PhotoModel.

Definition at line 390 of file Hapke.cpp.

References Isis::IException::User.

◆ SetPhotoTheta()

void Isis::Hapke::SetPhotoTheta ( const double  theta)
virtual

Return photometric B0 value.

Set the Hapke macroscopic roughness component.

This parameter is limited to values that are >=0 and <=90.

Parameters
thetaHapke macroscopic roughness component, default is 0.0

Reimplemented from Isis::PhotoModel.

Definition at line 444 of file Hapke.cpp.

References Isis::IException::User.

◆ SetPhotoWh()

void Isis::Hapke::SetPhotoWh ( const double  wh)
virtual

Return photometric Ch value.

Set the Hapke single scattering albedo component.

This parameter is limited to values that are >0 and <=1.

Parameters
whHapke single scattering albedo component, default is 0.5

Reimplemented from Isis::PhotoModel.

Definition at line 374 of file Hapke.cpp.

References Isis::IException::User.

◆ SetStandardConditions()

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

Sets whether standard conditions will be used.

Parameters
standardTrue if standard conditions are used.

Reimplemented from Isis::PhotoModel.

Definition at line 454 of file Hapke.cpp.

References Isis::PhotoModel::SetStandardConditions().

◆ StandardConditions()

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

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 53 of file PhotoModel.h.

References Isis::PhotoModel::p_standardConditions.

Member Data Documentation

◆ p_photoAlgorithmName

QString Isis::PhotoModel::p_photoAlgorithmName
privateinherited

Unique name of the photometric model.

Definition at line 232 of file PhotoModel.h.

Referenced by Isis::PhotoModel::AlgorithmName().

◆ p_standardConditions

bool Isis::PhotoModel::p_standardConditions
privateinherited

Indicates whether standard conditions are used.

Definition at line 234 of file PhotoModel.h.

Referenced by Isis::PhotoModel::StandardConditions().


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

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the USGS Astrogeology Discussion Board
To report a bug, or suggest a feature go to: ISIS Github
File Modified: 07/13/2023 15:19:28