winash12 Posted February 11, 2015 Report Share Posted February 11, 2015 I believe my earlier question on another topic was misunderstood. I want to be able to use landsat 8 OLI images and then perform atmospheric correction. I do not want to use ENVI or 6S or any other software out there. I want the conceptual understanding of atmospheric correction so that I can implement this in my language of choice i.e. Java or C++ Quote Link to comment Share on other sites More sharing options...
whocares1980 Posted February 11, 2015 Report Share Posted February 11, 2015 java? I doubt that..... Quote Link to comment Share on other sites More sharing options...
winash12 Posted February 11, 2015 Author Report Share Posted February 11, 2015 why do you doubt that ? explanation would be appreciated. Quote Link to comment Share on other sites More sharing options...
mamadouba Posted February 14, 2015 Report Share Posted February 14, 2015 Gotcha. Unless you are an atmospheric scientist, or have a true grasp on atmospheric science, I would not attempt trying to program complex physical based models such as 6S or MODTRAN. Eric Vermote has dedicated his research career to 6S. Instead, I would recommend something like a scene-based model like cos(t), Chavez 1996. Easily programmable and implemented, and produces good results. Calibrate to TOA radiance, then to planetary reflectance, then apply cos(t). http://info.asprs.org/publications/pers/96journal/september/1996_sep_1025-1036.pdf http://earth.gis.usu.edu/imagestd/ (example code with equations). 2 Quote Link to comment Share on other sites More sharing options...
winash12 Posted February 15, 2015 Author Report Share Posted February 15, 2015 Very nice. Thank you very much. I presume the header file that comes with landsat 8 images gives the values for most of the parameters needed to perform atmospheric correction. Quote Link to comment Share on other sites More sharing options...
mamadouba Posted February 15, 2015 Report Share Posted February 15, 2015 The quick answer to "conceptual understanding of atmospheric correction" is attempting to quantify atmospheric contributions to at-satellite radiance, or top-of-atmosphere (TOA) radiance. These atmospheric contributions include scattering, absorbing, refraction and transmission of light. Once you have modeled these properties of atmospheric attenuation, you remove them from the imagery (using the code you have programmed) to derive surface reflectance. Quote Link to comment Share on other sites More sharing options...
mamadouba Posted February 15, 2015 Report Share Posted February 15, 2015 Yes, the MTL.txt file contains all of the metadata that you need to duplicate the examples of cos(t) that I provided. You will find both gain and offset calibration factors to convert DN to either TOA radiance or TOA reflectance. You will also fin Sun Elevation to calculate the sun angle and you will find the Julian day to calculate Sun-Earth distance (d). Follow this user guide (second section) to understand how to convert data to TOA reflectance. http://landsat.usgs.gov/Landsat8_Using_Product.php 1 Quote Link to comment Share on other sites More sharing options...
winash12 Posted February 15, 2015 Author Report Share Posted February 15, 2015 Excellent @MamaDouba. You have given me the "Hello World" version of how to do atmospheric correction. I presume after that I need to do radiometric correction and geometric correction then the geotiff landsat 8 is ready for usage in applications. Quote Link to comment Share on other sites More sharing options...
winash12 Posted February 15, 2015 Author Report Share Posted February 15, 2015 One final question. The dark object sutbtraction method (DOS) is different from what you have mentioned. Correct ? Quote Link to comment Share on other sites More sharing options...
mamadouba Posted February 15, 2015 Report Share Posted February 15, 2015 Here's the order of your workflow. Geometric correction should not be necessary if you are using Level-1 Terrain Corrected Landsat-8 data (L1T). These GeoTIFF data bands come precision terrain corrected and geo-registered so that step is already complete. You will be performing the radiometric correction when you calibrate the data to at-sensor or top-of-atmosphere (TOA) surface reflectance. The calibration coefficients are found in the *_MTL.txt metedata file. After the data are in TOA reflectance, you then apply the cos(t) atmospheric correction algorithm. Think of Cos(t) as an extension of dark object subtraction (DOS). DOS alone does not account for transmittance; the (t) in cos(t) is the multiplicative factor used to estimate this atmospheric transmittance by taking in account solar zenith. t = Atmospheric Transmittance expressed as Solar zenith is calculated from the sun elevation data found in the metadata file, where Theta is sun elevation. I'm not sure which programming language you plan to use, but I have this algorithm coded in IDL. The code parses the metadata to extract the relevant information, applies the gain/offset to calibrate (essentially a linear regression), and performs cos(t) in a batch process. I'm happy to share if you wish. 1 Quote Link to comment Share on other sites More sharing options...
winash12 Posted February 16, 2015 Author Report Share Posted February 16, 2015 That would be great if you can share it. I plan to code mine in Java. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.