Isis 3 Programmer Reference
Isis::Mixed Class Reference

Mixed albedo/topo normalization without atmosphere. More...

#include <Mixed.h>

Inheritance diagram for Isis::Mixed:
Inheritance graph
Collaboration diagram for Isis::Mixed:
Collaboration graph

Public Member Functions

 Mixed (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 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.
 
void SetNormPhamat (const double phamat)
 Set the normalization function parameter.
 
void SetNormIncmat (const double incmat)
 Set the normalization function parameter.
 
void SetNormEmamat (const double emamat)
 Set the normalization function parameter.
 
void SetNormThresh (const double thresh)
 Set the normalization function parameter.
 
void SetNormAlbedo (const double albedo)
 Set the normalization function parameter.
 

Private Attributes

double p_psurfmatch
 
double p_pprimematch
 
double p_anum
 
double p_rhobar
 
double p_psurfref
 
double p_normPharef
 
double p_normIncref
 
double p_normEmaref
 
double p_normThresh
 
double p_normPhamat
 
double p_normIncmat
 
double p_normEmamat
 
double p_normAlbedo
 
std::string p_normAlgorithmName
 
PhotoModelp_normPM
 
AtmosModelp_normAM
 

Detailed Description

Mixed albedo/topo normalization without atmosphere.

This mode will do albedo normalization over most of the planet but near the terminator it will normalize topographic contrast to avoid the "seams" we are currently getting with the plain albedo normalization. The two effects will be joined seamlessly. In addition to the parameters for no-atmosphere albedo normaliza- tion (i.e., the photometric parameters and the choice of angles for normal albedo calculation) this mode needs two more parameters. INCMAT is the incidence angle at which the RMS contrast from al- bedo matches the RMS contrast from topography. (Could input a full 3-angle geometry at which the contrasts are equal but since the user is probably going to find this parameter by trial and er- ror it's easier to specify only incidence and use emission=0, phase=incidence for this second reference state.) ALBEDO, the av- erage normal albedo, is also needed.

Author
1998-12-21 Randy Kirk
History

2007-07-31 Steven Lambright - Refactored code

2008-03-07 Janet Barrett - Changed name of Incmatch variable to Incmat

2010-11-10 Janet Barrett - Added reference parameters for phase and emission so user can specify normalization conditions in initialization - also added match parameters for phase and emission for the same reason

2010-11-30 Janet Barrett - Added ability to use photometric angles from the ellipsoid or the DEM

Definition at line 47 of file Mixed.h.

Constructor & Destructor Documentation

◆ Mixed()

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

Definition at line 13 of file Mixed.cpp.

◆ ~Mixed()

virtual Isis::Mixed::~Mixed ( )
inlinevirtual

Definition at line 50 of file Mixed.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::Mixed::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 92 of file Mixed.cpp.

◆ NormModelAlgorithm() [2/2]

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

Implements Isis::NormModel.

Definition at line 53 of file Mixed.h.

◆ SetAlgorithmName()

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

Definition at line 63 of file NormModel.h.

◆ SetNormAlbedo()

void Isis::Mixed::SetNormAlbedo ( const double albedo)
private

Set the normalization function parameter.

Parameters
albedoNormalization function parameter, default is 0.0690507

Definition at line 256 of file Mixed.cpp.

◆ SetNormEmamat()

void Isis::Mixed::SetNormEmamat ( const double emamat)
private

Set the normalization function parameter.

The image will be normalized so that albedo variations are constant for small emission angles and topographic shading is constant for large emission angles. The transition from albedo normalization to emission normalization occurs around the emission angle represented by this parameter. This parameter is limited to values that are >=0 and <90.

Parameters
emamatNormalization function parameter

Definition at line 240 of file Mixed.cpp.

◆ SetNormEmaref()

void Isis::Mixed::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 180 of file Mixed.cpp.

◆ SetNormIncmat()

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

Set the normalization function parameter.

The image will be normalized so that albedo variations are constant for small incidence angles and topographic shading is constant for large incidence angles. The transition from albedo normalization to incidence normalization occurs around the incidence angle represented by this parameter. This parameter is limited to values that are >=0 and <90.

Parameters
incmatNormalization function parameter

Definition at line 220 of file Mixed.cpp.

◆ SetNormIncref()

void Isis::Mixed::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 161 of file Mixed.cpp.

◆ SetNormPhamat()

void Isis::Mixed::SetNormPhamat ( const double phamat)
private

Set the normalization function parameter.

The image will be normalized so that albedo variations are constant for small phase angles and topographic shading is constant for large phase angles. The transition from albedo normalization to phase normalization occurs around the phase angle represented by this parameter. This parameter is limited to values that are >=0 and <180.

Parameters
phamatNormalization function parameter

Definition at line 200 of file Mixed.cpp.

◆ SetNormPharef()

void Isis::Mixed::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 142 of file Mixed.cpp.

◆ SetNormThresh()

void Isis::Mixed::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 274 of file Mixed.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().

Member Data Documentation

◆ p_anum

double Isis::Mixed::p_anum
private

Definition at line 72 of file Mixed.h.

◆ p_normAlbedo

double Isis::Mixed::p_normAlbedo
private

Definition at line 82 of file Mixed.h.

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

double Isis::Mixed::p_normEmamat
private

Definition at line 81 of file Mixed.h.

◆ p_normEmaref

double Isis::Mixed::p_normEmaref
private

Definition at line 77 of file Mixed.h.

◆ p_normIncmat

double Isis::Mixed::p_normIncmat
private

Definition at line 80 of file Mixed.h.

◆ p_normIncref

double Isis::Mixed::p_normIncref
private

Definition at line 76 of file Mixed.h.

◆ p_normPhamat

double Isis::Mixed::p_normPhamat
private

Definition at line 79 of file Mixed.h.

◆ p_normPharef

double Isis::Mixed::p_normPharef
private

Definition at line 75 of file Mixed.h.

◆ p_normPM

PhotoModel* Isis::NormModel::p_normPM
privateinherited

Definition at line 77 of file NormModel.h.

◆ p_normThresh

double Isis::Mixed::p_normThresh
private

Definition at line 78 of file Mixed.h.

◆ p_normWavelength

double Isis::NormModel::p_normWavelength
protectedinherited

Definition at line 73 of file NormModel.h.

◆ p_pprimematch

double Isis::Mixed::p_pprimematch
private

Definition at line 71 of file Mixed.h.

◆ p_psurfmatch

double Isis::Mixed::p_psurfmatch
private

Definition at line 70 of file Mixed.h.

◆ p_psurfref

double Isis::Mixed::p_psurfref
private

Definition at line 74 of file Mixed.h.

◆ p_rhobar

double Isis::Mixed::p_rhobar
private

Definition at line 73 of file Mixed.h.


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