Isis 3 Programmer Reference
Isis::MoonAlbedo Class Reference

Albedo dependent phase function normalization for the Moon. More...

#include <MoonAlbedo.h>

Inheritance diagram for Isis::MoonAlbedo:
Inheritance graph
Collaboration diagram for Isis::MoonAlbedo:
Collaboration graph

Public Member Functions

 MoonAlbedo (Pvl &pvl, PhotoModel &pmodel)
 
std::string AlgorithmName () const
 Return normalization algorithm name.
 
void CalcNrmAlbedo (double pha, double inc, double ema, double dn, double &albedo, double &mult, double &base)
 Calculate the albedo normalization.
 
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.
 
virtual void SetNormWavelength (double wavelength)
 Set the wavelength parameter.
 

Protected Member Functions

virtual void NormModelAlgorithm (double pha, double inc, double ema, double dn, double &albedo, double &mult, double &base)
 
virtual void NormModelAlgorithm (double pha, double inc, double ema, double deminc, double demema, double dn, double &albedo, double &mult, double &base)
 
void SetAlgorithmName (std::string name)
 
PhotoModelGetPhotoModel ()
 
AtmosModelGetAtmosModel ()
 

Protected Attributes

double p_normWavelength
 

Private Member Functions

void SetNormD (const double d)
 Set parameters needed for albedo dependent phase function normalization for the Moon.
 
void SetNormE (const double e)
 Set the albedo dependent phase function normalization parameter.
 
void SetNormF (const double f)
 Set the albedo dependent phase function normalization parameter.
 
void SetNormG2 (const double g2)
 Set the albedo dependent phase function normalization parameter.
 
void SetNormXmul (const double xmul)
 Set the albedo dependent phase function normalization parameter.
 
void SetNormWl (const double wl)
 Set the albedo dependent phase function normalization parameter.
 
void SetNormH (const double h)
 Set the albedo dependent phase function normalization parameter.
 
void SetNormBsh1 (const double bsh1)
 Set the albedo dependent phase function normalization parameter.
 
void SetNormXb1 (const double xb1)
 Set the albedo dependent phase function normalization parameter.
 
void SetNormXb2 (const double xb2)
 Set the albedo dependent phase function normalization parameter.
 

Private Attributes

double p_normD
 
double p_normE
 
double p_normF
 
double p_normG2
 
double p_normXmul
 
double p_normWl
 
double p_normH
 
double p_normBsh1
 
double p_normXb1
 
double p_normXb2
 
double p_normF1
 
double p_normG2sq
 
double p_normPg30
 
double p_normBc1
 
double p_normFbc3
 
double p_normC3
 
double p_normPg32
 
double p_normBshad3
 
std::string p_normAlgorithmName
 
PhotoModelp_normPM
 
AtmosModelp_normAM
 

Detailed Description

Albedo dependent phase function normalization for the Moon.

Author
1998-12-21 Randy Kirk
History
2010-11-30 Janet Barrett - Added ability to use photometric angles from the ellipsoid or the DEM

Definition at line 25 of file MoonAlbedo.h.

Constructor & Destructor Documentation

◆ MoonAlbedo()

Isis::MoonAlbedo::MoonAlbedo ( Pvl & pvl,
PhotoModel & pmodel )

Definition at line 16 of file MoonAlbedo.cpp.

◆ ~MoonAlbedo()

virtual Isis::MoonAlbedo::~MoonAlbedo ( )
inlinevirtual

Definition at line 28 of file MoonAlbedo.h.

Member Function Documentation

◆ AlgorithmName()

std::string Isis::NormModel::AlgorithmName ( ) const
inlineinherited

Return normalization algorithm name.

Definition at line 43 of file NormModel.h.

◆ CalcNrmAlbedo() [1/2]

void Isis::NormModel::CalcNrmAlbedo ( double pha,
double inc,
double ema,
double deminc,
double demema,
double dn,
double & albedo,
double & mult,
double & base )
inherited

Calculate the normalization albedo using photometric angle information.

Parameters
phainput phase angle
incinput incidence angle for ellipsoid
emainput emission angle for ellipsoid
demincinput incidence angle for dem
dememainput emission angle for dem
dninput albedo value

Definition at line 89 of file NormModel.cpp.

