An official website of the United States government
Here’s how you know
Official websites use .gov
A
.gov website belongs to an official government
organization in the United States.
Secure .gov websites use HTTPS
A
lock
( ) or https:// means you’ve safely connected to
the .gov website. Share sensitive information only on official,
secure websites.
Isis Developer Reference
|
Hapke-Henyey-Greenstein photometric model. More...
#include <Hapke.h>
Public Member Functions | |
Hapke (Pvl &pvl) | |
virtual | ~Hapke () |
void | SetPhotoHg1 (const double hg1) |
Set the Hapke Henyey Greenstein coefficient for the single particle phase function. | |
void | SetPhotoHg2 (const double hg2) |
Return photometric Hg1 value. | |
void | SetPhotoBh (const double bh) |
Return photometric Hg2 value. | |
void | SetPhotoCh (const double ch) |
Return photometric Bh value. | |
void | SetPhotoWh (const double wh) |
Return photometric Ch value. | |
void | SetPhotoHh (const double hh) |
Return photometric Wh value. | |
void | SetPhotoB0 (const double b0) |
Return photometric Hh value. | |
void | SetPhotoTheta (const double theta) |
Return photometric B0 value. | |
void | SetOldTheta (double theta) |
Return photometric Theta value. | |
void | SetPhoto0B0Standard (const QString &b0standard) |
Determine if the Hapke opposition surge component is initialized to zero during the SetStandardConditions phase. | |
void | SetStandardConditions (bool standard) |
Sets whether standard conditions will be used. | |
virtual double | PhotoModelAlgorithm (double phase, double incidence, double emission) |
QString | AlgorithmName () const |
Return algorithm name found in Pvl file from constructor. | |
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. | |
double | PhotoHg1 () const |
Return photometric Hg1 value. | |
double | PhotoHg2 () const |
Return photometric Hg2 value. | |
double | PhotoBh () const |
Return photometric Bh value. | |
double | PhotoCh () const |
Return photometric Ch value. | |
double | PhotoWh () const |
Return photometric Wh value. | |
double | PhotoHh () const |
Return photometric Hh value. | |
double | PhotoB0 () const |
Return photometric B0 value. | |
double | PhotoTheta () const |
Return photometric Theta value. | |
QString | 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 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. | |
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 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 |
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.
Isis::Hapke::Hapke | ( | Pvl & | pvl | ) |
References Isis::PhotoModel::AlgorithmName(), Isis::PvlObject::findObject(), Isis::PvlContainer::hasKeyword(), Isis::PhotoModel::p_algName, Isis::PhotoModel::p_photoB0, Isis::PhotoModel::p_photoB0save, Isis::PhotoModel::p_photoHg1, Isis::PhotoModel::p_photoHg2, Isis::PhotoModel::p_photoHh, Isis::PhotoModel::p_photoTheta, Isis::PhotoModel::p_photoThetaold, Isis::PhotoModel::p_photoWh, Isis::PhotoModel::PhotoModel(), SetPhoto0B0Standard(), SetPhotoB0(), SetPhotoBh(), SetPhotoCh(), SetPhotoHg1(), SetPhotoHg2(), SetPhotoHh(), SetPhotoTheta(), SetPhotoWh(), and Isis::PvlObject::Traverse.
|
inlinevirtual |
|
inlineinherited |
Return algorithm name found in Pvl file from constructor.
Referenced by Isis::Hapke::Hapke().
|
inherited |
Calculate the surface brightness using photometric angle information.
pha | Phase angle |
inc | Incidence angle |
ema | Emission angle |
References PhotoModelAlgorithm().
Referenced by Isis::Albedo::Albedo(), Isis::AlbedoAtm::AlbedoAtm(), Isis::NumericalAtmosApprox::InrFunc2Bint(), Isis::Mixed::Mixed(), Isis::Albedo::NormModelAlgorithm(), Isis::AlbedoAtm::NormModelAlgorithm(), Isis::Mixed::NormModelAlgorithm(), Isis::MoonAlbedo::NormModelAlgorithm(), Isis::NoNormalization::NormModelAlgorithm(), Isis::Shade::NormModelAlgorithm(), Isis::ShadeAtm::NormModelAlgorithm(), Isis::Topo::NormModelAlgorithm(), Isis::TopoAtm::NormModelAlgorithm(), PhtTopder(), and Isis::TopoAtm::TopoAtm().
|
inlineinherited |
Hapke's approximation to Chandra's H function.
Referenced by Isis::Hapke::PhotoModelAlgorithm().
|
inlineinherited |
Return photometric B0 standardization value.
References p_photo0B0Standard.
|
inlineinherited |
Return photometric B0 value.
References p_photoB0.
|
inlineinherited |
Return photometric Bh value.
References p_photoBh.
|
inlineinherited |
Return photometric Ch value.
References p_photoCh.
|
inlineinherited |
Return photometric Hg1 value.
References p_photoHg1.
|
inlineinherited |
Return photometric Hg2 value.
References p_photoHg2.
|
inlineinherited |
Return photometric Hh value.
References p_photoHh.
|
inlineinherited |
Return photometric K value.
References p_photoK.
|
inlineinherited |
Return photometric k value list.
References p_photoKList.
|
inlineinherited |
Return photometric L value.
References p_photoL.
|
inlineinherited |
Return photometric l value list.
References p_photoLList.
|
virtual |
Implements Isis::PhotoModel.
References Isis::PhotoModel::Hfunc(), Isis::PhotoModel::p_algName, Isis::PhotoModel::p_photoB0, Isis::PhotoModel::p_photoBh, Isis::PhotoModel::p_photoCh, Isis::PhotoModel::p_photoCot2t, Isis::PhotoModel::p_photoCott, Isis::PhotoModel::p_photoHg1, Isis::PhotoModel::p_photoHg2, Isis::PhotoModel::p_photoHh, Isis::PhotoModel::p_photoOsr, Isis::PhotoModel::p_photoSr, Isis::PhotoModel::p_photoTant, Isis::PhotoModel::p_photoTheta, Isis::PhotoModel::p_photoThetaold, Isis::PhotoModel::p_photoWh, Isis::PI, and SetOldTheta().
|
inlineinherited |
Return photometric phase curve value list.
References p_photoPhaseCurveList.
|
inlineinherited |
Return photometric phase angle list.
References p_photoPhaseList.
|
inlineinherited |
Return photometric Theta value.
References p_photoTheta.
|
inlineinherited |
Return photometric Wh value.
References p_photoWh.
|
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.
cosang | input value to obtain arccosine of (in radians) |
Referenced by PhtTopder().
|
inherited |
Obtain topographic derivative of an arbitrary photometric function.
phase | Input phase angle |
incidence | Input incidence angle |
emission | Input emission angle |
References CalcSurfAlbedo(), PhtAcos(), and Isis::PI.
Referenced by Isis::Mixed::Mixed(), Isis::Mixed::NormModelAlgorithm(), Isis::Topo::NormModelAlgorithm(), Isis::TopoAtm::NormModelAlgorithm(), and Isis::TopoAtm::TopoAtm().
|
inline |
Return photometric Theta value.
References Isis::PhotoModel::p_photoThetaold.
Referenced by PhotoModelAlgorithm().
|
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.
b0standard | Hapke opposition surge initialization, default is true |
Reimplemented from Isis::PhotoModel.
References _FILEINFO_, Isis::PhotoModel::p_photo0B0Standard, Isis::IString::UpCase(), and Isis::IException::User.
Referenced by Hapke().
|
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.
b0 | Hapke opposition surge component, default is 0.0 |
Reimplemented from Isis::PhotoModel.
References _FILEINFO_, Isis::PhotoModel::p_photoB0, and Isis::IException::User.
Referenced by Hapke().
|
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.
bh | Hapke Legendre coefficient, default is 0.0 |
Reimplemented from Isis::PhotoModel.
References _FILEINFO_, Isis::PhotoModel::p_photoBh, and Isis::IException::User.
Referenced by Hapke().
|
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.
ch | Hapke Legendre coefficient, default is 0.0 |
Reimplemented from Isis::PhotoModel.
References _FILEINFO_, Isis::PhotoModel::p_photoCh, and Isis::IException::User.
Referenced by Hapke().
|
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.
hg1 | Hapke Henyey Greenstein coefficient, default is 0.0 |
Reimplemented from Isis::PhotoModel.
References _FILEINFO_, Isis::PhotoModel::p_photoHg1, and Isis::IException::User.
Referenced by Hapke().
|
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.
hg2 | Hapke Henyey Greenstein coefficient, default is 0.0 |
Reimplemented from Isis::PhotoModel.
References _FILEINFO_, Isis::PhotoModel::p_photoHg2, and Isis::IException::User.
Referenced by Hapke().
|
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.
hh | Hapke opposition surge component, default is 0.0 |
Reimplemented from Isis::PhotoModel.
References _FILEINFO_, Isis::PhotoModel::p_photoHh, and Isis::IException::User.
Referenced by Hapke().
|
inlinevirtualinherited |
Reimplemented in Isis::Minnaert.
References p_photoK.
|
inlinevirtualinherited |
Reimplemented in Isis::MinnaertEmpirical.
|
inlinevirtualinherited |
Reimplemented in Isis::LunarLambert.
References p_photoL.
|
inlinevirtualinherited |
Reimplemented in Isis::LunarLambertEmpirical.
|
inlinevirtualinherited |
Reimplemented in Isis::LunarLambertEmpirical, and Isis::MinnaertEmpirical.
|
inlinevirtualinherited |
Reimplemented in Isis::LunarLambertEmpirical, and Isis::MinnaertEmpirical.
|
virtual |
Return photometric B0 value.
Set the Hapke macroscopic roughness component.
This parameter is limited to values that are >=0 and <=90.
theta | Hapke macroscopic roughness component, default is 0.0 |
Reimplemented from Isis::PhotoModel.
References _FILEINFO_, Isis::PhotoModel::p_photoTheta, and Isis::IException::User.
Referenced by Hapke().
|
virtual |
Return photometric Ch value.
Set the Hapke single scattering albedo component.
This parameter is limited to values that are >0 and <=1.
wh | Hapke single scattering albedo component, default is 0.5 |
Reimplemented from Isis::PhotoModel.
References _FILEINFO_, Isis::PhotoModel::p_photoWh, and Isis::IException::User.
Referenced by Hapke().
|
virtual |
Sets whether standard conditions will be used.
standard | True if standard conditions are used. |
Reimplemented from Isis::PhotoModel.
References Isis::PhotoModel::p_photo0B0Standard, Isis::PhotoModel::p_photoB0, Isis::PhotoModel::p_photoB0save, and Isis::PhotoModel::SetStandardConditions().
|
inlineinherited |
Returns true if standard conditions are used, i.e., if SetStandardConditions(true) has been called. This is initialized to false in the constructor.
|
protectedinherited |
Referenced by Isis::Hapke::Hapke(), and Isis::Hapke::PhotoModelAlgorithm().
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
Referenced by Isis::Hapke::Hapke(), and Isis::Hapke::SetStandardConditions().
|
protectedinherited |
Referenced by PhotoBh(), Isis::Hapke::PhotoModelAlgorithm(), Isis::Hapke::SetPhotoBh(), and SetPhotoBh().
|
protectedinherited |
Referenced by Isis::LunarLambertEmpirical::LunarLambertEmpirical(), Isis::MinnaertEmpirical::MinnaertEmpirical(), Isis::LunarLambertEmpirical::PhotoModelAlgorithm(), Isis::MinnaertEmpirical::PhotoModelAlgorithm(), Isis::LunarLambertEmpirical::~LunarLambertEmpirical(), and Isis::MinnaertEmpirical::~MinnaertEmpirical().
|
protectedinherited |
Referenced by PhotoCh(), Isis::Hapke::PhotoModelAlgorithm(), Isis::Hapke::SetPhotoCh(), and SetPhotoCh().
|
protectedinherited |
Referenced by Isis::Hapke::PhotoModelAlgorithm().
|
protectedinherited |
Referenced by Isis::Hapke::PhotoModelAlgorithm().
|
protectedinherited |
Referenced by Isis::Hapke::Hapke(), PhotoHg1(), Isis::Hapke::PhotoModelAlgorithm(), Isis::Hapke::SetPhotoHg1(), and SetPhotoHg1().
|
protectedinherited |
Referenced by Isis::Hapke::Hapke(), PhotoHg2(), Isis::Hapke::PhotoModelAlgorithm(), Isis::Hapke::SetPhotoHg2(), and SetPhotoHg2().
|
protectedinherited |
Referenced by Isis::Hapke::Hapke(), PhotoHh(), Isis::Hapke::PhotoModelAlgorithm(), Isis::Hapke::SetPhotoHh(), and SetPhotoHh().
|
protectedinherited |
Referenced by PhotoK(), Isis::Minnaert::PhotoModelAlgorithm(), Isis::Minnaert::SetPhotoK(), and SetPhotoK().
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
Referenced by PhotoL(), Isis::LunarLambert::PhotoModelAlgorithm(), Isis::LunarLambert::SetPhotoL(), and SetPhotoL().
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
Referenced by Isis::Hapke::PhotoModelAlgorithm().
|
protectedinherited |
|
protectedinherited |
Referenced by Isis::LunarLambertEmpirical::LunarLambertEmpirical(), Isis::MinnaertEmpirical::MinnaertEmpirical(), PhotoPhaseCurveList(), Isis::LunarLambertEmpirical::SetPhotoPhaseCurveList(), Isis::LunarLambertEmpirical::SetPhotoPhaseCurveList(), Isis::MinnaertEmpirical::SetPhotoPhaseCurveList(), Isis::MinnaertEmpirical::SetPhotoPhaseCurveList(), Isis::LunarLambertEmpirical::~LunarLambertEmpirical(), and Isis::MinnaertEmpirical::~MinnaertEmpirical().
|
protectedinherited |
Referenced by Isis::LunarLambertEmpirical::LunarLambertEmpirical(), Isis::MinnaertEmpirical::MinnaertEmpirical(), PhotoPhaseList(), Isis::LunarLambertEmpirical::SetPhotoPhaseList(), Isis::LunarLambertEmpirical::SetPhotoPhaseList(), Isis::MinnaertEmpirical::SetPhotoPhaseList(), Isis::MinnaertEmpirical::SetPhotoPhaseList(), Isis::LunarLambertEmpirical::~LunarLambertEmpirical(), and Isis::MinnaertEmpirical::~MinnaertEmpirical().
|
protectedinherited |
Referenced by Isis::Hapke::PhotoModelAlgorithm().
|
protectedinherited |
Referenced by Isis::Hapke::PhotoModelAlgorithm().
|
protectedinherited |
|
protectedinherited |
Referenced by Isis::Hapke::Hapke(), Isis::Hapke::PhotoModelAlgorithm(), and Isis::Hapke::SetOldTheta().
|
protectedinherited |
Referenced by Isis::Hapke::Hapke(), Isis::Hapke::PhotoModelAlgorithm(), PhotoWh(), Isis::Hapke::SetPhotoWh(), and SetPhotoWh().