Isis 3 Programmer Reference
Isis::AlbedoAtm Class Reference

Albedo normalization with atmosphere. More...

#include <AlbedoAtm.h>

Inheritance diagram for Isis::AlbedoAtm:
Inheritance graph
Collaboration diagram for Isis::AlbedoAtm:
Collaboration graph

Public Member Functions

 AlbedoAtm (Pvl &pvl, PhotoModel &pmodel, AtmosModel &amodel)
 Constructs AlbedoAtm object using a Pvl, PhotoModel, and AtmosModel.
 
virtual ~AlbedoAtm ()
 Empty Destructor.
 
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)
 Performs the normalization.
 
virtual void NormModelAlgorithm (double pha, double inc, double ema, double deminc, double demema, double dn, double &albedo, double &mult, double &base)
 Performs the normalization.
 
void SetAlgorithmName (std::string name)
 
PhotoModelGetPhotoModel ()
 
AtmosModelGetAtmosModel ()
 

Protected Attributes

double p_normWavelength
 

Private Member Functions

void SetNormPharef (const double pharef)
 Set parameters needed for albedo normalization.
 
void SetNormIncref (const double incref)
 Set the normalization function parameter.
 
void SetNormEmaref (const double emaref)
 Set the normalization function parameter.
 

Private Attributes

double p_normPsurfref
 ???
 
double p_normPharef
 The reference phase angle.
 
double p_normIncref
 The reference incidence angle.
 
double p_normEmaref
 The reference emission angle.
 
double p_normPstdref
 ???
 
double p_normAhref
 ???
 
double p_normMunotref
 ???
 
double p_normTransref
 ???
 
double p_normTrans0ref
 ???
 
double p_normTranss
 ???
 
double p_normSbar
 ???
 
std::string p_normAlgorithmName
 
PhotoModelp_normPM
 
AtmosModelp_normAM
 

Detailed Description

Albedo normalization with atmosphere.

Author
1998-12-21 Randy Kirk
History

2007-08-15 Steven Lambright - Refactored code and fixed unit test

2008-06-18 Christopher Austin - Fixed documentation errors

2008-11-05 Jeannie Walldren - Modified references to NumericalMethods class.

2008-11-07 Jeannie Walldren - Fixed documentation.

2009-05-11 Janet Barrett - Fixed so that the NormModelAlgorithm supporting DEM input is the empty function. DEM input is not yet supported.

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 and the DEM

2017-07-03 Makayla Shepherd - Updated documentation. References #4807.

Definition at line 38 of file AlbedoAtm.h.

Constructor & Destructor Documentation

◆ AlbedoAtm()

◆ ~AlbedoAtm()

virtual Isis::AlbedoAtm::~AlbedoAtm ( )
inlinevirtual

Empty Destructor.

Definition at line 42 of file AlbedoAtm.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::AlbedoAtm::NormModelAlgorithm ( double phase,
double incidence,
double emission,
double demincidence,
double dememission,
double dn,
double & albedo,
double & mult,
double & base )
protectedvirtual

Performs the normalization.

Parameters
phaseThe phase angle.
incidenceThe incidence angle.
emissionThe emission angle.
demincidenceThe local incidence angle
dememissionThe local emission angle
dnThe DN value
albedo???
multThe multiplier of the image
baseThe base of the image
History
2008-11-05 Jeannie Walldren - Modified references to NumericalMethods class and replaced Isis::PI with PI since this is in Isis namespace.

Implements Isis::NormModel.

Definition at line 86 of file AlbedoAtm.cpp.

References Isis::AtmosModel::AtmosAb(), Isis::AtmosModel::AtmosAhSpline(), Isis::AtmosModel::CalcAtmEffect(), Isis::PhotoModel::CalcSurfAlbedo(), Isis::NumericalApproximation::Extrapolate, p_normAhref, p_normMunotref, p_normPstdref, p_normPsurfref, p_normSbar, p_normTrans0ref, p_normTransref, Isis::PI, and Isis::IException::Unknown.

◆ NormModelAlgorithm() [2/2]

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

Performs the normalization.

