Dear Soeren and Luca,

First, let me introduce myself again to Soeren. My name is Bo Yang, a Ph. D. 
student in the Department of Geography, University of Cincinnati, OH, USA.  I 
have a bachelor degree in Mathematics and MS in Computer Science. I am really 
interested in OSGeo-SoC2016. It would be a great opportunity if I can make 
contributions as well as learn to become an open-source developer.

Currently I have an idea based on my MA thesis project: Spatio-temporal fusion 
of multi-scale data with in a cokriging framework.
This project extends traditional cokriging method for blending spatial data 
sets with different temporal sampling frequency and spatial resolution 
(density). It can be used for both raster data and vector data, effectively 
fill in data gaps due to severe weather condition, instrument malfunction, or 
other reasons, filtering out data noise, and generate reliable results at both 
high spatial resolution and high temporal frequency with associated uncertainty 
estimates.

Soeren, I noticed you are the author of r.series.interp. I discussed a little 
with Luca, I agree this project is highly related to the package. So I am 
writing to ask if you are interest in mentoring this project. Currently I have 
the preliminary python code for the raster fusion attached(ImageFusion_SoC.py). 
It was written during my master degree, so it is sort of rough and haven't been 
re-constructed to OOP yet. But it runs well for fusion MODIS and Landsat data. 

I attached an fusion example for NDVI[0] images.  The program is able to blend 
Landsat TM/ETM+ NDVI image (30m) with MODIS NDVI image (250m)[1]. The NDVI can 
be calculated from the combination of the red band (Band 3 of Landsat TM or 
ETM+ multispectral imagery, or Band 1 of MODIS multispectral imagery) and near 
infrared band (Band 4 of Landsat TM or ETM+ multispectral imagery, or Band 2 of 
MODIS multispectral imagery). MODIS data has been resampled to 270m to 
co-registered with Landsat pixels. 

I selected a relatively cloud free period (07/19/2002-07/29/2002) to 
demonstrate the fusion process, the study region is Lake Tahoe region, NV, USA. 
Both Landsat and MODIS NDVI images need to be converted to ASCII file, source 
data can be found here[2]. Text files start with "A" are daily MODIS NDVI 
images and "lt5ndvi_0716" is the Landsat TM data. The goal of this example is 
to fuse daily MODIS NDVI images with a Landsat NDVI images (30m) to generate 
images at 30 m spatial resolution for everyday, using spatio-temporal cokriging 
method. Namely, I intend to use a single high resolutions Landsat NDVI images 
to sharpen daily time series MODIS images. Also the program is able to fill in 
the missing value. I artificially generated a missing data region in each input 
MODIS image and we can see the result fill in the missing data region very 
well. One good application of this algorithm is to fill in the gaps in the 
Landsat ETM+ images after 2002 due to the sensor's malfunction. 

The fusion module is attached, it need an input exponential/Gaussian model 
parameter which was calculated via semi-variogram fitting module. I did export 
the parameters in the attached text file for this case so the fusion module can 
be run independently. To run the program quickly, just put attached text file 
and source data[2] in the working folder and apply it to line22 of the fusion 
module. Of course other MODIS data can be used for this program if converted to 
ASCII files. There are two fusion methods, first one (line 330: 
fusion_with_covariable) is used for the MODIS data, which can sharpening and 
fill-in the missing data values. Second one is cokriging which incorporated the 
fine Landsat image as co-variable, it can achieve much better sharpening result 
as well as fill-in missing data values. Both method generated the gap filled 
result at 30m spatial resolution.

Please let me know if you have and comments or suggestions. Luca, thank you for 
sending me the compile method and programming manual. I normally used windows 
OS, and Eclipse + Pydev as primary IDE. I am going to look into the manual and 
GRASS codes. Any more advice would be greatly appreciated.

Best regards,
Bo Yang



[0] https://en.wikipedia.org/wiki/Normalized_Difference_Vegetation_Index
[1] https://lpdaac.usgs.gov/dataset_discovery/modis/modis_products_table/mod09gq
[2] 
https://drive.google.com/folderview?id=0B25sQdmthpGJS0JOdEh5cDd4S1k&usp=sharing

-----Original Message-----
From: Luca Delucchi [mailto:lucadel...@gmail.com] 
Sent: Wednesday, March 16, 2016 11:18 AM
To: Yang, Bo (yangb2) <yan...@mail.uc.edu>; Sören Gebbert 
<soerengebb...@googlemail.com>
Cc: grass-dev@lists.osgeo.org
Subject: Re: [GRASS-dev] OSGeo-SoC 2016 application

On 16 March 2016 at 04:49, Yang, Bo (yangb2) <yan...@mail.uc.edu> wrote:
> Hi Luca,
>

Hi Bo Yang,

> Thank you for the reply and info. It is great if you could co-mentor this 
> project. I would be more interest in implementing my spatio-temporal fusion 
> algorithm as an open source plug-in. Actually, I already have the preliminary 
> python code for the raster fusion, including modules of spatio-temporal 
> semi-variogram calculating, exponential/Gaussian fitting, spatio-temporal 
> fusion, uncertainty estimation and etc. Currently it runs well for fusing 
> MODIS and Landsat data. But it is just a preliminary program, I think a lot 
> more works need to be done to make it professional and could incorporated 
> into GRASS framework.

Could we see and test the code? I'm interesting to test it with MODIS data...

> I've read the link you sent to me. I think it is a good point to add it to 
> r.series.interp, which I noticed author is Sören Gebbert. Should I ask Sören 
> if he is interested to be a potential mentor? Furthermore, could you advise 
> what should I do now to get start for the programming environmental as well 
> as prepare the proposal?
>

Yes, I think you should ask Soeren, he knows a lot about this topic.
You have to compile GRASS [0], do you have a Windows or Unix OS?
After this you can start to read more about GRASS programming [1]

> Best,
> Bo Yang
>

[0] https://grasswiki.osgeo.org/wiki/Compile_and_Install
[1] https://grass.osgeo.org/programming7/

-- 
ciao
Luca

http://gis.cri.fmach.it/delucchi/
www.lucadelu.org

Attachment: ImageFusion_SoC.py
Description: ImageFusion_SoC.py

Exponential Spaial fitting result: Nuggest; Sill; Range;Squared Residuals
0.0;0.038;8.0;0.110837345442
Exponential Temporal fitting result:
0.0;0.024;1.0;0.00127348609599
_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Reply via email to