lrowacphomap
Apply Hapke bidirectional reflectance model photometric correction to multiband cubes
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
Hapke Bidirectional Reflectance Model
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 e,
where and
are,
When e i,
where and
are,
where is,
and is, (y corresponds to i or e)
where E1 and E2 are, (y corresponds to i or e)
is given by,
is given by,
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.
Categories
History
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. |