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 MaxTreeAutoDual(IAlgebraReal <ElementType> algebra, IMaxTreeBuilder <ElementType> builder, ITopologyElement topology, ElementType[] element_values) { this.algebra = algebra; this.max_tree = builder.BuildMaxTree(element_values, new ComparerNatural <ElementType>(), topology, element_values.Length); this.min_tree = builder.BuildMaxTree(element_values, new ComparerNatural <ElementType>(true), topology, element_values.Length); this.element_values = ToolsCollection.Copy(element_values); }
public void TestDefaultBuilderTrivial4(IMaxTreeBuilder <int> builder) { int[] data = new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; IImageRaster3D <int> image = new ImageRaster3D <int>(3, 3, 1, data, false); ITopologyElement topology = new TopologyElementRaster3D6Connectivity(image.Raster); IMaxTree <int> maxtree = builder.BuildMaxTree(data, new ComparerNatural <int>(), topology, data.Length); maxtree.GetDisplayValues(); }
public void TestDefaultBuilderVeryBig(IMaxTreeBuilder <int> builder) { Random random = new Random(0); int[] data = new int[512 * 512 * 10]; for (int index = 1; index < data.Length; index++) { data[index] = (int)(random.NextDouble() * 100.0); } IImageRaster3D <int> image = new ImageRaster3D <int>(512, 512, 10, data, false); ITopologyElement topology = new TopologyElementRaster3D6Connectivity(image.Raster); IMaxTree <int> maxtree = builder.BuildMaxTree(data, new ComparerNatural <int>(), topology, data.Length); }
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); }
public AlphaPartitionTreeBuilderMinTree(IAlgebraReal <EdgeValueType> algebra, IMaxTreeBuilder <EdgeValueType> builder) { this.builder = builder; this.algebra = algebra; }