资源简介

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\culayer.cpp
     文件        2600  2018-07-27 12:17  cuESTARFM-master\Codes\culayer.h
     文件       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个文件信息

评论

共有 条评论