ISIS Application Documentation
lrowacphomap | Standard View | TOC | Home |
Apply Hapke bidirectional reflectance model photometric correction to multiband cubes
Description
Categories
Groups
History
lrowacphomap implements photometric correction based on the full form of bidirectional reflectance model by Hapke (2012). See below for full description of the model. It takes an input cube to be corrected, an output cube to write the results to, a parameter cube that defines the Hapke parameters to be used for the correction, a PVL input file to define the algorithm and an optional backplane cube. Here's an example command line:
lrowacphomap from=input.cub+1 to=output.cub phoalgo=hapke.pvl phoparcube=params.cub backplane=input.cub+2,3,4,5,6
The input cube (from) must have a BandBin label.
Example (containing image and backplane bands): Group = BandBin FilterNumber = (1, 2, 3, 4, 5, 6) Center = (321, 321, 321, 321, 321, 321) Width = (32, 32, 32, 32, 32, 32) Name = (Image, Phase, Emission, Incidence, lat, lon) End_Group
The PVL file (phoalgo) contains the algorithm name, reference values for normalization, and a Parameters group to define the parameter bands from the parameter cube to use.
Example: Object = PhotometricModel Name = HapkeLROC Units = Degrees Incref = 60.0 Emiref = 0.0 Pharef = 60.0 Group = Parameters BandBinCenter = 321 Bands = (1, 2, 3, 4, 5, 6, 7, 8, 9) EndGroup EndObjectThe Incref, Emiref and Pharef are the incidence, emission and phase angles to be used as the common illumination and viewing angles. It will be used to normalize the photometric correction parameter to these angles. The equation used to create the photometrically corrected I/F is:
n_IOF = IOF / Model(g,e,i) * Model(Pharef,Emiref,Incref) where Model(g,e,i) is the model value for phase (g), emission (e), and incidence (i) at each pixel, Model(Pharef,Emiref,Incref) is the model value at the given common geometric angles.
The parameter cube (phoparcube) should be a 9 band cube with the parameters in the order:
backplane cube must contain 5 bands (in order): Phase Angle, Emission Angle, Incidence Angle, Latitude, Longitude
In full form of bidirectional reflectance model by Hapke (2012), the radiance factor I/F is
I is radiance, F is perfectly diffuse surface illuminated at i = e = g = 0 (corresponds to the flat-field).
The bidirectional reflectance r(i,e,g) is
where i is incidence angle, e is emission angle, and g is phase angle, ie and ee are the effective angle of incidence and emission respectively.
Then, K is (porosity effect)
p(g) is, (H-G phase function)
BS(g) is, (Shadow Hiding Opposition surge Effect: SHOE )
M(i,e) is, (Isotropic Multiple Scattering Approximation: IMSA)
where H(x) is,
where r0 is,
BC(g) is, (Coherent Backscatter Opposition surge Effect: CBOE)
Then, S(i,e,g) is, (Shadow effect)
When i
where
When e
where
where
and
where E1 and E2 are, (y corresponds to i or e)
Thus it can be written as,
Finally, free parameters are,
w (Single scattering albedo) b (H-G phase function asymmetry) c (H-G phase function amplitude) BC0 (CBOE amplitude) hC (CBOE angular width) BS0 (SHOE amplitude) hS (SHOE angular width)(Roughness parameter) (Filling factor)
Reference:
Hapke, B. (2012) Theory of Reflectance and Emittance Spectroscopy, Cambridge Univ. Press.
Name | Description |
---|---|
FROM | Input cube |
TO | Output cube |
BACKPLANE | Backplane Cube |
PHOALGO | Pvl file |
PHOPARCUBE | Parameter cube |
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 |
PHOTOMETRYONLY | Output only photometry value in output cube. |
NORMALIZED | Normalize photometry value before applying to input image. |
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.
Type | cube |
---|---|
File Mode | output |
Pixel Type | real |
This file will contain the backplane data. It must have "Phase Angle", "Emission Angle", "Incidence Angle", "Latitude" and "Longitude".
Type | cube |
---|---|
File Mode | input |
Pixel Type | real |
Internal Default | Calculate the photometry on the fly |
This file will contain the photometric correction algorithm information. Here's an example pvl file for Hapke photometric correction:
Object = PhotometricModel Name = HapkeLROC Units = Degrees Incref = 60.0 Emiref = 0.0 Pharef = 60.0 Group = Parameters BandBinCenter = 321 Bands = (1, 2, 3, 4, 5, 6, 7, 8, 9) EndGroup EndObject
Type | filename |
---|---|
File Mode | input |
Default Path | $lro/calibration |
Default | $lro/calibration/WAC_hapke_full.????.pvl |
Filter | *.pvl |
This file will contain the parameters (in order) Wh, Hg1, Hg2, Bc0, hc, B0, Hh, Theta, phi. See the main program documentation for a full description.
Type | cube |
---|---|
File Mode | input |
Default | $lro/calibration/WAC_global_7bands_1x1_wbhs70NS_const_each_pole.????.cub |
Filter | *.cub |
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 |
Only the photometry value will be written to the output cube, not the original image data. Used for testing photometry calculation.
Type | boolean |
---|---|
Default | False |
Set to False to cause the photometry value to not be normalized. Used for testing photometry calculation.
Type | boolean |
---|---|
Default | True |
Kris Becker | 2010-02-21 | Original version. |
Dan Clarke | 2012-09-28 | Added full Hapke model. Optimized processing. Updated documentation. |
Adam Licht | 2013-01-18 | Fixed an error in how parameters were loaded for use in the refrence model calculation. |
Cordell Michaud | 2022-05-10 | Refactored lrowacphomap for testability and added functional tests. |
Cordell Michaud | 2024-04-02 | Added new default for PHOALGO. Added new default for PHOPARCUBE. |