コード例 #1
0
ファイル: ZeroAgent.cpp プロジェクト: IvanLogvinov/soar
const action_t *agent_start(const observation_t *this_observation) {
	zeroify();
	return this_action;
}
コード例 #2
0
ファイル: ZeroAgent.cpp プロジェクト: IvanLogvinov/soar
const action_t *agent_step(double reward, const observation_t *this_observation) {
	zeroify();
	return this_action;
}
コード例 #3
0
ファイル: asf_phase_unwrap.c プロジェクト: glshort/MapReady
int asf_phase_unwrap(char *algorithm, char *interferogram, char *metaFile, 
		     char *demFile, char *baseline, double filter_strength, 
		     int flattening, char *mask, char *unwrapped_phase)
{
  int ii;
  char tmp[255];
  char **inFiles = (char **) MALLOC(sizeof(char *)*2);
  for (ii=0; ii<2; ii++)
    inFiles[ii] = (char *) MALLOC(sizeof(char)*50);

  // Simulated phase image from DEM
  asfPrintStatus("\n   Simulating a phase image from DEM ...\n\n");
  check_return(dem2phase(demFile, baseline, "dem_phase.img"),
	       "creating simulated phase (dem2phase)");

  // Deramping and multilooking interferogram
  asfPrintStatus("   Deramping interferogram ...\n\n");
  check_return(deramp(interferogram, baseline, "igramd", 0),
	       "deramping interferogram (deramp)");
  asfPrintStatus("\n   Multilooking the interferogram ...\n\n");
  check_return(multilook("igramd", "ml", "a_cpx.meta", NULL),
	       "multilooking interferogram (multilook)");

  // Remove known topographic phase
  asfPrintStatus("\n   Removing known topographic phase ...\n");
  if (flattening == 1) {
    sprintf(inFiles[0], "ml_phase.img");
    sprintf(inFiles[1], "dem_phase.img");
    check_return(raster_calc("ml_dem_phase.img", 
			     "\'(a-b)%6.2831853-3.14159265\' ", 2, inFiles),
		 "subtracting terrain induced phase (raster_calc)");
  }
  
  // Get rolling on the phase unwrapping
  if (strncmp(algorithm, "escher", 6)==0) {
    if (flattening == 1) 
      sprintf(tmp, "ml_dem_phase.img");
    else sprintf(tmp, "ml_phase.img");
    if (filter_strength < 0.0 || filter_strength > 3.0) {
      asfPrintWarning("phase filter value out of range - set to value "
		      "of 1.6\n");
      filter_strength = 1.6;
    }
    if (filter_strength > 0.0) {
      asfPrintStatus("\n   Filtering the phase ...\n\n");
      check_return(phase_filter(tmp, filter_strength, "filtered_phase"),
		   "phase filtering (phase_filter)");
      sprintf(tmp, "filtered_phase");
    }
    if (strcmp(tmp, "ml_phase.img") != 0) {
      asfPrintStatus("\n   Cleaning up filtering result ...\n");
      check_return(zeroify(tmp, "ml_phase.img", "escher_in_phase.img"),
		   "phase value cosmetics (zeroify)");
      sprintf(tmp, "escher_in_phase.img");
    }
    if (flattening == 1) {
      asfPrintStatus("   Performing phase unwrapping ...\n");
      check_return(escher(tmp,"unwrap_dem"), "phase unwrapping (escher)");
      asfPrintStatus("   Adding known topographic phase again ...\n");
      sprintf(inFiles[0], "unwrap_dem.img");
      sprintf(inFiles[1], "dem_phase.img");
      check_return(raster_calc("unwrap_phase.img", "\'(a+b)*(a/a)*(b/b)\' ",
			       2, inFiles),
		   "adding terrain induced phase back (raster_calc)");
    }
    else
      check_return(escher(tmp,"unwrap"), "phase unwrapping (escher)");

    asfPrintStatus("   Reramping unwrapped phase ...\n");
    check_return(deramp("unwrap", baseline, "unwrap_nod", 1),
		 "reramping unwrapped phase (deramp)");

    meta_parameters *m2 = meta_read("unwrap_phase.meta");
    m2->general->data_type = BYTE;
    meta_write(m2, "unwrap_dem_mask.meta");
    meta_free(m2);

    /*
    char inFile[256]; char outFile[256];
    strcpy(inFile, "unwrap_dem_mask");
    strcpy(outFile, "unwrap_mask");
    asfPrintStatus("Writing unwrapping mask to file ...\n");
    check_return(asf_export_with_lut(TIF, TRUNCATE, "unwrapping_mask.lut", 
				     inFile, outFile),
		 "colorized phase unwrapping mask (asf_export)");
    */
  }
  else if (strncmp(algorithm, "snaphu", 6)==0) {

    asfPrintError("function still needs to be connected again\n");
    /*
    sprintf(cmd, "make_snaphu_conf %s.phase unwrap.phase", interferogram);
    asfSystem(cmd);
    if (cfg->unwrap->tiles_azimuth == 0 || cfg->unwrap->tiles_range == 0) {
      meta = meta_init("a.meta");
      meta_get_latLon(meta, cfg->coreg->master_offset, 1, 0, &lat1, &lon1);
      meta_get_latLon(meta, cfg->coreg->master_offset, 1, 0, &lat2, &lon1);
      cfg->unwrap->tiles_azimuth =
	(int) (fabs(lat1-lat2)*cfg->unwrap->tiles_per_degree);
      cfg->unwrap->tiles_range = (int) (fabs(cfg->unwrap->tiles_per_degree*0.8));
    }
    if (cfg->unwrap->flattening==1)
      check_return(snaphu(cfg->unwrap->algorithm, "ml_phase.img", "ml_amp.img",
			  cfg->coreg->master_power, cfg->coreg->slave_power,
			  "snaphu.conf", "unwrap_phase.img",
			  cfg->unwrap->tiles_azimuth, cfg->unwrap->tiles_range,
			  cfg->unwrap->overlap_azimuth, cfg->unwrap->overlap_range,
			  cfg->unwrap->procs, 1), "phase unwrapping (snaphu)");
    else
      check_return(snaphu(cfg->unwrap->algorithm, "ml_phase.img", "ml_amp.img",
			  cfg->coreg->master_power, cfg->coreg->slave_power,
			  "snaphu.conf", "unwrap_phase.img",
			  cfg->unwrap->tiles_azimuth, cfg->unwrap->tiles_range,
			  cfg->unwrap->overlap_azimuth, cfg->unwrap->overlap_range,
			  cfg->unwrap->procs, 0), "phase unwrapping (snaphu)");
    link("ml_phase.meta", "unwrap_phase.meta");
    */
  }

  for (ii=0; ii<2; ii++)
    FREE(inFiles[ii]);
  FREE(inFiles);

  return(0);
}