Isis 3 Programmer Reference
|
Empirical Lunar Lambert photometric model Derive model albedo using phase dependent Minnaert equation and calculated empirically. More...
#include <LunarLambertEmpirical.h>
Public Member Functions | |
LunarLambertEmpirical (Pvl &pvl) | |
void | SetPhotoPhaseList (QString phasestrlist) |
Set the empirical Lunar Lambert function phase angle list. More... | |
void | SetPhotoLList (QString kstrlist) |
Set the empirical Lunar Lambert function L exponent list. More... | |
void | SetPhotoPhaseCurveList (QString phasecurvestrlist) |
Set the empirical Lunar Lambert function phase curve list. More... | |
virtual double | PhotoModelAlgorithm (double phase, double incidence, double emission) |
Return photometric phase angle list. More... | |
QString | AlgorithmName () const |
Return algorithm name found in Pvl file from constructor. More... | |
virtual void | SetStandardConditions (bool standard) |
Sets whether standard conditions will be used. 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... | |
virtual void | SetPhotoHg1 (const double hg1) |
double | PhotoHg1 () const |
Return photometric Hg1 value. More... | |
virtual void | SetPhotoHg2 (const double hg2) |
double | PhotoHg2 () const |
Return photometric Hg2 value. More... | |
virtual void | SetPhotoBh (const double bh) |
double | PhotoBh () const |
Return photometric Bh value. More... | |
virtual void | SetPhotoCh (const double ch) |
double | PhotoCh () const |
Return photometric Ch value. More... | |
virtual void | SetPhotoWh (const double wh) |
double | PhotoWh () const |
Return photometric Wh value. More... | |
virtual void | SetPhotoHh (const double hh) |
double | PhotoHh () const |
Return photometric Hh value. More... | |
virtual void | SetPhotoB0 (const double b0) |
double | PhotoB0 () const |
Return photometric B0 value. More... | |
virtual void | SetPhotoTheta (const double theta) |
double | PhotoTheta () const |
Return photometric Theta value. More... | |
virtual void | SetPhoto0B0Standard (const QString &b0standard) |
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 | SetPhotoKList (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 |
Empirical Lunar Lambert photometric model Derive model albedo using phase dependent Minnaert equation and calculated empirically.
Limb-darkening k and phase function are arbitrary polynomials in phase angle.
Where k is the Minnaert index, an empirical constant (called nu in Hapke)
If k (nu) = 1, Minnaert's law reduces to Lambert's law. See Theory of Reflectance and Emittance Spectroscopy, 1993; Bruce Hapke; pg. 191-192.
Definition at line 59 of file LunarLambertEmpirical.h.
|
inlineinherited |
Return algorithm name found in Pvl file from constructor.
Definition at line 63 of file PhotoModel.h.
References Isis::PhotoModel::p_photoAlgorithmName.
|
inherited |
Calculate the surface brightness using photometric angle information.
pha | Phase angle |
inc | Incidence angle |
ema | Emission angle |
Definition at line 171 of file PhotoModel.cpp.
Referenced by Isis::Albedo::Albedo(), Isis::AlbedoAtm::AlbedoAtm(), Isis::NumericalAtmosApprox::InrFunc2Bint(), Isis::AlbedoAtm::NormModelAlgorithm(), and Isis::Albedo::NormModelAlgorithm().
|
inlineinherited |
Hapke's approximation to Chandra's H function.
Definition at line 184 of file PhotoModel.h.
|
inlineinherited |
Return photometric B0 standardization value.
Definition at line 179 of file PhotoModel.h.
|
inlineinherited |
Return photometric B0 value.
Definition at line 159 of file PhotoModel.h.
|
inlineinherited |
Return photometric Bh value.
Definition at line 123 of file PhotoModel.h.
|
inlineinherited |
Return photometric Ch value.
Definition at line 132 of file PhotoModel.h.
|
inlineinherited |
Return photometric Hg1 value.
Definition at line 105 of file PhotoModel.h.
|
inlineinherited |
Return photometric Hg2 value.
Definition at line 114 of file PhotoModel.h.
|
inlineinherited |
Return photometric Hh value.
Definition at line 150 of file PhotoModel.h.
|
inlineinherited |
Return photometric K value.
Definition at line 96 of file PhotoModel.h.
|
inlineinherited |
Return photometric k value list.
Definition at line 199 of file PhotoModel.h.
|
inlineinherited |
Return photometric L value.
Definition at line 87 of file PhotoModel.h.
|
inlineinherited |
Return photometric l value list.
Definition at line 204 of file PhotoModel.h.
|
virtual |
Return photometric phase angle list.
Return photometric l value list Return photometric phase curve value list
Implements Isis::PhotoModel.
Definition at line 128 of file LunarLambertEmpirical.cpp.
References Isis::NumericalApproximation::Evaluate(), Isis::NumericalApproximation::Extrapolate, and Isis::PI.
|
inlineinherited |
Return photometric phase curve value list.
Definition at line 209 of file PhotoModel.h.
|
inlineinherited |
Return photometric phase angle list.
Definition at line 194 of file PhotoModel.h.
|
inlineinherited |
Return photometric Theta value.
Definition at line 168 of file PhotoModel.h.
|
inlineinherited |
Return photometric Wh value.
Definition at line 141 of file PhotoModel.h.
|
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) |
Definition at line 144 of file PhotoModel.cpp.
|
inherited |
Obtain topographic derivative of an arbitrary photometric function.
phase | Input phase angle |
incidence | Input incidence angle |
emission | Input emission angle |
Definition at line 58 of file PhotoModel.cpp.
References Isis::PI.
|
virtual |
Set the empirical Lunar Lambert function L exponent list.
This is used to govern the limb-darkening in the Lunar Lambert photometric function. Values of the Lunar Lambert exponent generally fall in the range from 0.0 (Lambert function) to 1.0 (Lommel-Seeliger or "lunar" function). There are no limits on the value of this parameter, but values far outside the 0 to 1 range will not be very useful.
llist | List of Lunar Lambert function exponents to interpolate |
Reimplemented from Isis::PhotoModel.
Definition at line 99 of file LunarLambertEmpirical.cpp.
References Isis::IString::Token().
|
virtual |
Set the empirical Lunar Lambert function phase curve list.
This list provides the brightness values that correspond to the limb-darkening values in the empirical Lunar Lambert photometric function.
phasecurvelist | List of brightness values corresponding to Lunar Lambert function exponents |
Reimplemented from Isis::PhotoModel.
Definition at line 117 of file LunarLambertEmpirical.cpp.
References Isis::IString::Token().
|
virtual |
Set the empirical Lunar Lambert function phase angle list.
This is the list of phase angles that Lunar Lambert L values and phase curve list values will be provided for. A spline curve will be used to interpolate L values and phase curve values that exist between the given phase angles. The values in the phase angle list are limited to values that are >=0 and <=180.
phaselist | List of phase angles to interpolate |
Reimplemented from Isis::PhotoModel.
Definition at line 73 of file LunarLambertEmpirical.cpp.
References _FILEINFO_, Isis::IString::Token(), Isis::toString(), and Isis::IException::User.
|
virtualinherited |
Sets whether standard conditions will be used.
standard | True if standard conditions are used. |
Reimplemented in Isis::Hapke.
Definition at line 44 of file PhotoModel.cpp.
Referenced by Isis::Albedo::Albedo(), Isis::AlbedoAtm::AlbedoAtm(), and Isis::Hapke::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.
Definition at line 69 of file PhotoModel.h.
References Isis::PhotoModel::p_standardConditions.