samsammurphy / 6s_emulator Goto Github PK
View Code? Open in Web Editor NEWAtmospheric correction in Python using a 6S emulator
License: Other
Atmospheric correction in Python using a 6S emulator
License: Other
Hello! Thanks for creating this package. I am using it for LUT based correction of ASTER data. I was wondering, and perhaps this is more accurate to ask of the Py6S package, is there a switch or some capability to enable correction of adjacency effect in the atmospheric correction process? Or is it enabled by default? I can't seem to find any mention of it anywhere in the Py6S code unless it is encoded with the BRDF specification.
Cheers,
Joe
It takes several hours to build LUTs but they are fairly lightweight. Should be supplied here.
Build and upload LUTs for the following satellite and aerosol profiles (at nadir for now)
NB. iLUTs (i.e. interpolated LUTs), on the other hand, don't take to long to create (i.e. probably under 30 seconds) but do take up a lot of space (i.e. around 0.5 Gb for a Landsat mission). Probably best to let users interpolate LUTs on the client-side for now (?)
need to add how to install in the README..
maybe just link to dependencies in the WIki:
https://github.com/samsammurphy/6S_emulator/wiki/Dependencies
This is the basic idea:
Atmospheric Correction of Feature Collections in GEE (add to 6S_emulator repo as a wiki)
$ py export_atmcorr_variables.py {name} {lat} {lon}
update_atmcorr_variables.py {name} {aerosol}
upload 6S results to a fusion table
atmospheric correction in playground using fusion table
describe divide and conquer method for image correction
add in-scene AOT retrieval
add module to extract atmospheric water vapor and ozone or a given time and place on the Earth's surface using Google Earth Engine
Add validation to Wiki
some guidance in choosing an aerosol_profile would be useful, for me at least. I assume CO is just the "default". DE and MA seem pretty self explanatory? When would you prefer NO? UR would be used for NYC? Raleigh?
need to mention dependencies in wiki
e.g. Py6S, etc.
combine iLUT outputs from 2 view zeniths and take the average
dear dr. Sam Murphy:
I'm very happy to use your 6S_emulator,and still have some question about your code. how can you consider the factor of [solar ciew angle, satelite view angle, satelite zenith angle] in your LUT_build.py, and these fator are very important in atmospheric correction. hope for your reply.
your sincerely,
xiaosong ding
talk about the necessity to trade-off performance with size..
The larger the LUT the better the performance can be.. of course this also depends on the positioning and selection of solution points within the LUT.
Expressing this clearly will help potentially interested users in seeing that they could boost performance (or decrease LUT size) if they want to..
Maybe you should make it easier for people to select there own input lists??
Hi Sam,
Stumbled upon your useful tool, and was hoping to conveniently be able to use the pre-built LUTs (specifically those for Landsat TM). Thanks for sharing it.
So far I've been happy with the current features, but now have an issue with the range of valid values. According to the the readme, the range of valid WVP values is 0 - 8.5 [g/cm2], and I am dealing with conditions that fall outside this range (~10 [g/cm2]).
If I edited LUT_build.py and tacked on some extra values to the H2O key in the dictionary on line 113, would that extend the range? Would the built table then break, and not work with LUT_interpolate.py anymore?
Regards,
Jigme
add support for user-defined wavebands not already supported by 6S and/or Py6S..
e.g. Sentinel 2, Hyperion, etc.
perhaps the README is a bit longer than it really should be..
might be a good idea to send some of that material to the wiki (using links to let people know there is more info if they want to see it)
hi, i´m trying to use your tool here, but when install it, i get the Py6S env running, but this doesn´t include your adding functions to feed the 6S modelo with LUTs. What i´m doing wrong? (i have tried also docker installation without luck).
thanks!
I think it'd be a lot cleaner if we moved these large data tables to separate CSV files and then parsed those files. https://github.com/samsammurphy/6S_emulator/blob/master/bin/astronomical.py#L162 and https://github.com/samsammurphy/6S_emulator/blob/master/bin/astronomical.py#L399
Thoughts?
Explain how iLUT files are organized
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.