ISIS Application Documentation
lrowacpho  Standard View  TOC  Home 
Apply Hillier or Exponential photometric correction to multiband cubes
Description
Categories
Groups
History
phohillier implements a photometric correction based upon a paper titled "Multispectral Photometry of the Moon and Absolute Calibration of Clementine UV/Vis Camera" by Hillier, Burratti and Hill, published in Icarus 141, 205225 (1999). The equation for I/F photometric correction from this source is:
I/F = (mu0/(mu+mu0)*F(phase) where: mu0 = cos(incidence) mu = cos(emission) F(phase) = b0*e(b1*phase) + a0 + a1*phase + a2*phase^2 + a3*phase^3 + a4*phase^4
The equation described there utilizes the LommelSeeliger function to account for scattering dependance on incidence and emission angles. Lunar Reflectance approximately follows this function and this is the dependence expected for signly scattered light. Thus is should be a good approximation for dark objects such as the Moon where singly scattered light dominates reflectance. The phase function is a fourth order polynomial with an exponential term to better account for opposition surge.
This application provides features that allow multiband cubes to be photometrically corrected with a properly formatted PVL input file much like that of ISIS program photomet. This application restricts much of the options available to the more sophiscated photomet application. Below is an example input parameter file for this application:
Object = NormalizationModel Group = Algorithm Name = Albedo PhotoModel = Hillier Incref=30.0 Emaref=0.0 Pharef=30.0 EndGroup EndObject Object = PhotometricModel HillierUnits = Degrees Group = Algorithm Name = Hillier FilterName = "Filter1" BandBinCenter = 100.1 B0 = 0.0432753 B1 = 0.0644091 A0 = 0.0207532 A1 = 0.00165219 A2 = 3.94007e05 A3 = 4.19325e07 A4 = 1.69163e09 EndGroup Group = Algorithm Name = Hillier FilterName = "Filter2" BandBinCenter = 112.5 B0 = 0.0332283 B1 = 0.00667452 A0 = 0.0258405 A1 = 9.04379e05 A2 = 7.59709e06 A3 = 1.06395e07 A4 = 5.18268e10 EndGroup Group = Algorithm Name = Hillier FilterName = "Filter8" BandBinCenter = 545.3 BandBinCenterTolerance = 1.0E2 B0 = 0.0347020 B1 = 0.0211712 A0 = 0.0244440 A1 = 0.000388924 A2 = 4.72860e07 A3 = 5.00731e08 A4 = 3.07309e10 EndGroup EndObject
The NormalizationModel object will (currently) always apply an Albedo normalization. The value of the Name parameter is ignored here. Also ignored is the value if PhotoModel as it is always "Hillier". The Incref, Emaref and Pharef are the incidence, emission and phase angles to be used as the photometric standard. It will be used to normalize the photometric correction parameter to these angles. The equation used to create the photometrically corrected I/F dn is:
odn = idn * (phostd / ph) where phostd is the Hillier photometry at the given Incref, Emaref and Pharef angles ph is the photometric correction for the incidence, emission and phase at each pixel
In the above example, parameters B0B1 and A0A4 are the parameters for the Hillier equation. Additional parameters area needed in order to apply a specific set of parameters in an Algorithm group to selected bands. The set of parameters, B0B1, A0A4, within an Algorithm group are applied to a band if (ABS(CenterBandBinCenter) <= ABS(BandBinCenterTolerance)). The "Center" parameter in the above equality comes from the Center keyword in the BandBin group of the input cube file specified in the FROM parameter. This keyword must exist in the input cube or an error is generated and the program aborts. BandBinCenter and BandBinCenterTolerance are contained in each Algorithm group. Only BandBinCenter is required. If BandBinCenterTolerance is not present in an Algorithm group a value of 1.0E6 is used. All input bands in the FROM file must be matched to at least one of the Algorithm parameters otherwise an error is generated and the application is aborted.
The parameter HillierUnits is provided to specify if the phase angle is in units of degrees or radians. It does not have to exist in any group or even in the top Object section. If it does not exist, "Radians" is the default.
An additional feature of the PVL structure is that any keyword that exists in the Object section of the PhotometricModel Object is propagated to each Algorithm group when it is read in unless the keyword already exists in the Algorithm group. If a keyword exists in both the PhotometricModel object and an Algorithm group, the keyword in the Algorithm group has precedence.
Below is an example of a small PVL file that will process all bands that have a center wavelength of 100.0 to 900.0 (units do not matter as long as the PVL ALgorithm groups contain the same units as the BandBin Center keyword in the input cube file). The units of phase is provided in Radians for this particular example and is overridden from the keyword in the PhotometricModel object:
Object = NormalizationModel Group = Algorithm Name = Albedo PhotoModel = Hillier Incref=30.0 Emaref=0.0 Pharef=30.0 EndGroup EndObject Object = PhotometricModel HillierUnits = Degrees Group = Algorithm Name = Hillier FilterName = "AllFilters" BandBinCenter = 500.0 BandBinCenterTolerance = 400.0 HillierUnits = Radians B0 = 0.0347020 B1 = 0.0211712 A0 = 0.0244440 A1 = 0.000388924 A2 = 4.72860e07 A3 = 5.00731e08 A4 = 3.07309e10 EndGroup EndObject
Additional consequences of the photometric correction processing is any incidence angle greater than i90 degrees is set to the ISIS special Null pixel value. And, of course, any ISIS special pixel encountered on input is propagated to the output TO file without modification.
Name  Description 

FROM  Input cube 
TO  Output cube 
BACKPLANE  Backplane Cube 
PHOPAR  Pvl file 
Name  Description 

MINPHASE  Minimum phase angle to trim 
MAXPHASE  Maximum phase angle to trim 
MINEMISSION  Minimum emission angle to trim 
MAXEMISSION  Maximum emission angle to trim 
MININCIDENCE  Minimum incidence angle to trim 
MAXINCIDENCE  Maximum incidence angle to trim 
Name  Description 

USEDEM  Use DEM instead of ellipsoid for photometric angle calculations 
Use this parameter to select the input filename.
Type  cube 

File Mode  input 
Filter  *.cub 
This file will contain the photometrically corrected image data after being corrected by with Hillier algorithm.
Type  cube 

File Mode  output 
Pixel Type  real 
This file will contain the backplane data. It must have "Phase Angle", "Emission Angle", and "Incidence Angle" as the first three bands.
Type  cube 

File Mode  input 
Pixel Type  real 
Internal Default  Calculate the photometry on the fly 
This file will contain the parameters B0B1, A0A4 to use when applying the Hellier photometric correction. See the main program documentation for a full description.
Type  filename 

File Mode  input 
Filter  *.pvl 
Pixels which have a phase angle less than this value will be trimmed.
Type  double 

Default  0.0 
Minimum  0.0 (inclusive) 
Maximum  180.0 (inclusive) 
Less Than or Equal 

Pixels which have a phase angle greater than this value will be trimmed.
Type  double 

Default  180.0 
Minimum  0.0 (inclusive) 
Maximum  180.0 (inclusive) 
Greater Than or Equal 

Pixels which have an emission angle less than this value will be trimmed.
Type  double 

Default  0.0 
Minimum  0.0 (inclusive) 
Maximum  90.0 (inclusive) 
Less Than or Equal 

Pixels which have a emission angle greater than this value will be trimmed.
Type  double 

Default  90.0 
Minimum  0.0 (inclusive) 
Maximum  90.0 (inclusive) 
Greater Than or Equal 

Pixels which have an incidence angle less than this value will be trimmed.
Type  double 

Default  0.0 
Minimum  0.0 (inclusive) 
Maximum  180.0 (inclusive) 
Less Than or Equal 

Pixels which have a incidence angle greater than this value will be trimmed.
Type  double 

Default  90.0 
Minimum  0.0 (inclusive) 
Maximum  180.0 (inclusive) 
Greater Than or Equal 

Phase, Emission, and Incidence angles can be calculated from the elipsoid (default) or from the DEM. The difference is that using the DEM the surface roughness is taken into account.
Type  boolean 

Default  False 
Kris Becker  20100221  Original version. 