public HRegion Extract(HImage image)
        {
            HRegion region;

            if (RegionExtractor != null)
            {
                region = RegionExtractor.Extract(image);
            }
            else
            {
                region = image.GetDomain();
            }

            HRegion processedRegion;

            if (RegionProcessor != null)
            {
                processedRegion = RegionProcessor.Process(region);
                region.Dispose();
            }
            else
            {
                processedRegion = region;
            }
            return(processedRegion);
        }
        public HImage Process(HImage image)
        {
            var region       = RegionExtractor.Extract(image);
            var reducedImage = image.ChangeDomain(region);

            region.Dispose();
            return(reducedImage);
        }
        public void Scalar_produces_no_regions()
        {
            var sut = new RegionExtractor();

            var regions = sut.GetRegions(Yaml.ScannerForText(@"
				scalar
			"            ).AsEnumerable()).ToList();

            ValidateRegions(regions);
        }
        public void Mapping_of_scalars_produces_no_regions()
        {
            var sut = new RegionExtractor();

            var regions = sut.GetRegions(Yaml.ScannerForText(@"
				x: a
				y: b
				z: c
			"            ).AsEnumerable()).ToList();

            ValidateRegions(regions);
        }
        public void Block_of_text_produces_region()
        {
            var sut = new RegionExtractor();

            var regions = sut.GetRegions(Yaml.ScannerForText(@"
				- |
				  hello
				  world
				- b
				- c
			"            ).AsEnumerable()).ToList();

            ValidateRegions(regions
                            , Region(1, 2, 4)
                            );
        }
Beispiel #6
0
        public HRegion Extract(HImage image)
        {
            var domain        = image.GetDomain();
            var offsetRow1    = domain.GetRow1();
            var offsetColumn1 = domain.GetColumn1();
            var croppedImage  = image.CropDomain();

            var croppedRegion = RegionExtractor.Extract(croppedImage);

            var movedRegion = croppedRegion.MoveRegion(offsetRow1, offsetColumn1);

            croppedImage.Dispose();
            croppedRegion.Dispose();
            domain.Dispose();

            return(movedRegion);
        }
        public void Sequence_of_sequences_produces_a_region_for_each_inner_sequence()
        {
            var sut = new RegionExtractor();

            var regions = sut.GetRegions(Yaml.ScannerForText(@"
				-
				  - a
				  - b
				-
				  - c
				  - d
			"            ).AsEnumerable()).ToList();

            ValidateRegions(regions
                            , Region(1, 2, 4)
                            , Region(4, 2, 7)
                            );
        }
        public void Sequence_of_mappings_produces_a_region_for_each_mapping()
        {
            var sut = new RegionExtractor();

            var regions = sut.GetRegions(Yaml.ScannerForText(@"
				-
				  x: a
				  y: b
				-
				  z: c
				  w: d
			"            ).AsEnumerable()).ToList();

            ValidateRegions(regions
                            , Region(1, 2, 4)
                            , Region(4, 2, 7)
                            );
        }
        public void Mapping_of_mappings_produces_a_region_for_each_inner_mapping()
        {
            var sut = new RegionExtractor();

            var regions = sut.GetRegions(Yaml.ScannerForText(@"
				x:
				  f: a
				  g: b
				y:
				  h: c
				  i: d
			"            ).AsEnumerable()).ToList();

            ValidateRegions(regions
                            , Region(1, 3, 4)
                            , Region(4, 3, 7)
                            );
        }
        public void Mapping_of_sequences_produces_a_region_for_each_sequence()
        {
            var sut = new RegionExtractor();

            var regions = sut.GetRegions(Yaml.ScannerForText(@"
				x:
				  - a
				  - b
				y:
				  - c
				  - d
			"            ).AsEnumerable()).ToList();

            ValidateRegions(regions
                            , Region(1, 3, 4)
                            , Region(4, 3, 7)
                            );
        }
Beispiel #11
0
        public HRegion Extract(HImage image)
        {
            HImage targetFilterImage = ImageFilter != null?ImageFilter.Process(image) : image;

            HRegion targetRegion = RegionExtractor != null?RegionExtractor.Extract(targetFilterImage) : targetFilterImage.GetDomain();

            HRegion targetProcessedRegion = RegionProcessor != null?RegionProcessor.Process(targetRegion) : targetRegion;

            if (ImageFilter != null)
            {
                targetFilterImage.Dispose();
            }

            if (RegionProcessor != null)
            {
                targetRegion.Dispose();
            }

            return(targetProcessedRegion);
        }
        private void Reparse()
        {
            var regionExtractor = new RegionExtractor();

            _regions = regionExtractor.GetRegions(_parser.GetAllTokens()).ToList();
        }