Isis 3 Programmer Reference
|
#include <Albedo.h>
Public Member Functions | |
Albedo (Pvl &pvl, PhotoModel &pmodel) | |
Constructs an Albedo object. More... | |
std::string | AlgorithmName () const |
Return normalization algorithm name. More... | |
void | CalcNrmAlbedo (double pha, double inc, double ema, double dn, double &albedo, double &mult, double &base) |
Calculate the albedo normalization. More... | |
void | CalcNrmAlbedo (double pha, double inc, double ema, double deminc, double demema, double dn, double &albedo, double &mult, double &base) |
Calculate the normalization albedo using photometric angle information. More... | |
virtual void | SetNormWavelength (double wavelength) |
Set the wavelength parameter. More... | |
Protected Member Functions | |
virtual void | NormModelAlgorithm (double pha, double inc, double ema, double dn, double &albedo, double &mult, double &base) |
Performs the normalization. More... | |
virtual void | NormModelAlgorithm (double pha, double inc, double ema, double deminc, double demema, double dn, double &albedo, double &mult, double &base) |
Performs the normalization. More... | |
void | SetAlgorithmName (std::string name) |
PhotoModel * | GetPhotoModel () |
AtmosModel * | GetAtmosModel () |
Protected Attributes | |
double | p_normWavelength |
Private Member Functions | |
void | SetNormPharef (const double pharef) |
Set parameters needed for albedo normalization. More... | |
void | SetNormIncref (const double incref) |
Set the normalization function parameter. More... | |
void | SetNormEmaref (const double emaref) |
Set the normalization function parameter. More... | |
void | SetNormIncmat (const double incmat) |
Set the normalization function parameter. More... | |
void | SetNormThresh (const double thresh) |
Set the normalization function parameter. More... | |
void | SetNormAlbedo (const double albedo) |
Set the normalization function parameter. More... | |
Private Attributes | |
double | p_normPsurfref |
??? More... | |
double | p_normPharef |
The reference phase angle. More... | |
double | p_normIncref |
The reference incidence angle. More... | |
double | p_normEmaref |
The reference emission angle. More... | |
double | p_normThresh |
Used to amplify variations in the input image. More... | |
double | p_normIncmat |
Incmat. More... | |
double | p_normAlbedo |
The albedo. More... | |
Albedo normalization.
Consistent dividing out of photometric model at given an- gles and putting it back in at reference incidence but zero phase. Let the reference incidence default to zero. For Hapke model only, the photometric function multiplied back in will be modified to take out opposition effect. This requires saving the actual value of B0 while temporarily setting it to zero in the common block to compute the over- all normalization.
2007-08-15 Steven Lambright - Refactored code
2008-03-07 Janet Barrett - Changed name of Incmatch parmater to Incmat
2008-06-18 Christopher Austin - Fixed documentation errors
2010-11-10 Janet Barrett - Added reference parameters for phase and emission so user can specify normalization conditions in initialization
2010-11-30 Janet Barrett - Added ability to use photometric angles from the ellipsoid or the DEM
2017-07-03 Makayla Shepherd - Updated documentation. References #4807.
Isis::Albedo::Albedo | ( | Pvl & | pvl, |
PhotoModel & | pmodel | ||
) |
Constructs an Albedo object.
pvl | |
pmodel |
Definition at line 14 of file Albedo.cpp.
References Isis::PhotoModel::CalcSurfAlbedo(), Isis::PvlObject::findObject(), Isis::PvlContainer::hasKeyword(), p_normEmaref, p_normIncref, p_normPharef, p_normPsurfref, SetNormAlbedo(), SetNormEmaref(), SetNormIncmat(), SetNormIncref(), SetNormPharef(), SetNormThresh(), Isis::PhotoModel::SetStandardConditions(), and Isis::PvlObject::Traverse.
|
inlineinherited |
Return normalization algorithm name.
Definition at line 59 of file NormModel.h.
|
inherited |
Calculate the albedo normalization.
Calculate the normalization albedo using photometric angle information.
pha | input phase angle |
inc | input incidence angle |
ema | input emission angle |
dn | input albedo value |
Definition at line 58 of file NormModel.cpp.
Referenced by Isis::Photometry::Compute().
|
inherited |
Calculate the normalization albedo using photometric angle information.
pha | input phase angle |
inc | input incidence angle for ellipsoid |
ema | input emission angle for ellipsoid |
deminc | input incidence angle for dem |
demema | input emission angle for dem |
dn | input albedo value |
Definition at line 83 of file NormModel.cpp.
|
inlineprotectedvirtual |
Performs the normalization.
pha | The phase angle. |
inc | The incidence angle. |
ema | The emission angle. |
dn | The DN value |
albedo | ??? |
mult | The multiplier of the image |
base | The base of the image |
Implements Isis::NormModel.
|
protectedvirtual |
Performs the normalization.
phase | The phase angle. |
incidence | The incidence angle. |
emission | The emission angle. |
demincidence | The local incidence angle |
dememission | The local emission angle |
dn | The DN value |
albedo | ??? |
mult | The multiplier of the image |
base | The base of the image |
Implements Isis::NormModel.
Definition at line 71 of file Albedo.cpp.
References _FILEINFO_, Isis::PhotoModel::CalcSurfAlbedo(), p_normPsurfref, p_normThresh, and Isis::IException::Unknown.
|
private |
Set the normalization function parameter.
This is the albedo that the image will be normalized to have. To construct mosaics, the same value of albedo should be used for all images to achieve a uniform result.
albedo | Normalization function parameter |
Definition at line 179 of file Albedo.cpp.
References p_normAlbedo.
Referenced by Albedo().
|
private |
Set the normalization function parameter.
This is the reference emission angle to which the image photometry will be normalized. This parameter is limited to values that are >=0 and <90.
emaref | Normalization function parameter, default is 0.0 |
Definition at line 147 of file Albedo.cpp.
References _FILEINFO_, p_normEmaref, Isis::toString(), and Isis::IException::User.
Referenced by Albedo().
|
private |
Set the normalization function parameter.
This parameter is limited to values that are >=0 and <90.
incmat | Normalization function parameter, default is 0.0 |
Definition at line 162 of file Albedo.cpp.
References _FILEINFO_, p_normIncmat, Isis::toString(), and Isis::IException::User.
Referenced by Albedo().
|
private |
Set the normalization function parameter.
This is the reference incidence angle to which the image photometry will be normalized. This parameter is limited to values that are >=0 and <90.
incref | Normalization function parameter, default is 0.0 |
Definition at line 129 of file Albedo.cpp.
References _FILEINFO_, p_normIncref, Isis::toString(), and Isis::IException::User.
Referenced by Albedo().
|
private |
Set parameters needed for albedo normalization.
Set the normalization function parameter.
This is the reference phase angle to which the image photometry will be normalized. This parameter is limited to values that are >=0 and <180.
pharef | Normalization function parameter, default is 0.0 |
Definition at line 111 of file Albedo.cpp.
References _FILEINFO_, p_normPharef, Isis::toString(), and Isis::IException::User.
Referenced by Albedo().
|
private |
Set the normalization function parameter.
It is used to amplify variations in the input image in regions of small incidence angle where the shading in the input image is weak. This parameter sets the upper limit on the amount of amplification that will be attempted. If it is set too low, low incidence areas of the image may appear bland. If it is set too high, then low incidence areas of the image may contain amplified noise rather than useful shading information.
thresh | Normalization function parameter, default is 30.0 |
Definition at line 197 of file Albedo.cpp.
References p_normThresh.
Referenced by Albedo().
|
virtualinherited |
Set the wavelength parameter.
This value is obtained from the BandBin Center keyword of the image. This must be set by the application.
Definition at line 45 of file NormModel.cpp.
Referenced by Isis::Photometry::SetPhotomWl().
|
private |
|
private |
The reference emission angle.
Definition at line 94 of file Albedo.h.
Referenced by Albedo(), and SetNormEmaref().
|
private |
|
private |
The reference incidence angle.
Definition at line 93 of file Albedo.h.
Referenced by Albedo(), and SetNormIncref().
|
private |
The reference phase angle.
Definition at line 92 of file Albedo.h.
Referenced by Albedo(), and SetNormPharef().
|
private |
|
private |
Used to amplify variations in the input image.
Definition at line 95 of file Albedo.h.
Referenced by NormModelAlgorithm(), and SetNormThresh().