public void GivenAThreeByThreeInputAndATwoByTwoFilter_WhenTheFilterIsSlid_ItShouldReturnAMappedRepresentationOfTheNextSection()
        {
            StrideBasedSlideRetrievalStrategy strategy = new StrideBasedSlideRetrievalStrategy();

            Position position = new Position(0, 0, 1);

            double[,] matrix = new double[4, 4];
            matrix[0, 0]     = 0;
            matrix[0, 1]     = 1;
            matrix[0, 2]     = 2;
            matrix[1, 0]     = 3;
            matrix[1, 1]     = 4;
            matrix[1, 2]     = 5;
            matrix[2, 0]     = 6;
            matrix[2, 1]     = 7;
            matrix[2, 2]     = 8;

            ImageInput input = new ImageInput(new TwoDimensionalMapper(), new Configuration());

            input.SetNumericRepresentation(matrix);

            Slider slider = new Slider(position, 2, 2, 4, true);

            double[] slide    = strategy.GetSlide(input, slider);
            double[] expected = { 0, 1, 3, 4 };

            Assert.IsTrue(Enumerable.SequenceEqual(expected, slide));
        }
        public void GivenAFourByFourInputAndATwoByTwoFilter_WhenTheFilterIsSlidFromTheEnd_ItShouldReturnARepresentationOfTheLeftestSectionOneLevelDown()
        {
            StrideBasedSlideRetrievalStrategy strategy = new StrideBasedSlideRetrievalStrategy();

            Position position = new Position(2, 0, 1);

            double[,] matrix = new double[4, 4];
            matrix[0, 0]     = 0;
            matrix[0, 1]     = 1;
            matrix[0, 2]     = 2;
            matrix[0, 3]     = 3;
            matrix[1, 0]     = 4;
            matrix[1, 1]     = 5;
            matrix[1, 2]     = 6;
            matrix[1, 3]     = 7;
            matrix[2, 0]     = 8;
            matrix[2, 1]     = 9;
            matrix[2, 2]     = 10;
            matrix[2, 3]     = 11;
            matrix[3, 0]     = 12;
            matrix[3, 1]     = 13;
            matrix[3, 2]     = 14;
            matrix[3, 3]     = 15;

            ImageInput input = new ImageInput(new TwoDimensionalMapper(), new Configuration());

            input.SetNumericRepresentation(matrix);

            Slider slider = new Slider(position, 2, 2, 4, true);

            double[] slide    = strategy.GetSlide(input, slider);
            double[] expected = { 2, 3, 6, 7 };

            Assert.IsTrue(Enumerable.SequenceEqual(expected, slide));
        }
Esempio n. 3
0
        public List <double[]> GetSplitSubsections()
        {
            int subsectionWidth  = Int32.Parse(configuration.GetValue("SubsectionWidth"));
            int subsectionHeight = Int32.Parse(configuration.GetValue("SubsectionHeight"));

            Position position = new Position(0, 0, subsectionWidth);
            Slider   slider   = new Slider(position, subsectionWidth, subsectionHeight, this.TotalColumns, false);

            List <double[]> subsections = new List <double[]>();

            while (hasSections(position, subsectionWidth, subsectionHeight))
            {
                subsections.Add(slideStrategy.GetSlide(this, slider));
                slider.Slide();
            }

            return(subsections);
        }
        public void GivenAFourByFourInputAndAThreeByThreeFilter_WhenTheFilterIsSlid_ItShouldReturnAMappedRepresentationOfTheNextSection()
        {
            Mock <IConfiguration> configuration = new Mock <IConfiguration>();

            configuration.Setup(x => x.GetValue(It.IsAny <String>())).Returns("3");

            StrideBasedSlideRetrievalStrategy strategy = new StrideBasedSlideRetrievalStrategy();

            Position position = new Position(0, 0, 1);

            double[,] matrix = new double[4, 4];
            matrix[0, 0]     = 0;
            matrix[0, 1]     = 1;
            matrix[0, 2]     = 2;
            matrix[0, 3]     = 3;
            matrix[1, 0]     = 4;
            matrix[1, 1]     = 5;
            matrix[1, 2]     = 6;
            matrix[1, 3]     = 7;
            matrix[2, 0]     = 8;
            matrix[2, 1]     = 9;
            matrix[2, 2]     = 10;
            matrix[2, 3]     = 11;
            matrix[3, 0]     = 12;
            matrix[3, 1]     = 13;
            matrix[3, 2]     = 14;
            matrix[3, 3]     = 15;

            ImageInput input = new ImageInput(new TwoDimensionalMapper(), new Configuration());

            input.SetNumericRepresentation(matrix);
            Slider slider = new Slider(position, 3, 3, 4, true);

            double[] slide = strategy.GetSlide(input, slider);

            double[] expected = { 0, 1, 2, 4, 5, 6, 8, 9, 10 };

            Assert.IsTrue(Enumerable.SequenceEqual(expected, slide));
        }