Isis 3 Programmer Reference
Isis::Albedo Class Reference

Albedo normalization. More...

#include <Albedo.h>

Inheritance diagram for Isis::Albedo:
Inheritance graph
Collaboration diagram for Isis::Albedo:
Collaboration graph

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)
 
PhotoModelGetPhotoModel ()
 
AtmosModelGetAtmosModel ()
 

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...
 

Detailed Description

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.

Author
1998-12-21 Randy Kirk
History:

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.

Definition at line 59 of file Albedo.h.

Constructor & Destructor Documentation

◆ Albedo()

Member Function Documentation

◆ AlgorithmName()

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

Return normalization algorithm name.

Definition at line 59 of file NormModel.h.

◆ CalcNrmAlbedo() [1/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 58 of file NormModel.cpp.

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

◆ CalcNrmAlbedo() [2/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 83 of file NormModel.cpp.

◆ NormModelAlgorithm() [1/2]

virtual void Isis::Albedo::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 76 of file Albedo.h.

◆ NormModelAlgorithm() [2/2]

void Isis::Albedo::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

Implements Isis::NormModel.

Definition at line 71 of file Albedo.cpp.

References _FILEINFO_, Isis::PhotoModel::CalcSurfAlbedo(), p_normPsurfref, p_normThresh, and Isis::IException::Unknown.

◆ SetNormAlbedo()

void Isis::Albedo::SetNormAlbedo ( const double  albedo)
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.

Parameters
albedoNormalization function parameter

Definition at line 179 of file Albedo.cpp.

References p_normAlbedo.

Referenced by Albedo().

◆ SetNormEmaref()

void Isis::Albedo::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 147 of file Albedo.cpp.

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

Referenced by Albedo().

◆ SetNormIncmat()

void Isis::Albedo::SetNormIncmat ( const double  incmat)
private

Set the normalization function parameter.

This parameter is limited to values that are >=0 and <90.

Parameters
incmatNormalization 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().

◆ SetNormIncref()

void Isis::Albedo::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 129 of file Albedo.cpp.

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

Referenced by Albedo().

◆ SetNormPharef()

void Isis::Albedo::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 111 of file Albedo.cpp.

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

Referenced by Albedo().

◆ SetNormThresh()

void Isis::Albedo::SetNormThresh ( const double  thresh)
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.

Parameters
threshNormalization function parameter, default is 30.0

Definition at line 197 of file Albedo.cpp.

References p_normThresh.

Referenced by Albedo().

◆ 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 45 of file NormModel.cpp.

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

Member Data Documentation

◆ p_normAlbedo

double Isis::Albedo::p_normAlbedo
private

The albedo.

Definition at line 97 of file Albedo.h.

Referenced by SetNormAlbedo().

◆ p_normEmaref

double Isis::Albedo::p_normEmaref
private

The reference emission angle.

Definition at line 94 of file Albedo.h.

Referenced by Albedo(), and SetNormEmaref().

◆ p_normIncmat

double Isis::Albedo::p_normIncmat
private

Incmat.

Definition at line 96 of file Albedo.h.

Referenced by SetNormIncmat().

◆ p_normIncref

double Isis::Albedo::p_normIncref
private

The reference incidence angle.

Definition at line 93 of file Albedo.h.

Referenced by Albedo(), and SetNormIncref().

◆ p_normPharef

double Isis::Albedo::p_normPharef
private

The reference phase angle.

Definition at line 92 of file Albedo.h.

Referenced by Albedo(), and SetNormPharef().

◆ p_normPsurfref

double Isis::Albedo::p_normPsurfref
private

???

Definition at line 91 of file Albedo.h.

Referenced by Albedo(), and NormModelAlgorithm().

◆ p_normThresh

double Isis::Albedo::p_normThresh
private

Used to amplify variations in the input image.

Definition at line 95 of file Albedo.h.

Referenced by NormModelAlgorithm(), and SetNormThresh().


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