Hi all,
I'm using SeaDAS for atmospheric correction for landsat 8 and just wondering about getting optimal rrs retrieval. does anyone know how I can spatially average my visible bands to reduce noisy Rrs retrievals. I'm also interested in knowing the best window size.
reducing noisy Rrs retrieval with l2gen atmospheric correction for landsat
-
OB.DAAC-EDL - SeanBailey
- Posts: 1519
- Joined: Wed Sep 18, 2019 6:15 pm America/New_York
- Endorsed: 9 times
reducing noisy Rrs retrieval with l2gen atmospheric correction for landsat
The l2gen program has the ability to apply filters to the data during processing. These are controlled by the filter options:
With this you can set various filters to be applied to the TOA radiances or Rayleigh corrected TOA radiances
(You can also use this to dilate various l2_flags, and there's also a special case for setting a straylight mask based on a dilation of l2_flags - typically HILT and CLDICE)
How large of a kernel to filter on is an exercise for the user.
Below is an example used for OCTS
Regards,
Sean
filter_opt (boolean) (default=false) = filtering input data option
filter_file (ifile) (default=$OCDATAROOT/sensor/sensor_filter.dat) = data file for input filteringWith this you can set various filters to be applied to the TOA radiances or Rayleigh corrected TOA radiances
(You can also use this to dilate various l2_flags, and there's also a special case for setting a straylight mask based on a dilation of l2_flags - typically HILT and CLDICE)
How large of a kernel to filter on is an exercise for the user.
Below is an example used for OCTS
Regards,
Sean
#############################################################
#
# Filter description file for MSl12
#
# Format:
#
# function name, band (1-8), width (pixels), height (scans), minfill
#
# if width is specified as -1, a diamond-shaped kernel of max width and
# heighth equal to specified height will be used for the filtering window.
#
# If number of unmasked pixels in window is less than minfill, center
# pixel will be masked and flagged as FILTER_FAILURE. A default value
# for minfill will be computed if -1 is specified.
#
# Example:
#
# ltrmed, 7, 5, 5, -1
# ltrmed, 8, 5, 5, 13
#
# Filter Functions:
#
# dilate - expands a specified mask (selected by band)
# ltmean - averaging over Lt(band)
# ltmed - median filtering on Lt(band)
# ltrmean - averaging over Lt(band) - Lr(band)
# ltrmed - median filtering over Lt(band) - Lr(band)
# ltriqmean - averaging over the inter-quartile range of Lt(band) - Lr(band)
#
#############################################################
stlight, 5, -1, 5, 1
stlight, 10, -1, 5, 1
ltriqmean, 1, -1, 5, -1
ltriqmean, 2, -1, 5, -1
ltriqmean, 3, -1, 5, -1
ltriqmean, 4, -1, 5, -1
ltriqmean, 5, -1, 5, -1
ltriqmean, 6, -1, 5, -1
ltriqmean, 7, -1, 5, -1
ltriqmean, 8, -1, 5, -1