Loading src/main/java/com/elphel/imagej/tileprocessor/TexturedModel.java +645 −262 File changed.Preview size limit exceeded, changes collapsed. Show changes src/main/java/com/elphel/imagej/tileprocessor/TileNeibs.java +20 −1 Original line number Original line Diff line number Diff line Loading @@ -391,6 +391,25 @@ public class TileNeibs{ for (int i = 0; i < tiles.length; i++) tiles[i] = !itiles[i]; for (int i = 0; i < tiles.length; i++) tiles[i] = !itiles[i]; } } public boolean [] getEdgeSelection( int shrink, // grow tile selection by 1 over non-background tiles 1: 4 directions, 2 - 8 directions, 3 - 8 by 1, 4 by 1 more boolean [] tiles, boolean [] prohibit) { boolean [] etiles = new boolean [tiles.length]; for (int i = 0; i < tiles.length; i++) etiles[i] = !tiles[i]; growSelection( shrink, // grow tile selection by 1 over non-background tiles 1: 4 directions, 2 - 8 directions, 3 - 8 by 1, 4 by 1 more etiles, prohibit); for (int i = 0; i < tiles.length; i++) etiles[i] &= tiles[i]; return etiles; } public void growSelection( public void growSelection( int grow, // grow tile selection by 1 over non-background tiles 1: 4 directions, 2 - 8 directions, 3 - 8 by 1, 4 by 1 more int grow, // grow tile selection by 1 over non-background tiles 1: 4 directions, 2 - 8 directions, 3 - 8 by 1, 4 by 1 more boolean [] tiles, boolean [] tiles, Loading Loading @@ -630,7 +649,7 @@ public class TileNeibs{ } } return enum_clust_ordered; return enum_clust_ordered; } } public int getMax( public static int getMax( int [] data) int [] data) { { int mx = data[0]; int mx = data[0]; Loading src/main/java/com/elphel/imagej/tileprocessor/TilePlanes.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -5662,7 +5662,7 @@ public class TilePlanes { grown_sel, // boolean [] tiles, grown_sel, // boolean [] tiles, false); // boolean ordered) false); // boolean ordered) int num_clusters = tileNeibs.getMax( int num_clusters = TileNeibs.getMax( clusters); // int [] data) clusters); // int [] data) if (num_clusters > 1){ if (num_clusters > 1){ boolean [] dbg_grown_sel =grown_sel.clone(); boolean [] dbg_grown_sel =grown_sel.clone(); Loading Loading @@ -5699,7 +5699,7 @@ public class TilePlanes { clusters = tileNeibs.enumerateClusters( clusters = tileNeibs.enumerateClusters( grown_sel, // boolean [] tiles, grown_sel, // boolean [] tiles, false); // boolean ordered) false); // boolean ordered) num_clusters = tileNeibs.getMax( num_clusters = TileNeibs.getMax( clusters); clusters); if (num_clusters > 1){ if (num_clusters > 1){ boolean [][] cluster_sels = new boolean [num_clusters][selections[np].length]; boolean [][] cluster_sels = new boolean [num_clusters][selections[np].length]; Loading Loading
src/main/java/com/elphel/imagej/tileprocessor/TexturedModel.java +645 −262 File changed.Preview size limit exceeded, changes collapsed. Show changes
src/main/java/com/elphel/imagej/tileprocessor/TileNeibs.java +20 −1 Original line number Original line Diff line number Diff line Loading @@ -391,6 +391,25 @@ public class TileNeibs{ for (int i = 0; i < tiles.length; i++) tiles[i] = !itiles[i]; for (int i = 0; i < tiles.length; i++) tiles[i] = !itiles[i]; } } public boolean [] getEdgeSelection( int shrink, // grow tile selection by 1 over non-background tiles 1: 4 directions, 2 - 8 directions, 3 - 8 by 1, 4 by 1 more boolean [] tiles, boolean [] prohibit) { boolean [] etiles = new boolean [tiles.length]; for (int i = 0; i < tiles.length; i++) etiles[i] = !tiles[i]; growSelection( shrink, // grow tile selection by 1 over non-background tiles 1: 4 directions, 2 - 8 directions, 3 - 8 by 1, 4 by 1 more etiles, prohibit); for (int i = 0; i < tiles.length; i++) etiles[i] &= tiles[i]; return etiles; } public void growSelection( public void growSelection( int grow, // grow tile selection by 1 over non-background tiles 1: 4 directions, 2 - 8 directions, 3 - 8 by 1, 4 by 1 more int grow, // grow tile selection by 1 over non-background tiles 1: 4 directions, 2 - 8 directions, 3 - 8 by 1, 4 by 1 more boolean [] tiles, boolean [] tiles, Loading Loading @@ -630,7 +649,7 @@ public class TileNeibs{ } } return enum_clust_ordered; return enum_clust_ordered; } } public int getMax( public static int getMax( int [] data) int [] data) { { int mx = data[0]; int mx = data[0]; Loading
src/main/java/com/elphel/imagej/tileprocessor/TilePlanes.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -5662,7 +5662,7 @@ public class TilePlanes { grown_sel, // boolean [] tiles, grown_sel, // boolean [] tiles, false); // boolean ordered) false); // boolean ordered) int num_clusters = tileNeibs.getMax( int num_clusters = TileNeibs.getMax( clusters); // int [] data) clusters); // int [] data) if (num_clusters > 1){ if (num_clusters > 1){ boolean [] dbg_grown_sel =grown_sel.clone(); boolean [] dbg_grown_sel =grown_sel.clone(); Loading Loading @@ -5699,7 +5699,7 @@ public class TilePlanes { clusters = tileNeibs.enumerateClusters( clusters = tileNeibs.enumerateClusters( grown_sel, // boolean [] tiles, grown_sel, // boolean [] tiles, false); // boolean ordered) false); // boolean ordered) num_clusters = tileNeibs.getMax( num_clusters = TileNeibs.getMax( clusters); clusters); if (num_clusters > 1){ if (num_clusters > 1){ boolean [][] cluster_sels = new boolean [num_clusters][selections[np].length]; boolean [][] cluster_sels = new boolean [num_clusters][selections[np].length]; Loading