Exemplo n.º 1
0
        public void MedianFilter_LargeOrOddkernel_ThrowsCorrectException()
        {   /// Test whether Medianfilter class throws correct exceptions
            testImg.New("Quarters", new int[] { 6, 6 });

            // Filter
            MedianFilter medianLarge = new MedianFilter(15);
            MedianFilter medianEven  = new MedianFilter(4);

            Exception ex = Assert.Throws <Exception>(
                delegate { medianLarge.Filtering(testImg.Image.ToDouble()); });

            Assert.Equal("Kernel radius is larger than input array!", ex.Message);
            Exception ex2 = Assert.Throws <Exception>(
                delegate { medianEven.Filtering(testImg.Image.ToDouble()); });

            Assert.Equal("Kernel width is not odd!", ex2.Message);
        }
Exemplo n.º 2
0
        public void MedianFilter_SmallQuarter_EqualsPythonArray()
        {   /// Test whether Medianfilter class equals to scipy.signal.medfilt (default)
            testImg.New("Quarters", new int[] { 6, 6 });

            // Filter
            MedianFilter mc = new MedianFilter(3);

            double[,] imageFiltered = mc.Filtering(testImg.Image.ToDouble());
            //Console.WriteLine("Median filtered:"); Functions.DisplayArray(imageFiltered);

            double[,] refArray = new double[6, 6] // Here, actually columns are written out
            {
                { 0, 1, 1, 1, 3, 0 },
                { 1, 1, 1, 3, 3, 3 },
                { 1, 1, 2, 3, 3, 3 },
                { 1, 2, 2, 3, 4, 3 },
                { 2, 2, 2, 4, 4, 4 },
                { 0, 2, 2, 2, 4, 0 }
            };
            //Console.WriteLine("Reference:"); Functions.DisplayArray(refArray);
            Assert.Equal(refArray, imageFiltered);
        }