Class AtmosphericCorrection
The AtmosphericCorrection
class performs a simplified
atmospheric correction algorithm to transform MODIS top-of-atmosphere
reflectance data to corrected reflectance data. The correction accounts
for molecular (Rayleigh) scattering and gaseous absorption (water vapor,
ozone) but performs no aerosol correction. No real-time input or ancillary
data is required. See Descloitres et al, The MODIS Rapid Response Project:
Near-Real-Time Processing for Fire Monitoring and Other Applications, MODIS
Science Team Meeting, Jul 7, 2004 for some details and example imagery.
This routine was originally written by Jacques Descloitres for use with the MODIS Rapid Response Project, NASA/GSFC/SSAI (see http://rapidfire.sci.gsfc.nasa.gov). It was converted from the C source file tc_corr.c to Java and documented, but the algorithm remains the same.
- Since:
- 3.8.0
- Author:
- Peter Hollemans
-
Method Summary
Modifier and TypeMethodDescriptionvoid
correct
(int width, int height, int[] bandNumbers, float[][] bandReflect, float[] solarZenith, float[] solarAzimuth, float[] satZenith, float[] satAzimuth, float[] relAzimuth, float[] elev) Corrects a set of MODIS band reflectance values for atmospheric effects.static AtmosphericCorrection
-
Method Details
-
getInstance
-
correct
public void correct(int width, int height, int[] bandNumbers, float[][] bandReflect, float[] solarZenith, float[] solarAzimuth, float[] satZenith, float[] satAzimuth, float[] relAzimuth, float[] elev) Corrects a set of MODIS band reflectance values for atmospheric effects.- Parameters:
width
- the data width in pixels.height
- the data height in pixels.bandNumbers
- the array of MODIS band numbers for correction in the range [1..16], or 0 if a band is included in the reflectance data but should not be corrected.bandReflect
- the MODIS band reflectance values as [bands][width*height]. The bands should be in the same order as the band numbers array. Reflectance values are modified in-place, or set to Float.NaN if no correction could be applied.solarZenith
- the solar zenith angles in degrees.solarAzimuth
- the solar azimuth angles in degrees, or null if the relative azimuth is supplied.satZenith
- the satellite zenith angles in degrees.satAzimuth
- the satellite azimuth values in degrees, or null if the relative azimuth is supplied.relAzimuth
- the relative azimuth angle between solar and satellite views, or null if the solar and satellite azimuth angles are supplied.elev
- the elevation of the data in meters above sea level, or 0 for ocean data.
-