◆ CalcNrmAlbedo() [2/2]

void Isis::NormModel::CalcNrmAlbedo ( double pha,
double inc,
double ema,
double dn,
double & albedo,
double & mult,
double & base )
inherited

Calculate the albedo normalization.

Calculate the normalization albedo using photometric angle information.

Parameters
phainput phase angle
incinput incidence angle
emainput emission angle
dninput albedo value

Definition at line 64 of file NormModel.cpp.

Referenced by Isis::Photometry::Compute(), and Isis::Photometry::Compute().

◆ GetAtmosModel()

AtmosModel * Isis::NormModel::GetAtmosModel ( )
inlineprotectedinherited

Definition at line 69 of file NormModel.h.

◆ GetPhotoModel()

PhotoModel * Isis::NormModel::GetPhotoModel ( )
inlineprotectedinherited

Definition at line 66 of file NormModel.h.

◆ NormModelAlgorithm() [1/2]

void Isis::MoonAlbedo::NormModelAlgorithm ( double pha,
double inc,
double ema,
double deminc,
double demema,
double dn,
double & albedo,
double & mult,
double & base )
protectedvirtual

Implements Isis::NormModel.

Definition at line 139 of file MoonAlbedo.cpp.

◆ NormModelAlgorithm() [2/2]

virtual void Isis::MoonAlbedo::NormModelAlgorithm ( double pha,
double inc,
double ema,
double dn,
double & albedo,
double & mult,
double & base )
inlineprotectedvirtual

Implements Isis::NormModel.

Definition at line 31 of file MoonAlbedo.h.

◆ SetAlgorithmName()

void Isis::NormModel::SetAlgorithmName ( std::string name)
inlineprotectedinherited

Definition at line 63 of file NormModel.h.

◆ SetNormBsh1()

void Isis::MoonAlbedo::SetNormBsh1 ( const double bsh1)
private

Set the albedo dependent phase function normalization parameter.

This is an emperically derived coefficient. This parameter is limited to values >= 0.

Parameters
bsh1Normalization function parameter, default is 0.08

Definition at line 295 of file MoonAlbedo.cpp.

◆ SetNormD()

void Isis::MoonAlbedo::SetNormD ( const double d)
private

Set parameters needed for albedo dependent phase function normalization for the Moon.

Set the albedo dependent phase function normalization parameter.

This is an emperically derived coefficient. This parameter has no limits.

Parameters
dNormalization function parameter, default is 0.14

Definition at line 211 of file MoonAlbedo.cpp.

◆ SetNormE()

void Isis::MoonAlbedo::SetNormE ( const double e)
private

Set the albedo dependent phase function normalization parameter.

This is an emperically derived coefficient. This parameter has no limits.

Parameters
eNormalization function parameter, default is -0.4179

Definition at line 234 of file MoonAlbedo.cpp.

◆ SetNormF()

void Isis::MoonAlbedo::SetNormF ( const double f)
private

Set the albedo dependent phase function normalization parameter.

This is an emperically derived coefficient. This parameter has no limits.

Parameters
fNormalization function parameter, default is 0.55

Definition at line 245 of file MoonAlbedo.cpp.

◆ SetNormG2()

void Isis::MoonAlbedo::SetNormG2 ( const double g2)
private

Set the albedo dependent phase function normalization parameter.

This is an emperically derived coefficient. This parameter has no limits.

Parameters
g2Normalization function parameter, default is 0.02

Definition at line 256 of file MoonAlbedo.cpp.

◆ SetNormH()

void Isis::MoonAlbedo::SetNormH ( const double h)
private

Set the albedo dependent phase function normalization parameter.

This is an emperically derived coefficient. This parameter is limited to non-zero values.

Parameters
hNormalization function parameter, default is 0.048

Definition at line 278 of file MoonAlbedo.cpp.

◆ SetNormWavelength()

void Isis::NormModel::SetNormWavelength ( double wavelength)
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 51 of file NormModel.cpp.

Referenced by Isis::Photometry::SetPhotomWl().

◆ SetNormWl()

void Isis::MoonAlbedo::SetNormWl ( const double wl)
private

Set the albedo dependent phase function normalization parameter.

This is the wavelength in micrometers of the image being normalized (found in the BandBin Center keyword of the image). This parameter has no limits.

