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); }