Parameters
phaThe phase angle.
incThe incidence angle.
emaThe emission angle.
dnThe DN value
albedo???
multThe multiplier of the image
baseThe base of the image

Implements Isis::NormModel.

Definition at line 56 of file AlbedoAtm.h.

◆ SetAlgorithmName()

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

Definition at line 63 of file NormModel.h.

◆ SetNormEmaref()

void Isis::AlbedoAtm::SetNormEmaref ( const double emaref)
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.

Parameters
emarefNormalization function parameter, default is 0.0

Definition at line 217 of file AlbedoAtm.cpp.

References p_normEmaref, Isis::toString(), and Isis::IException::User.

Referenced by AlbedoAtm().

◆ SetNormIncref()

void Isis::AlbedoAtm::SetNormIncref ( const double incref)
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.

Parameters
increfNormalization function parameter, default is 0.0

Definition at line 198 of file AlbedoAtm.cpp.

References p_normIncref, Isis::toString(), and Isis::IException::User.

Referenced by AlbedoAtm().

◆ SetNormPharef()

void Isis::AlbedoAtm::SetNormPharef ( const double pharef)
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.

Parameters
pharefNormalization function parameter, default is 0.0

Definition at line 179 of file AlbedoAtm.cpp.

References p_normPharef, Isis::toString(), and Isis::IException::User.

Referenced by AlbedoAtm().

◆ 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().

Member Data Documentation

◆ p_normAhref

double Isis::AlbedoAtm::p_normAhref
private

???

Definition at line 73 of file AlbedoAtm.h.

Referenced by AlbedoAtm(), and NormModelAlgorithm().

◆ 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_normEmaref

double Isis::AlbedoAtm::p_normEmaref
private

The reference emission angle.

Definition at line 71 of file AlbedoAtm.h.

Referenced by AlbedoAtm(), and SetNormEmaref().

◆ p_normIncref

double Isis::AlbedoAtm::p_normIncref
private

The reference incidence angle.

Definition at line 70 of file AlbedoAtm.h.

Referenced by AlbedoAtm(), and SetNormIncref().

◆ p_normMunotref

double Isis::AlbedoAtm::p_normMunotref
private

???

Definition at line 74 of file AlbedoAtm.h.

Referenced by AlbedoAtm(), and NormModelAlgorithm().

◆ p_normPharef

double Isis::AlbedoAtm::p_normPharef
private

The reference phase angle.

Definition at line 69 of file AlbedoAtm.h.

Referenced by AlbedoAtm(), and SetNormPharef().

◆ p_normPM

PhotoModel* Isis::NormModel::p_normPM
privateinherited

Definition at line 77 of file NormModel.h.

◆ p_normPstdref

double Isis::AlbedoAtm::p_normPstdref
private

???

Definition at line 72 of file AlbedoAtm.h.

Referenced by AlbedoAtm(), and NormModelAlgorithm().

◆ p_normPsurfref

double Isis::AlbedoAtm::p_normPsurfref
private

???

Definition at line 68 of file AlbedoAtm.h.

Referenced by AlbedoAtm(), and NormModelAlgorithm().

◆ p_normSbar

double Isis::AlbedoAtm::p_normSbar
private

???

Definition at line 78 of file AlbedoAtm.h.

Referenced by AlbedoAtm(), and NormModelAlgorithm().

◆ p_normTrans0ref

double Isis::AlbedoAtm::p_normTrans0ref
private

???

Definition at line 76 of file AlbedoAtm.h.

Referenced by AlbedoAtm(), and NormModelAlgorithm().

◆ p_normTransref

double Isis::AlbedoAtm::p_normTransref
private

???

Definition at line 75 of file AlbedoAtm.h.

Referenced by AlbedoAtm(), and NormModelAlgorithm().

◆ p_normTranss

double Isis::AlbedoAtm::p_normTranss
private

???

Definition at line 77 of file AlbedoAtm.h.

Referenced by AlbedoAtm().

◆ p_normWavelength

double Isis::NormModel::p_normWavelength
protectedinherited

Definition at line 73 of file NormModel.h.


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