publicdoubleterr_alpha_mm_hole=0.1;// NaN to disable. Local "almost minimum" (lower than this fraction between min and max neighbor) is not subject to alpha_lpf
publicdoubleterr_terr_lpf=0.1;// pull terrain to average of 4 neighbors (very small)
publicdoubleterr_veget_lpf=0.2;// pull vegetation to average of 4 neighbors (very small - maybe not needed)
publicdoubleterr_elev_lpf=0.1;// pull elevation to average of 4 neighbors (very small - maybe not needed)
publicdoubleterr_terr_pull0=0.05;// pull terrain to zero (makes sense with UM
publicdoubleterr_veget_pull0=0.05;// pull vegetation to zero (makes sense with UM
publicdoubleterr_scenes_pull0=1.0;// pull average scene offset to zero
...
...
@@ -2040,6 +2041,7 @@ min_str_neib_fpn 0.35
gd.addNumericField("Alpha MM fraction",terr_alpha_mm_hole,5,7,"","Disable diffusion for local \"almost minimum\" (lower than this fraction between min and max neighbors).");
gd.addNumericField("Terrain diffusion",terr_terr_lpf,5,7,"","LPF for terrain pixels (diffusion to 4 neighbors).");
gd.addNumericField("Vegetation diffusion",terr_veget_lpf,5,7,"","LPF for vegetation pixels (diffusion to 4 neighbors).");
gd.addNumericField("Elevation diffusion",terr_elev_lpf,5,7,"","LPF for elevation pixels (diffusion to 4 neighbors).");
gd.addNumericField("Terrain pull zero",terr_terr_pull0,5,7,"","Terrain pixels pull to 0 (makes sense with UM).");
gd.addNumericField("Vegetation pull zero",terr_veget_pull0,5,7,"","Vegetation pixels pull to 0 (makes sense with UM).");
gd.addNumericField("Pull scene offset",terr_scenes_pull0,5,7,"","Pull average scene offset to zero.");
@@ -1407,6 +1407,7 @@ public class VegetationModel {
doublealpha_mm_hole=clt_parameters.imp.terr_alpha_mm_hole;// 0.1; // NaN to disable. Local "almost minimum" (lower than this fraction between min and max neighbor) is not subject to alpha_lpf
doubleterr_lpf=clt_parameters.imp.terr_terr_lpf;// 0.1; // 0.15; /// 0.2; /// 0.1; // pull terrain to average of 4 neighbors (very small)
doubleveget_lpf=clt_parameters.imp.terr_veget_lpf;// 0.2; //0.15; /// 0.2; //// 0.01; /// 0.1; // pull vegetation to average of 4 neighbors (very small - maybe not needed)
doubleelevation_lpf=0;
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
@@ -1914,10 +1915,12 @@ public class VegetationModel {
}else{
System.out.println("===== Will process a single WOI ("+woi.x+", "+woi.y+", "+woi.width+", "+woi.height+").");
}
finalintmax_offset=22;// maximal "elevation" to consider
intnum_samples=vegetationLMA.prepareLMA(
false,// final boolean keep_parameters,
woi,// final Rectangle woi,
min_scenes,// final int min_scenes, // minimal number of scenes (inside woi) vegetation pixel must influence
false,// final boolean keep_parameters,
woi,// final Rectangle woi,
min_scenes,// final int min_dependent_scenes, // minimal number of scenes (inside woi) vegetation pixel must influence
max_offset,// final int max_offset, // maximal "elevation" to consider
min_total_scenes,// final int min_total_scenes,
min_samples_scene,//final int min_samples_scene, // 10
min_pixels,// final int min_pixels,
...
...
@@ -1947,6 +1950,7 @@ public class VegetationModel {
alpha_mm_hole,// double alpha_mm_hole = 0.1; // NaN to disable. Local "almost minimum" (lower than this fraction between min and max neighbor) is not subject to alpha_lpf
terr_lpf,// final double terr_lpf, // pull terrain to average of 4 neighbors (very small)
veget_lpf,// final double veget_lpf, // pull vegetation to average of 4 neighbors (very small - maybe not needed)
elevation_lpf,// final double elevation_lpf,
terr_pull0,// final double terr_pull0, // pull terrain to zero (makes sense with UM
veget_pull0,// final double veget_pull0, // pull vegetation to zero (makes sense with UM