polar-computing / SeaIce

9 stars 6 forks source link

Tools #4

Open r4space opened 8 years ago

r4space commented 8 years ago

Some initial thoughts on tools just to kick us off (I'm FAR from the expert so chip in everyone who knows more!)

Sci-kit image: I found this example interesting given Xin's papers!

MODIS Python Modis: "It offers bulk-download for user selected time ranges, mosaicking of MODIS tiles, and the reprojection from Sinusoidal to other projections, convert HDF format to other formats and the extraction of data quality information."

r4space commented 8 years ago

Oh and a toolkit for hyperspectral image processing: http://www.spectralpython.net

akpetty commented 8 years ago

Yeah the sci-kit image example is similar (if not the same) segmentation to the function I used in my recent study, so hopefully I can help there. Will take a closer look later this week.

Not so hot on hyperspectral analysis, but will try and do some background reading!

hlynch commented 8 years ago

I think the sci-kit package is definitely along the right lines of what we need to do. I'll look into some more this week as well.

phil-mcdowall commented 8 years ago

There are lots of implementations of CPU based segmentation algorithms around http://www.rsgislib.org/rsgislib_segmentation.html, OpenCV, SciKit etc. and parralelisizing the problem per scene would be trivial. I think it would be worth looking into GPU based implementations though as that might be key to much greater performance gains. OpenCV has several CUDA implementations http://docs.opencv.org/2.4/modules/gpu/doc/image_processing.html which are c++ libraries which would need some python wrappers. There are also several clustering implementations such as https://github.com/shackenberg/cukmeans.py, https://github.com/serban/kmeans which might work too. All of them would add a couple of dependencies and an extra step or two in the build, but might well be worth it. At the very least I think it would be worth structuring code to allow different segmentation algorithms to be dropped in, ie. wrap them to provide consistent input and output.

andypbarrett commented 8 years ago

This has more to do with the atmospheric correction part of the problem rather than the image classification part but may be of interest.

http://www.py6s.rtwilson.com/

Andy