This program performs photometric corrections on a cube. It can be used
to normalize an image for mosaicking. The user must input the cube with a
pvl containing the corresponding photometric parameters. Examples of sample
pvl files are shown below. 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.
LunarLambertMcEwen : 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 LunarLambertMcEwen 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)
LunarLambertMcEwen
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
Hga : Coefficient of single particle Henyey Greenstein phase
function: -1 < value < 1 : default is 0.68
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
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 = 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
--------------------------------
Example 4 (Used to process Clementine UVVIS filter "a" data):
Object = PhotometricModel
Group = Algorithm
Name = LunarLambertMcEwen
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 5 (Used to process Clementine UVVIS filter "b" data):
Object = PhotometricModel
Group = Algorithm
Name = LunarLambertMcEwen
EndGroup
EndObject
Object = NormalizationModel
Group = Algorithm
Name = MoonAlbedo
D = 0.0
E = -0.218
F = 0.5
G2 = 0.4
H = 0.054
Bsh1 = 1.6
EndGroup
EndObject
--------------------------------
Example 6 (Used to process Clementine UVVIS filter "cde" data):
Object = PhotometricModel
Group = Algorithm
Name = LunarLambertMcEwen
EndGroup
EndObject
Object = NormalizationModel
Group = Algorithm
Name = MoonAlbedo
D = 0.0
E = -0.226
F = 0.5
G2 = 0.36
H = 0.052
Bsh1 = 1.35
EndGroup
EndObject
Tammy Becker | 1989-02-15 |
Original version - based on Tammy Becker's
photom/photompr programs which were later
converted to Randy Kirk's photomet
|
Janet Barrett | 2008-03-07 |
Added code to acquire the BandBin Center keyword from the
input image. This value is needed in case the user chooses
the MoonAlbedo normalization method.
|
Steven Lambright | 2008-05-13 |
Removed references to CubeInfo
|
Jeannie Walldren | 2009-01-08 |
Added MAXEMISSION and MAXINCIDENCE parameters. Modified code to set
off-target pixels to NULL. Added appTests for new parameters. Added user
documentation examples.
|
Eric Hyer | 2010-11-10 |
Added USEDEM parameter.
|
Janet Barrett | 2010-11-22 |
Added error check for situations where there is not an intersection with
the DEM and the local photometric angles are requested.
|
Janet Barrett | 2010-11-23 |
Added capability to use both ellipsoid and DEM photometric angles in
atmospheric corrections. This provides the ability to do shading using a
DEM surface.
|
Janet Barrett | 2011-02-22 |
The USEDEM parameter has been removed and the ANGLESOURCE parameter has
been added. The ANGLESOURCE parameter lets you specify the source where the
photometric angles will come from: ellipsoid, DEM, or center of image.
|
Janet Barrett | 2011-03-29 |
The CENTER option of the ANGLESOURCE parameter has been removed and the
CENTER_FROM_IMAGE, CENTER_FROM_LABEL and CENTER_FROM_USER options have been
added. This allows the user to determine where the center photometric angles
will come from.
|
Janet Barrett | 2011-09-23 |
The following changes were made to the program for the ISIS3.3.0 release:
1) The PHOPAR parameter name was changed to FROMPVL - this was done to have
consistent parameter names throughout the photometry software.
2) All radio button options are now accessed through drop down menus. The
only radio button options that existed prior to this release were those for
choosing the ANGLESOURCE. In order to use any of the drop down menus, click
on the drop down menu and hold the mouse button down while navigating to
the choice that you want.
3) Added a USEDEM option which will let you determine how the trim is performed.
If you don't check the USEDEM box, then trimming is performed based on the
photometric angles of the ellipsoid. If you check the USEDEM box, then the
trimming is performed based on the photometric angles of the DEM (if one is
specified in the image labels). If there is no DEM associated with your FROM
file, then the default is to use the ellipsoid.
4) The program now lets you specify the photometric model, atmospheric model,
and normalization model through the PHTNAME, ATMNAME, and NORMNAME drop down
menus. Prior to this release, you were forced to provide an input PVL file with
all of the model information in it. You can now provide the model information
through the PVL, the GUI, or a combination of both. If you provide a FROMPVL
file, then you need to use the GUI to specify which model(s) to use from that
file. If you change any of the model-specific parameters in the GUI, then they
will override the values in the FROMPVL file.
5) The BHAREF, HGAREF, and WHAREF parameters have been removed because they were
obsolete.
6) The NONORMALIZATION model was removed because it duplicated the functionality
of the SHADE model.
7) More photometric models have been added. The Hapke Legendre, Minnaert Empirical,
and Lunar Lambert Empirical models have been added. The Minnaert Empirical
model has parameters PHASELIST, PHASECURVELIST, and KLIST associated with it.
The information for the new parameters is a list of comma delimited values
(phase angle goes in PHASELIST, brightness values go in PHASECURVELIST, and
limb darkening values go in KLIST). The Lunar Lambert Empirical model has
parameters PHASELIST, PHASECURVELIST, and LLIST where LLIST is similar to the
KLIST parameter for Minnaert Empirical.
8) A USEDEM parameter has been added which allows the user to determine which
photometric angles to use for trimming. If the USEDEM parameter is set to false,
then the photometric angles of the ellipsoid are used. If USEDEM is set to true,
then the photometric angles of the DEM shape model are used for trimming.
9) Helper buttons were added to the FROMPVL to allow you to View a PVL or to Load
a PVL. PLEASE NOTE: When loading a Minnaert Empirical or Lunar Lambert Empirical
model from a PVL, only the first value will be loaded into the GUI. This is
a known problem and will be fixed in the next patch or release to ISIS.
10) ***NOTE*** The Minnaert Empirical and Lunar Lambert Empirical models do not
load properly from a PVL file when using the Load Pvl helper button. This is
a known problem and will be fixed in the next patch or release of ISIS.
|
Janet Barrett | 2011-11-04 |
The ZEROB0STANDARD parameter for the Hapke models was not added to the new
update of photomet during the last release. This parameter is responsible for
determining if the Hapke opposition surge component B0 is set to zero when
calculations are based on standard conditions. This parameter has been added
to the new interface to photomet.
|
Janet Barrett | 2012-01-10 |
The program was fixed to make it backwards compatible with older PVL files. If
you tried running this program with an older PVL, then you most likely got the
following error message "A Normalization model must be specified before running
this program.". This message would have occurred even if you had a Normalization
model specified in your FROMPVL file. This problem has been fixed. If your FROMPVL
file specifies a Normalization model, then you aren't required to specify one through
the program interface as well.
|