gd.addNumericField("Initial alpha sigma",terr_alpha_sigma,5,7,"","Initial alpha: Gaussian blur sigma to find local average for vegetation temperature..");
gd.addNumericField("Initial alpha min frac",terr_alpha_init_min,5,7,"","Initial alpha: fraction for transparent.");
gd.addNumericField("Initial alpha max frac",terr_alpha_init_max,5,7,"","Initial alpha: fraction for opaque.");
gd.addNumericField("Initial alpha offset",terr_alpha_init_offs,5,7,"","Initial alpha: opaque/transparent offset from 1.0/0.0.");
gd.addNumericField("Alpha loss",terr_alpha_loss,5,7,"","Alpha quadratic growing loss for when out of [0,1] range");
gd.addNumericField("Alpha offset",terr_alpha_offset,5,7,"","Start alpha losses above 0.0 and below 1.0 by this value.");
...
...
@@ -2100,6 +2116,12 @@ min_str_neib_fpn 0.35
gd.addNumericField("Terrain pull",terr_terr_pull0,5,7,"","Terrain pixels pull to initial (pre-adjustment) values.");
@@ -2209,7 +2321,7 @@ public class VegetationLMA {
continue;
}
}else{
vegetation=tvao[TVAO_ELEVATION][npix];
vegetation=tvao[TVAO_VEGETATION][npix];
}
if(alpha_parameters){
napar=par_index[TVAO_ALPHA][npix];
...
...
@@ -3114,6 +3226,41 @@ public class VegetationLMA {
}
ImageDtt.startAndJoin(threads);
}
// loss for low elevation (interfering with the terrain) and high alpha
if((samples_pointers[SAMPLES_ELEVATION_ALPHA][1]>0)&&elev_alpha_en){// fits[TVAO_ELEVATION] && (elevation_lpf >= 0)) { // should be positive for pull0 and terr_pull_cold (difference between vegetation and terrain)
doublealpha_loss=clt_parameters.imp.terr_alpha_loss;//100.0; // 10.0; /// 100.0; // 10.0; // 10000.0; // 1000.0; // 100.; // 10.0; // quadratic loss when alpha reaches -1.0 or 2.0
doublealpha_offset=clt_parameters.imp.terr_alpha_offset;// 0.0; // 0.02; // 0.03; // if >0, start losses above 0.0 and below 1.0;
...
...
@@ -1436,6 +1442,10 @@ public class VegetationModel {
doubleterr_pull0=clt_parameters.imp.terr_terr_pull0;// 0.05; //0.03; ////// 0.05; ///// 0.1; //// 0.01; /// 0.2; /// 0.1; //pull terrain to zero (makes sense with UM
doubleveget_pull0=clt_parameters.imp.terr_veget_pull0;// 0.05; //0.1; // 0.03; ////// 0.05; ///// 0.1; //// 0.01; /// 0.1; // pull vegetation to zero (makes sense with UM