public void TestDefaultBuilderTrivial0(IMaxTreeBuilder <int> builder) { int[] data = new int[] { 0, 0, 0, 0 }; IImageRaster2D <int> image = new ImageRaster2D <int>(2, 2, data, false); ITopologyElement topology = new TopologyElementRaster2D4Connectivity(image.Raster); IMaxTree <int> maxtree = builder.BuildMaxTree(data, new ComparerNatural <int>(), topology, data.Length); }
public static ImageRaster2D <bool> GetShell2D4C(ImageRaster2D <bool> source, bool border_is_shell = false) { ITopologyElement topology = new TopologyElementRaster2D4Connectivity(source.Raster); ImageRaster2D <bool> target = new ImageRaster2D <bool>(source.Raster); GetShellRBA(source, topology, target, border_is_shell); return(target); }
public void TestDefaultBuilderTrivial3(IMaxTreeBuilder <int> builder) { int[] data = new int[] { 1, 2, 2, 0, 2, 1 }; IImageRaster2D <int> image = new ImageRaster2D <int>(2, 3, data, false); ITopologyElement topology = new TopologyElementRaster2D4Connectivity(image.Raster); IMaxTree <int> maxtree = builder.BuildMaxTree(data, new ComparerNatural <int>(), topology, data.Length); int[] element_indexes_0 = maxtree.GetFullElementsIndexesOfElementLevelAndAbove(1); Assert.AreEqual(1, element_indexes_0.Length); int[] element_indexes_1 = maxtree.GetFullElementsIndexesOfElementLevelAndAbove(4); Assert.AreEqual(2, element_indexes_1.Length); int[] element_indexes_2 = maxtree.GetFullElementsIndexesOfElementLevelAndAbove(0); Assert.AreEqual(5, element_indexes_2.Length); int[] element_indexes_3 = maxtree.GetFullElementsIndexesOfElementLevelAndAbove(3); Assert.AreEqual(6, element_indexes_3.Length); }
public void TestDefaultBuilderBig(IMaxTreeBuilder <int> builder) { Random random = new Random(0); int[] data = new int [512 * 512]; for (int index = 1; index < data.Length; index++) { data[index] = (int)(random.NextDouble() * 100.0); } IImageRaster2D <int> image = new ImageRaster2D <int>(512, 512, data, false); ITopologyElement topology = new TopologyElementRaster2D4Connectivity(image.Raster); IMaxTree <int> maxtree = builder.BuildMaxTree(data, new ComparerNatural <int>(), topology, data.Length); maxtree.GetFullElementsIndexesOfElementLevelAndAbove(0); maxtree.GetFullElementsIndexesOfElementLevelAndAbove(500); maxtree.GetFullElementsIndexesOfElementLevelAndAbove(1800); }