Isis 3 Programmer Reference
Isis::Topo Class Reference

Topographic derivative of an arbitrary photometric function. More...

#include <Topo.h>

Inheritance diagram for Isis::Topo:
Inheritance graph
Collaboration diagram for Isis::Topo:
Collaboration graph

Public Member Functions

 Topo (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 the normalization function parameter.
 
void SetNormIncref (const double incref)
 Set the normalization function parameter.
 
void SetNormEmaref (const double emaref)
 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_normPharef
 
double p_normIncref
 
double p_normEmaref
 
double p_normThresh
 
double p_normAlbedo
 
std::string p_normAlgorithmName
 
PhotoModelp_normPM
 
AtmosModelp_normAM
 

Detailed Description

Topographic derivative of an arbitrary photometric function.

Author
1999-01-08 Randy Kirk
History

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

2008-06-18 Steven Lambright Fixed ifndef, removed endlink doxygen command

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 the ability to use the photometric angles from the ellipsoid or the DEM

Definition at line 31 of file Topo.h.

Constructor & Destructor Documentation

◆ Topo()

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

Definition at line 15 of file Topo.cpp.

◆ ~Topo()

virtual Isis::Topo::~Topo ( )
inlinevirtual

Definition at line 34 of file Topo.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::Topo::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 47 of file Topo.cpp.

◆ NormModelAlgorithm() [2/2]

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

Implements Isis::NormModel.

Definition at line 37 of file Topo.h.

◆ SetAlgorithmName()

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

Definition at line 63 of file NormModel.h.

◆ SetNormAlbedo()

void Isis::Topo::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 172 of file Topo.cpp.

◆ SetNormEmaref()

void Isis::Topo::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 Topo.cpp.

◆ SetNormIncref()

void Isis::Topo::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 135 of file Topo.cpp.

◆ SetNormPharef()

void Isis::Topo::SetNormPharef ( const double pharef)
private

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 116 of file Topo.cpp.

◆ SetNormThresh()

void Isis::Topo::SetNormThresh ( const double thresh)
private

Set the normalization function parameter.

Parameters
threshNormalization function parameter

Definition at line 181 of file Topo.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_normAlbedo

double Isis::Topo::p_normAlbedo
private

Definition at line 55 of file Topo.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_normEmaref

double Isis::Topo::p_normEmaref
private

Definition at line 53 of file Topo.h.

◆ p_normIncref

double Isis::Topo::p_normIncref
private

Definition at line 52 of file Topo.h.

◆ p_normPharef

double Isis::Topo::p_normPharef
private

Definition at line 51 of file Topo.h.

◆ p_normPM

PhotoModel* Isis::NormModel::p_normPM
privateinherited

Definition at line 77 of file NormModel.h.

◆ p_normThresh

double Isis::Topo::p_normThresh
private

Definition at line 54 of file Topo.h.

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