Isis 3 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. 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 |
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, SetPhoto0B0Standard(), SetPhotoB0(), SetPhotoBh(), SetPhotoCh(), SetPhotoHg1(), SetPhotoHg2(), SetPhotoHh(), SetPhotoTheta(), SetPhotoWh(), and Isis::PvlObject::Traverse.
|
inlinevirtual |
|
inlineinherited |
|
inherited |
Calculate the surface brightness using photometric angle information.
pha | Phase angle |
inc | Incidence angle |
ema | Emission angle |
Referenced by Isis::Albedo::Albedo(), Isis::AlbedoAtm::AlbedoAtm(), Isis::NumericalAtmosApprox::InrFunc2Bint(), Isis::Mixed::Mixed(), Isis::MoonAlbedo::NormModelAlgorithm(), Isis::Topo::NormModelAlgorithm(), Isis::NoNormalization::NormModelAlgorithm(), Isis::ShadeAtm::NormModelAlgorithm(), Isis::Shade::NormModelAlgorithm(), Isis::Mixed::NormModelAlgorithm(), Isis::AlbedoAtm::NormModelAlgorithm(), Isis::Albedo::NormModelAlgorithm(), Isis::TopoAtm::NormModelAlgorithm(), and Isis::TopoAtm::TopoAtm().
|
inlineinherited |
Hapke's approximation to Chandra's H function.
Referenced by PhotoModelAlgorithm().
|
inlineinherited |
Return photometric B0 standardization value.
References Isis::PhotoModel::p_photo0B0Standard.
|
inlineinherited |
Return photometric B0 value.
References Isis::PhotoModel::p_photoB0.
|
inlineinherited |
Return photometric Bh value.
References Isis::PhotoModel::p_photoBh.
|
inlineinherited |
Return photometric Ch value.
References Isis::PhotoModel::p_photoCh.
|
inlineinherited |
Return photometric Hg1 value.
References Isis::PhotoModel::p_photoHg1.
|
inlineinherited |
Return photometric Hg2 value.
References Isis::PhotoModel::p_photoHg2.
|
inlineinherited |
Return photometric Hh value.
References Isis::PhotoModel::p_photoHh.
|
inlineinherited |
Return photometric K value.
References Isis::PhotoModel::p_photoK.
|
inlineinherited |
Return photometric k value list.
References Isis::PhotoModel::p_photoKList.
|
inlineinherited |
Return photometric L value.
References Isis::PhotoModel::p_photoL.
|
inlineinherited |
Return photometric l value list.
References Isis::PhotoModel::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 Isis::PhotoModel::p_photoPhaseCurveList.
|
inlineinherited |
Return photometric phase angle list.
References Isis::PhotoModel::p_photoPhaseList.
|
inlineinherited |
Return photometric Theta value.
References Isis::PhotoModel::p_photoTheta.
|
inlineinherited |
Return photometric Wh value.
References Isis::PhotoModel::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) |
|
inherited |
Obtain topographic derivative of an arbitrary photometric function.
phase | Input phase angle |
incidence | Input incidence angle |
emission | Input emission angle |
References Isis::PI.
Referenced by Isis::Mixed::Mixed(), Isis::Topo::NormModelAlgorithm(), Isis::Mixed::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 Isis::PhotoModel::p_photoK.
|
inlinevirtualinherited |
Reimplemented in Isis::MinnaertEmpirical.
|
inlinevirtualinherited |
Reimplemented in Isis::LunarLambert.
References Isis::PhotoModel::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 Hapke(), and PhotoModelAlgorithm().
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
Referenced by Hapke(), and SetStandardConditions().
|
protectedinherited |
Referenced by Isis::PhotoModel::PhotoBh(), PhotoModelAlgorithm(), SetPhotoBh(), and Isis::PhotoModel::SetPhotoBh().
|
protectedinherited |
Referenced by Isis::LunarLambertEmpirical::LunarLambertEmpirical(), Isis::MinnaertEmpirical::MinnaertEmpirical(), Isis::MinnaertEmpirical::PhotoModelAlgorithm(), Isis::LunarLambertEmpirical::PhotoModelAlgorithm(), Isis::LunarLambertEmpirical::~LunarLambertEmpirical(), and Isis::MinnaertEmpirical::~MinnaertEmpirical().
|
protectedinherited |
Referenced by Isis::PhotoModel::PhotoCh(), PhotoModelAlgorithm(), SetPhotoCh(), and Isis::PhotoModel::SetPhotoCh().
|
protectedinherited |
Referenced by PhotoModelAlgorithm().
|
protectedinherited |
Referenced by PhotoModelAlgorithm().
|
protectedinherited |
Referenced by Hapke(), Isis::PhotoModel::PhotoHg1(), PhotoModelAlgorithm(), SetPhotoHg1(), and Isis::PhotoModel::SetPhotoHg1().
|
protectedinherited |
Referenced by Hapke(), Isis::PhotoModel::PhotoHg2(), PhotoModelAlgorithm(), SetPhotoHg2(), and Isis::PhotoModel::SetPhotoHg2().
|
protectedinherited |
Referenced by Hapke(), Isis::PhotoModel::PhotoHh(), PhotoModelAlgorithm(), SetPhotoHh(), and Isis::PhotoModel::SetPhotoHh().
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
Referenced by PhotoModelAlgorithm().
|
protectedinherited |
|
protectedinherited |
Referenced by Isis::LunarLambertEmpirical::LunarLambertEmpirical(), Isis::MinnaertEmpirical::MinnaertEmpirical(), Isis::PhotoModel::PhotoPhaseCurveList(), Isis::LunarLambertEmpirical::SetPhotoPhaseCurveList(), Isis::MinnaertEmpirical::SetPhotoPhaseCurveList(), Isis::LunarLambertEmpirical::~LunarLambertEmpirical(), and Isis::MinnaertEmpirical::~MinnaertEmpirical().
|
protectedinherited |
Referenced by Isis::LunarLambertEmpirical::LunarLambertEmpirical(), Isis::MinnaertEmpirical::MinnaertEmpirical(), Isis::PhotoModel::PhotoPhaseList(), Isis::LunarLambertEmpirical::SetPhotoPhaseList(), Isis::MinnaertEmpirical::SetPhotoPhaseList(), Isis::LunarLambertEmpirical::~LunarLambertEmpirical(), and Isis::MinnaertEmpirical::~MinnaertEmpirical().
|
protectedinherited |
Referenced by PhotoModelAlgorithm().
|
protectedinherited |
Referenced by PhotoModelAlgorithm().
|
protectedinherited |
Referenced by Hapke(), PhotoModelAlgorithm(), Isis::PhotoModel::PhotoTheta(), SetPhotoTheta(), and Isis::PhotoModel::SetPhotoTheta().
|
protectedinherited |
Referenced by Hapke(), PhotoModelAlgorithm(), and SetOldTheta().
|
protectedinherited |
Referenced by Hapke(), PhotoModelAlgorithm(), Isis::PhotoModel::PhotoWh(), SetPhotoWh(), and Isis::PhotoModel::SetPhotoWh().