Parameters
wlNormalization function parameter, default is 1.0

Definition at line 223 of file MoonAlbedo.cpp.

◆ SetNormXb1()

void Isis::MoonAlbedo::SetNormXb1 ( const double xb1)
private

Set the albedo dependent phase function normalization parameter.

This is an emperically derived coefficient. This parameter has no limits.

Parameters
xb1Normalization function parameter, default is -0.0817

Definition at line 312 of file MoonAlbedo.cpp.

◆ SetNormXb2()

void Isis::MoonAlbedo::SetNormXb2 ( const double xb2)
private

Set the albedo dependent phase function normalization parameter.

This is an emperically derived coefficient. This parameter has no limits.

Parameters
xb2Normalization function parameter, default is 0.0081

Definition at line 323 of file MoonAlbedo.cpp.

◆ SetNormXmul()

void Isis::MoonAlbedo::SetNormXmul ( const double xmul)
private

Set the albedo dependent phase function normalization parameter.

This parameter is used to convert radiance to reflectance or apply a calibration fudge factor. This parameter has no limits.

Parameters
xmulNormalization function parameter, default is 1.0

Definition at line 267 of file MoonAlbedo.cpp.

Member Data Documentation

◆ p_normAlgorithmName

std::string Isis::NormModel::p_normAlgorithmName
privateinherited

Definition at line 76 of file NormModel.h.

◆ p_normAM

AtmosModel* Isis::NormModel::p_normAM
privateinherited

Definition at line 78 of file NormModel.h.

◆ p_normBc1

double Isis::MoonAlbedo::p_normBc1
private

Definition at line 64 of file MoonAlbedo.h.

◆ p_normBsh1

double Isis::MoonAlbedo::p_normBsh1
private

Definition at line 58 of file MoonAlbedo.h.

◆ p_normBshad3

double Isis::MoonAlbedo::p_normBshad3
private

Definition at line 68 of file MoonAlbedo.h.

◆ p_normC3

double Isis::MoonAlbedo::p_normC3
private

Definition at line 66 of file MoonAlbedo.h.

◆ p_normD

double Isis::MoonAlbedo::p_normD
private

Definition at line 51 of file MoonAlbedo.h.

◆ p_normE

double Isis::MoonAlbedo::p_normE
private

Definition at line 52 of file MoonAlbedo.h.

◆ p_normF

double Isis::MoonAlbedo::p_normF
private

Definition at line 53 of file MoonAlbedo.h.

◆ p_normF1

double Isis::MoonAlbedo::p_normF1
private

Definition at line 61 of file MoonAlbedo.h.

◆ p_normFbc3

double Isis::MoonAlbedo::p_normFbc3
private

Definition at line 65 of file MoonAlbedo.h.

◆ p_normG2

double Isis::MoonAlbedo::p_normG2
private

Definition at line 54 of file MoonAlbedo.h.

◆ p_normG2sq

double Isis::MoonAlbedo::p_normG2sq
private

Definition at line 62 of file MoonAlbedo.h.

◆ p_normH

double Isis::MoonAlbedo::p_normH
private

Definition at line 57 of file MoonAlbedo.h.

◆ p_normPg30

double Isis::MoonAlbedo::p_normPg30
private

Definition at line 63 of file MoonAlbedo.h.

◆ p_normPg32

double Isis::MoonAlbedo::p_normPg32
private

Definition at line 67 of file MoonAlbedo.h.

◆ p_normPM

PhotoModel* Isis::NormModel::p_normPM
privateinherited

Definition at line 77 of file NormModel.h.

◆ p_normWavelength

double Isis::NormModel::p_normWavelength
protectedinherited

Definition at line 73 of file NormModel.h.

◆ p_normWl

double Isis::MoonAlbedo::p_normWl
private

Definition at line 56 of file MoonAlbedo.h.

◆ p_normXb1

double Isis::MoonAlbedo::p_normXb1
private

Definition at line 59 of file MoonAlbedo.h.

◆ p_normXb2

double Isis::MoonAlbedo::p_normXb2
private

Definition at line 60 of file MoonAlbedo.h.

◆ p_normXmul

double Isis::MoonAlbedo::p_normXmul
private

Definition at line 55 of file MoonAlbedo.h.


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