ASTER Surface Reflectance

132 views
Skip to first unread message

cok...@gmail.com

unread,
Mar 8, 2017, 9:47:24 PM3/8/17
to RSGISLib Support
Hi All,

Has anybody used rsgislib or arcsi do convert ASTER L1B radiance data into Surface Reflectance values?

We are looking at using one of the following:

rsgislib.imagecalibration.apply6SCoeffSingleParam()
rsgislib.imagecalibration.apply6SCoeffElevAOTLUTParam()
rsgislib.imagecalibration.apply6SCoeffElevLUTParam()

But are unsure how to find/calculate the band coefficients in particular.

Thinking they need to come from running 6SV, but there are a LOT of parameters!


Ultimately would like to automate the conversion of ASTER L1B data into surface reflectance.

Thanks, Brian.


Pete Bunting [pfb]

unread,
Mar 9, 2017, 2:50:00 AM3/9/17
to cok...@gmail.com, RSGISLib Support
Hi Brian, 

The simple answer to your question is that ARCSI does not support ASTER data. Adding sensors normally isn’t too hard you ‘just’ need to create a class for the sensor you are interested in (e.g., arcsisensorrapideye.py) and then provide an implementation of the main functions:

extractHeaderParameters - parse the sensor specific header file.
expectedImageDataPresent - check that the image file(s) are present.
checkInputImageValid - check the image files are ‘valid’
generateValidImageDataMask - create a mask for the valid image extent
getSolarIrrStdSolarGeom - get solar angles in solar irradiance geometry convention. 
getSensorViewGeom - get the sensor geometry angles
generateOutputBaseName - create the base output file name 
convertImageToRadiance - convert the input image to at sensor radiance
generateImageSaturationMask - create a saturated pixel mask
convertThermalToBrightness - convert thermal channels (if present) to thermal brightness
convertImageToTOARefl - convert the radiance image to at sensor reflectance
generateCloudMask - apply a cloud masking algorithm if available
calc6SCoefficients - generate the 6S coefficients for each band returning as array - just copy existing function and replace the sensor response functions.
convertImageToSurfaceReflSglParam - apply 6S coefficients for a single parameter set to the image to generate at surface reflectance 
convertImageToSurfaceReflDEMElevLUT - apply 6S coefficients using a LUT for elevation to the image to generate at surface reflectance 
convertImageToSurfaceReflAOTDEMElevLUT - apply 6S coefficients using a LUT for AOT and elevation to the image to generate at surface reflectance 
run6SToOptimiseAODValue - Run an optimisation to find AOD value for a estimated input sref - copy function and just update for sensor response function.
estimateImageToAODUsingDOS - estimate AOD using a dark object subtraction.
setBandNames - set the band name for an output image from this sensor.
cleanFollowProcessing - tidy up after process is needed, for example deleting temporary files. 

Once you’ve done that you then register the class with the sensor factory in arcsiutils.py and it should become available within the arcsi.py command line tool. I’ve been meaning to write a short tutorial on how to add a sensor but I haven’t had chance yet.

I don’t have time over the coming few months to look at anything else but I could look at ASTER at some point as I am keen to expand the number of sensor arcsi supports. If a certain sensor(s) is a priority then I have done consultancy work for organisation to add support for specific sensor(s). For the record the currently supported sensors are:

Landsat (1-8)
Rapideye
WorldView 2 & 3
SPOT (5, 6 and 7) 
Pleiades

Next on the list of Sentinel-2, which will be added over the coming months.

Best wishes, 

Pete


****************************************************
* Dr Pete Bunting
* Reader in Remote Sensing
* Earth Observation and Ecosystem Dynamics Group
* Department of Geography and Earth Sciences
* Aberystwyth University
* Aberystwyth
* Ceredigion
* SY23 3DB
* UK

* Ph: +44 (0) 1970 622615
* Mob: +44 (0) 7917 842743
* Email: p...@aber.ac.uk
* ORCID: http://orcid.org/0000-0002-7435-0148
****************************************************
"Please consider the environment before printing this email or any documents attached”

--
You received this message because you are subscribed to the Google Groups "RSGISLib Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rsgislib-suppo...@googlegroups.com.
To post to this group, send email to rsgislib...@googlegroups.com.
Visit this group at https://groups.google.com/group/rsgislib-support.
For more options, visit https://groups.google.com/d/optout.



--------------------------------------------------------------------
Un o’r 4 prifysgol uchaf yn y DU a’r orau yng Nghymru am fodlonrwydd myfyrwyr.
(Arolwg Cenedlaethol y Myfyrwyr 2016)
www.aber.ac.uk

Top 4 UK university and best in Wales for student satisfaction
(National Student Survey 2016)
www.aber.ac.uk

cok...@gmail.com

unread,
Mar 13, 2017, 6:01:43 PM3/13/17
to RSGISLib Support
Thanks Pete for the quick reply.  I've looked at the class and it doesn't look like it would be too difficult to derive a class that is specific for ASTER data as indicated.

Daniel Clewley

unread,
Mar 16, 2017, 3:52:42 AM3/16/17
to cok...@gmail.com, RSGISLib Support
Hi Brian,

If you get this working can you submit a pull request so the changes can go into the main version of ARCSI.

Thanks,

Dan

On 13 Mar 2017, at 22:01, cok...@gmail.com wrote:

Thanks Pete for the quick reply.  I've looked at the class and it doesn't look like it would be too difficult to derive a class that is specific for ASTER data as indicated.

cok...@gmail.com

unread,
Mar 16, 2017, 10:59:30 PM3/16/17
to RSGISLib Support, cok...@gmail.com
Yep, absolutely, will do.

Reply all
Reply to author
Forward
0 new messages