資源簡介
ESTARFM算法是數據融合領域經典代碼,本代碼基于GPU訓練,包含代碼部分和測試數據部分。研究方向設計相關領域的可以下載研究,親測可用。

代碼片段和文件信息
#include
#include“trans.h“
void?usage(char?*command)?{
??printf(“Usage:?%s?\n“?command);
??printf(“?is?a?text?input?file?which?contains:\n“);
??printf(“STARFM_PARAMETER_START\n“);
??printf(“\tNUM_IN_PAIRS?=?\n“);
??printf(“\tThe_pf_band_of_Landsat_for_calculating?=?\n“);
??printf(“\tThe_pc_band_of_MODIS_for_calculating?=?\n“);
??printf(“\tIN_PAIR_MODIS_FNAME?=?\n“);
??printf(“\tIN_PAIR_LANDSAT_FNAME?=?\n“);
??printf(“\tIN_PDAY_MODIS_FNAME?=?\n“);
??printf(“\tOUT_PDAY_LANDSAT_FNAME?=?\n“);
??printf(“\tThe_width_of_searching_window=\n“);
??printf(“\tAssumed_number_of_classifications?=?\n“);
?//?printf(“\t?=\n“);
??printf(“\tLandsat_sensor_error=?\n“);
??printf(“\tMODIS_sensor_error?=?\n“);?
??printf(“STARFM_PARAMETER_END\n“);
}
int?parseParameters(char?*fname?Culayer?*psensorPARAMETER?*par)
{
??int???i?k?total_pairs=0;
??char??buffer[1000]?=?“\0“;
??char??*label?=NULL;
??par->NUM_PREDICTIONS=0;
??char??*tokenptr?=NULL;
??char?readpath[1000];
??string?argName;
??string?t;
??char??*separator?=?“=?“;
??FILE??*in;??
//char??buffer[1000]?=?“\0“;
if((in=fopen(fname“r“))==NULL)?
{
????printf(“Can‘t?open?input?%s\n“?fname);
????return?-1;
????}
fscanf(in?“%s“?buffer);
if(strcmp(buffer?“ESTARFM_PARAMETER_START“)?!=?0)
{
????printf(“This?is?not?a?valid?input?file\n“);
????return?-1;
????}
int?nn=0;
while(1)?
{
nn++;
if(nn>1000)
{
cerr<<“配置文件應該用ESTARFM_PARAMETER_END結尾“< break;
}
memset(buffer01000);
if(fgets(buffer?1000?in)==NULL)
continue;
if(strcmp(buffer?“ESTARFM_PARAMETER_END“)?==?0)?break;
tokenptr?=?strtok(buffer?separator);
label=tokenptr;
if(strcmp(label“#“)?==?0)?continue;
while(tokenptr?!=?NULL)?
{
tokenptr?=?strtok(NULL?separator);
if(strcmp(label?“NUM_IN_PAIRS“)?==?0)?
{
par->NUM_PAIRS?=?atoi(tokenptr);
if(par->NUM_PAIRS<=1)
{
cerr<<“參考影像至少兩對“< return?-1;
}
}
else?if(strcmp(label?“IN_PAIR_LANDSAT_FNAME“)?==?0)
for(i=0;?iNUM_PAIRS;?i++)?
{
sscanf(tokenptr?“%s“readpath);
psensor[i].Read(readpath);
tokenptr?=?strtok(NULL?separator);
}
else?if(strcmp(label?“IN_PAIR_MODIS_FNAME“)?==?0)
for(i=par->NUM_PAIRS;?i<2*par->NUM_PAIRS;?i++)?
{
sscanf(tokenptr?“%s“?readpath);
psensor[i].Read(readpath);
tokenptr?=?strtok(NULL?separator);
}
else?if(strcmp(label?“IN_PDAY_MODIS_FNAME“)?==?0)
{
?k?=?0;
do?
{
?sscanf(tokenptr?“%s“?readpath);
?tokenptr?=?strtok(NULL?separator);
?psensor[2*(par->NUM_PAIRS+k)].Read(readpath);
//?sscanf(tokenptr?“%s“??psensor[2*(par->NUM_PAIRS+k)+1].outpath);
?k++;
}while(tokenptr?!=?NULL);
if(par->NUM_PREDICTIONS?==?0)
par->NUM_PREDICTIONS?=?k;
else?if(k?!=?par->NUM_PREDICTIONS)?
{
printf(“\nnumber?of?IN_PDAY_MODIS_MASK?does?not?match?IN_PDAY_MODIS_FNAME\n“);
return?-1;
}
}
else?if(strcmp(label?“OUT_PDAY_LANDSAT_FNAME“)?==
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-07-27?12:17??cuESTARFM-master\
?????目錄???????????0??2018-07-27?12:17??cuESTARFM-master\Codes\
?????文件?????????366??2018-07-27?12:17??cuESTARFM-master\Codes\PARAMETER.h
?????文件????????4219??2018-07-27?12:17??cuESTARFM-master\Codes\cuESTARFM_util.cpp
?????文件????????6974??2018-07-27?12:17??cuESTARFM-master\Codes\cula
?????文件????????2600??2018-07-27?12:17??cuESTARFM-master\Codes\cula
?????文件???????34849??2018-07-27?12:17??cuESTARFM-master\Codes\kernel.cu
?????文件????????1203??2018-07-27?12:17??cuESTARFM-master\Codes\parameters_exmaple.txt
?????文件?????????487??2018-07-27?12:17??cuESTARFM-master\Codes\trans.cpp
?????文件?????????399??2018-07-27?12:17??cuESTARFM-master\Codes\trans.h
?????文件???????35147??2018-07-27?12:17??cuESTARFM-master\LICENSE
?????文件????????6504??2018-07-27?12:17??cuESTARFM-master\README.md
?????目錄???????????0??2018-07-27?12:17??cuESTARFM-master\TestData\
?????文件?????????548??2018-07-27?12:17??cuESTARFM-master\TestData\L_2001_10_07.hdr
?????文件?????4320000??2018-07-27?12:17??cuESTARFM-master\TestData\L_2001_10_07.tif
?????文件?????????548??2018-07-27?12:17??cuESTARFM-master\TestData\L_2001_11_24.hdr
?????文件?????4320000??2018-07-27?12:17??cuESTARFM-master\TestData\L_2001_11_24.tif
?????文件?????????548??2018-07-27?12:17??cuESTARFM-master\TestData\L_2002_01_04.hdr
?????文件?????4320000??2018-07-27?12:17??cuESTARFM-master\TestData\L_2002_01_04.tif
?????文件?????????548??2018-07-27?12:17??cuESTARFM-master\TestData\L_2002_02_21.hdr
?????文件?????4320000??2018-07-27?12:17??cuESTARFM-master\TestData\L_2002_02_21.tif
?????文件?????????548??2018-07-27?12:17??cuESTARFM-master\TestData\M_2001_10_07.hdr
?????文件?????4320000??2018-07-27?12:17??cuESTARFM-master\TestData\M_2001_10_07.tif
?????文件?????????548??2018-07-27?12:17??cuESTARFM-master\TestData\M_2001_11_01.hdr
?????文件?????4320000??2018-07-27?12:17??cuESTARFM-master\TestData\M_2001_11_01.tif
?????文件?????????548??2018-07-27?12:17??cuESTARFM-master\TestData\M_2001_11_24.hdr
?????文件?????4320000??2018-07-27?12:17??cuESTARFM-master\TestData\M_2001_11_24.tif
?????文件?????????548??2018-07-27?12:17??cuESTARFM-master\TestData\M_2002_01_04.hdr
?????文件?????4320000??2018-07-27?12:17??cuESTARFM-master\TestData\M_2002_01_04.tif
?????文件?????????548??2018-07-27?12:17??cuESTARFM-master\TestData\M_2002_02_12.hdr
?????文件?????4320000??2018-07-27?12:17??cuESTARFM-master\TestData\M_2002_02_12.tif
............此處省略2個文件信息
評論
共有 條評論