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...
 
std::string p_normAlgorithmName
 
PhotoModelp_normPM
 
AtmosModelp_normAM
 

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
History:
2008-03-07 Janet Barrett - Changed name of Incmatch parmater to Incmat
History:
2008-06-18 Christopher Austin - Fixed documentation errors
History:
2010-11-10 Janet Barrett - Added reference parameters for phase and emission so user can specify normalization conditions in initialization
History:
2010-11-30 Janet Barrett - Added ability to use photometric angles from the ellipsoid or the DEM
History:
2017-07-03 Makayla Shepherd - Updated documentation. References #4807.

Definition at line 43 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 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().

◆ NormModelAlgorithm() [1/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 78 of file Albedo.cpp.

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

◆ NormModelAlgorithm() [2/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 60 of file Albedo.h.

◆ 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 186 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 154 of file Albedo.cpp.

References 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 169 of file Albedo.cpp.

References 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 136 of file Albedo.cpp.

References 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 118 of file Albedo.cpp.

References 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 204 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 51 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 81 of file Albedo.h.

Referenced by SetNormAlbedo().

◆ p_normEmaref

double Isis::Albedo::p_normEmaref
private

The reference emission angle.

Definition at line 78 of file Albedo.h.

Referenced by Albedo(), and SetNormEmaref().

◆ p_normIncmat

double Isis::Albedo::p_normIncmat
private

Incmat.

Definition at line 80 of file Albedo.h.

Referenced by SetNormIncmat().

◆ p_normIncref

double Isis::Albedo::p_normIncref
private

The reference incidence angle.

Definition at line 77 of file Albedo.h.

Referenced by Albedo(), and SetNormIncref().

◆ p_normPharef

double Isis::Albedo::p_normPharef
private

The reference phase angle.

Definition at line 76 of file Albedo.h.

Referenced by Albedo(), and SetNormPharef().

◆ p_normPsurfref

double Isis::Albedo::p_normPsurfref
private

???

Definition at line 75 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 79 of file Albedo.h.

Referenced by NormModelAlgorithm(), and SetNormThresh().


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