This program performs photometric corrections on a cube. It can be used
to normalize an image for mosaicking. There are three aspects of
photometric correction that need to be considered when running the
photomet program:
1) Surface photometric function model type
2) Atmospheric photometric function model type
3) Type of normalization to be performed
The types of surface photometric function model types currently available
in photomet are:
HapkeHen : Hapke-Henyey-Greenstein photometric model. Derive model
albedo using complete Hapke model with Henyey-Greenstein
single-particle phase function whose coefficients are
Hg1 and Hg2, plus single scattering albedo Wh, opposition
surge parameters Hh and B0, and macroscopic roughness
Theta.
Lambert : Simple photometric model which predicts that light
incident on a surface is scattered uniformly in all
directions; the total amount of reflected light depends
on the incidence angle of the illumination. This function
does not depend upon the outgoing light direction.
LommelSeeliger : This model takes into account the radiance that results
from single scattering (scattering of collimated
incident light) and does not take into account the
radiance that results from multiple scattering (scattering
of diffuse light which has made its way indirectly to
the same position by being scattered one or more times).
This model depends on the incidence and emission angles.
LunarLambert : This model combines a weighted sum of the LommelSeeliger
and Lambert models. Given a suitable value for the
LunarLambert function weight, L, this model fits the true
reflectance behavior of many planetary surfaces equally
well as the Hapke model. This model also depends on the
incidence and emission angles.
Minnaert : This model expands upon the Lambert function by introducing
constant, K, that is used to describe the roughness of a
surface. When the K constant is set to 1.0, then the
Minnaert model is equivalent to the Lambert model.
Moonpr : This model was developed specifically for use with the
Moon. This model was designed to be used in conjunction
with the MoonAlbedo normalization model.
The types of atmospheric photometric function model types currently
available in photomet are:
Anisotropic1 : Uses Chandrasekhar's solution for anisotropic scattering
described by a one term Legendre polynomial. This model
uses first order scattering approximation.
Anisotropic2 : Uses Chandrasekhar's solution for anisotropic scattering
described by a one term Legendre polynomial. This model
uses second order scattering approximation. It is slower
but more accurate than Anisotropic1.
HapkeAtm1 : Provides an approximation for strongly anisotropic
scattering that is similar to Hapke's model for a planetary
surface. The Chandrasekhar solution for isotropic
scattering is used for the multiple scattering terms, and
a correction is made to the singly scattered light for
anisotropic particle phase function. A one term Henyey
Greenstein function is used. This model uses a first
order scattering approximation.
HapkeAtm2 : Provides an approximation for strongly anisotropic
scattering that is similar to Hapke's model for a planetary
surface. The Chandrasekhar solution for isotropic
scattering is used for the multiple scattering terms, and
a correction is made to the singly scattered light for
anisotropic particle phase function. A one term Henyey
Greenstein function is used. This model uses a second
order scattering approximation. It is slower but more
accurate than HapkeAtm1.
Isotropic1 : Uses Chandrasekhar's solution for isotropic scattering.
This model uses first order scattering approximation.
Isotropic2 : Uses Chandrasekhar's solution for isotropic scattering.
This model uses second order scattering approximation.
It is slower but more accurate than Isotropic1.
The types of normalization models currently available in photomet are:
Albedo : Normalization without atmosphere. Each pixel is divided by
the model photometric function evaluated at the geometry
of that pixel, then multiplied by the function at reference
geometry with incidence and phase angles equal to Incref
and emission angle 0. This has the effect of removing
brightness variations due to incidence angle and showing
relative albedo variations with the same contrast
everywhere. If topographic shading is present, it will be
amplified more in regions of low incidence angle and will
not appear uniform.
AlbedoAtm : Normalization with atmosphere. For each pixel, a model of
atmospheric scattering is subtracted and a surface model
is divided out, both evaluated at the actual geometry of
the pixel. Then the resulting value is multiplied by the
surface function at reference conditions is added. In
normal usage, the reference condition has normal incidence
(Incref=0) and no atmosphere (Tauref=0) but in some cases
it may be desirable to normalize images to a different
incidence angle or a finite optical depth to obtain a more
uniform appearance. As with the Albedo model, if
topographic shading is present, it will be amplified more at
high incidence angles and will not appear uniform.
Mixed : Normalization without atmosphere. Used to do albedo
normalization over most of the planet, but near the
terminator it will normalize topographic contrast to avoid
the seams that can occur with the usual albedo normalization.
The two effects will be joined seamlessly at incidence
angle Incmat. Incmat must be adjusted to give the best
equalization of contrast at all incidence angles. The
Albedo parameter must also be adjusted so the topographically
normalized regions at high incidence angle are set to an
albedo compatible with the albedo-normalized data at lower
incidence.
MoonAlbedo : Normalization without atmosphere. This model was designed
specifically for use on Lunar data. It will compute
normalized albedo for the Moon, normalized to 0 degrees
emission angle and 30 degrees illumination and phase angles.
The Moonpr photometric function was designed to be used with
this normalization model.
NoNormalization : Normalization without atmosphere. No normalization is
performed. Only photometric correction is performed.
Shade : Normalization without atmosphere. The surface photometric
function is evaluated at the geometry of the image in order
to calculate a shaded relief image of the ellipsoid (and
in the future the DEM). The radiance of the model surface
is set to Albedo at incidence angle Incref and zero phase.
The image data is not used.
ShadeAtm : Normalization with atmosphere. The surface photometric
function is used to simulate an image by relief shading,
just like the Shade model, but the effects of atmospheric
scattering are also included in the calculation.
Topo : Normalization without atmosphere. Used to normalize
topographic shading to uniform contrast regardless of
incidence angle. Such a normalization would exagerate
albedo variations at large incidence angles, so this model
is used as part of a three step process in which (1) the
image is temporarily normalized for albedo; (2) a highpass
divide filter is used to remove regional albedo variations;
and (3) the image is renormalized with the Topo mode to
undo the first normalization and equalize topographic
shading. The reference state in the first step MUST have
Incref=0 because this is waht is undone in the final step.
If there are no significant albedo variations, step (2)
can be skipped but step (1) must not be.
TopoAtm : Normalization with atmosphere. As with the Topo model,
this option is used in the final step of a three step
process: (1) normalize with the AlbedoAtm model, Incref=0,
and Tauref=0 to temporarily remove atmosphere and normalize
albedo variations; (2) use highpass divide filter to remove
albedo variations; and (3) normalize with the TopoAtm model
to undo the temporary normalization and equalize topographic
shading.
As you can see above, the only normalization models that make use of atmospheric
correction are: AlbedoAtm, ShadeAtm, and TopoAtm. Atmospheric correction is not
applied by any of the other normalization models. If you specify an atmospheric
model in a PVL along with a normalization model that does not do atmospheric
correction, then the atmospheric model will be ignored.
Each of the above photometric, atmospheric, and normalization models has specific
parameters that apply to them. Here is a list of the models and their related
parameters (in parentheses):
HapkeHen (B0,Hg1,Hg2,Hh,Theta,Wh)
Lambert
LommelSeeliger
LunarLambert (L)
Minnaert (K)
Moonpr
Anisotropic1 (Bha,Bharef,Hnorm,Nulneg,Tau,Tauref,Wha,Wharef)
Anisotropic2 (Bha,Bharef,Hnorm,Nulneg,Tau,Tauref,Wha,Wharef)
HapkeAtm1 (Hga,Hgaref,Hnorm,Nulneg,Tau,Tauref,Wha,Wharef)
HapkeAtm2 (Hga,Hgaref,Hnorm,Nulneg,Tau,Tauref,Wha,Wharef)
Isotropic1 (Hnorm,Nulneg,Tau,Tauref,Wha,Wharef)
Isotropic2 (Hnorm,Nulneg,Tau,Tauref,Wha,Wharef)
Albedo (Albedo,Incmat,Incref,Thresh)
AlbedoAtm (Incref)
Mixed (Albedo,Incmat,Incref,Thresh)
MoonAlbedo (Bsh1,D,E,F,G2,H,Wl,Xb1,Xb2,Xmul)
NoNormalization
Shade (Albedo,Incref)
ShadeAtm (Albedo,Incref)
Topo (Albedo,Incref,Thresh)
TopoAtm (Albedo,Incref)
Here is a description of each parameter along with a valid range
of values and the default for that parameter:
Photometric parameters:
-----------------------
B0: Hapke opposition surge component: 0 <= value : default is 0.0
Bh: Hapke Legendre coefficient for single particle phase function:
-1 <= value <= 1 : default is 0.0
Ch: Hapke Legendre coefficient for single particle phase function:
-1 <= value <= 1 : default is 0.0
Hg1: Hapke Henyey Greenstein coefficient for single particle phase
function: -1 < value < 1 : default is 0.0
Hg2: Hapke Henyey Greenstein coefficient for single particle phase
function: 0 <= value <= 1 : default is 0.0
Hh: Hapke opposition surge component: 0 <= value : default is 0.0
K: Minnaert function exponent: 0 <= value : default is 1.0
L: Lunar-Lambert function weight: no limit : default is 1.0
Theta: Hapke macroscopic roughness component: 0 <= value <= 90 :
default is 0.0
Wh: Hapke single scattering albedo component: 0 < value <= 1 :
default is 0.5
Atmospheric parameters:
-----------------------
Bha : Coefficient of the single particle Legendre phase function:
-1 <= value <= 1 : default is 0.85
Bharef : Reference value of Bha to which the image will be
normalized: -1 <= value <= 1 : default is Bha
Hga : Coefficient of single particle Henyey Greenstein phase
function: -1 < value < 1 : default is 0.68
Hgaref : Reference value of Hga to which the image will be
normalized: -1 < value < 1 : default is Hga
Hnorm : Atmospheric shell thickness normalized to the planet radius:
0 <= value : default is .003
Nulneg : Determines if negative values after removal of atmospheric
effects will be set to NULL: YES or NO : default is NO
Tau : Normal optical depth of the atmosphere: 0 <= value : default
is 0.28
Tauref : Reference value of Tau to which the image will be
normalized: 0 <= value : default is 0.0
Wha : Single scattering albedo of atmospheric particles:
0 < value <= 1 : default is 0.95
Wharef : Reference value of Wha to which the image will be
normalized: 0 < value <= 1 : default is Wha
Normalization parameters:
-------------------------
Albedo : Albedo to which the image will be normalized: no limit :
default is 1.0
Bsh1 : Albedo dependent phase function normalization parameter:
0 <= value : default is 0.08
D : Albedo dependent phase function normalization parameter: no
limit : default is 0.14
E : Albedo dependent phase function normalization parameter: no
limit : default is -0.4179
F : Albedo dependent phase function normalization parameter: no
limit : default is 0.55
G2 : Albedo dependent phase function normalization parameter: no
limit : default is 0.02
H : Albedo dependent phase function normalization parameter: no
limit : default is 0.048
Incmat : Specifies incidence angle where albedo normalization transitions
to incidence normalization: 0 <= value < 90 : default is 0.0
Incref : Reference incidence angle to which the image will be normalized:
0 <= value < 90 : default is 0.0
Thresh : Sets upper limit on amount of amplification in regions of small
incidence angle: no limit : default is 30.0
Wl : Wavelength in micrometers of the image being normalized: no
limit : default is 1.0
Xb1 : Albedo dependent phase function normalization parameter: no
limit : default is -0.0817
Xb2 : Albedo dependent phase function normalization parameter: no
limit : default is 0.0081
Xmul : Used to convert radiance to reflectance or apply a calibration
fudge factor: no limit : default is 1.0
Here are some example PVL files:
--------------------------------
Example 1:
Object = PhotometricModel
Group = Algorithm
Name = Lambert
EndGroup
EndObject
Object = NormalizationModel
Group = Algorithm
Name = NoNormalization
EndGroup
EndObject
Example 2:
Object = PhotometricModel
Group = Algorithm
Name = Minnaert
K = .5
EndGroup
EndObject
Object = NormalizationModel
Group = Algorithm
Name = Albedo
Incref = 0.0
Incmat = 0.0
Albedo = 1.0
Thresh = 30.0
EndGroup
EndObject
Example 3:
Object = PhotometricModel
Group = Algorithm
Name = Moonpr
EndGroup
EndObject
Object = NormalizationModel
Group = Algorithm
Name = MoonAlbedo
D = 0.0
E = -0.222
F = 0.5
G2 = 0.39
H = 0.062
Bsh1 = 2.31
EndGroup
EndObject
Example 4:
Object = PhotometricModel
Group = Algorithm
Name = HapkeHen
Wh = 0.52
Hh = 0.0
B0 = 0.0
Theta = 30.0
Hg1 = .213
Hg2 = 1.0
EndGroup
EndObject
Object = AtmosphericModel
Group = Algorithm
Name = HapkeAtm2
Hnorm = .003
Tau = 0.28
Tauref = 0.0
Wha = .95
Hga = 0.68
EndGroup
EndObject
Object = NormalizationModel
Group = Algorithm
Name = AlbedoAtm
Incref = 0.0
EndGroup
EndObject