public void StructuralElement_ElementsPreceding_Test(string filePath, string tagName, int nodeId, int expectedPrecedingCount)
        {
            XmlDocument xmlDocument = new XmlDocument();

            xmlDocument.Load(filePath);

            XmlNodeList nList    = xmlDocument.GetElementsByTagName(tagName);
            XmlNode     nChoosen = nList.Item(nodeId);

            StructuralElement sElement = new StructuralElement(nChoosen);

            Assert.AreEqual(expectedPrecedingCount, sElement.ElementsPreceding.Count);
        }
        public void StructuralElement_ParentNode_Test(string filePath, string tagName, int nodeId, string expectedParentNodeName)
        {
            XmlDocument xmlDocument = new XmlDocument();

            xmlDocument.Load(filePath);

            XmlNodeList nList    = xmlDocument.GetElementsByTagName(tagName);
            XmlNode     nChoosen = nList.Item(nodeId);

            StructuralElement sElement = new StructuralElement(nChoosen);

            Assert.AreEqual(expectedParentNodeName, sElement.ParentNode.Name);
        }
Example #3
0
        public ImageModel Erosion(StructuralElement element)
        {
            int[][] pixels = new int[Height][];

            for (var y = 0; y < _pixels.Length; y++)
            {
                pixels[y] = new int[Width];
                for (int x = 0; x < _pixels[y].Length; x++)
                {
                    pixels[y][x] = AllEquals(x, y, element) ? 1 : 0;
                }
            }

            return(new ImageModel(pixels));
        }
        public void StructuralElement_Creation_Test(string filePath, string tagName, int nodeId)
        {
            XmlDocument xmlDocument = new XmlDocument();

            xmlDocument.Load(filePath);

            XmlNodeList nList    = xmlDocument.GetElementsByTagName(tagName);
            XmlNode     nChoosen = nList.Item(nodeId);

            StructuralElement sElement = new StructuralElement(nChoosen);

            Assert.IsNotNull(sElement);
            Assert.IsNotNull(sElement.XmlNode);
            Assert.AreEqual(tagName, sElement.Name);
        }
        public void StructuralElement_AppendAttributeAndValue_Test(string filePath, string tagName, int nodeId, string appendedAttribute, string appendedValue, int expectedAttributesCount)
        {
            XmlDocument xmlDocument = new XmlDocument();

            xmlDocument.Load(filePath);

            XmlNodeList nList    = xmlDocument.GetElementsByTagName(tagName);
            XmlNode     nChoosen = nList.Item(nodeId);

            StructuralElement sElement = new StructuralElement(nChoosen);

            sElement.AppendAttributeValue(appendedAttribute, appendedValue);

            Assert.AreEqual(expectedAttributesCount, sElement.Attributes.Count);
            Assert.AreEqual(appendedValue, sElement.Attributes[appendedAttribute].Value);
        }
Example #6
0
        private bool AnyEquals(int x, int y, StructuralElement element)
        {
            var offsetTop  = element.Height / 2;
            var offsetLeft = element.Width / 2;

            for (int yM = y - offsetTop, yE = 0; yE < element.Height; yM++, yE++)
            {
                for (int xM = x - offsetLeft, xE = 0; xE < element.Height; xM++, xE++)
                {
                    if (!(element[xE, yE] + this[xM, yM]))
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
Example #7
0
        public ImageModel Increasing(StructuralElement element)
        {
            int[][] pixels = new int[Height][];

            for (var y = 0; y < _pixels.Length; y++)
            {
                pixels[y] = new int[Width];
                for (int x = 0; x < _pixels[y].Length; x++)
                {
                    if (AnyEquals(x, y, element))
                    {
                        pixels[y][x] = _pixels[y][x].IsEmpty() ? 2 : 1;
                    }
                    else
                    {
                        pixels[y][x] = 0;
                    }
                }
            }

            return(new ImageModel(pixels));
        }
Example #8
0
 public static string GetContent(StructuralElement element)
 {
     // body.Contentは共用体。
     // Paragraph, SectionBreak, Table, TableOfContentsの
     // いずれかひとつが入っている
     if (element.Paragraph != null)
     {
         // paragraphの処理k
         return(GetParagraphText(element.Paragraph));
     }
     else if (element.SectionBreak != null)
     {
         // section breakの処理
     }
     else if (element.Table != null)
     {
         // Tableの処理
     }
     else if (element.TableOfContents != null)
     {
         // table of contentsの処理
     }
     return(string.Empty);
 }
 public void removeElement(StructuralElement element)
 {
     // Dummy Method Body
 }
 public void addElement(StructuralElement element)
 {
     // Dummy Method Body
 }
 public SpaceStation()
 {
     CoreElement = new StructuralElement();
 }
 public SpaceStation(StructuralElement coreElement)
 {
     CoreElement = coreElement;
 }
 public DilationRegionFilter(StructuralElement element)
 {
     SetDefaultStructuralElement(element);
 }
Example #14
0
 public ImageModel Opening(StructuralElement element)
 {
     return(new WorkModel(Erosion(element)).Increasing(element));
 }
 public OpeningRegionFilter(StructuralElement element)
 {
     SetDefaultStructuralElement(element);
 }
        protected void SetDefaultStructuralElement(StructuralElement element)
        {
            if (element == StructuralElement.RoundBox3)
            {
                structElement = new bool[3, 3];
                structElement[0, 0] = false;
                structElement[0, 1] = true;
                structElement[0, 2] = false;
                structElement[1, 0] = true;
                structElement[1, 1] = true;
                structElement[1, 2] = true;
                structElement[2, 0] = false;
                structElement[2, 1] = true;
                structElement[2, 2] = false;

                structElementSize = new Size(3, 3);
            }

            if (element == StructuralElement.Diamond5)
            {
                structElement = new bool[5, 5];
                structElement[0, 0] = false;
                structElement[0, 1] = false;
                structElement[0, 2] = true;
                structElement[0, 3] = false;
                structElement[0, 4] = false;

                structElement[1, 0] = false;
                structElement[1, 1] = true;
                structElement[1, 2] = true;
                structElement[1, 3] = true;
                structElement[1, 4] = false;

                structElement[2, 0] = true;
                structElement[2, 1] = true;
                structElement[2, 2] = true;
                structElement[2, 3] = true;
                structElement[2, 4] = true;

                structElement[3, 0] = false;
                structElement[3, 1] = true;
                structElement[3, 2] = true;
                structElement[3, 3] = true;
                structElement[3, 4] = false;

                structElement[4, 0] = false;
                structElement[4, 1] = false;
                structElement[4, 2] = true;
                structElement[4, 3] = false;
                structElement[4, 4] = false;

                structElementSize = new Size(5, 5);
            }

            if (element == StructuralElement.RoundBox5)
            {
                structElement = new bool[5, 5];
                structElement[0, 0] = false;
                structElement[0, 1] = true;
                structElement[0, 2] = true;
                structElement[0, 3] = true;
                structElement[0, 4] = false;

                structElement[1, 0] = true;
                structElement[1, 1] = true;
                structElement[1, 2] = true;
                structElement[1, 3] = true;
                structElement[1, 4] = true;

                structElement[2, 0] = true;
                structElement[2, 1] = true;
                structElement[2, 2] = true;
                structElement[2, 3] = true;
                structElement[2, 4] = true;

                structElement[3, 0] = true;
                structElement[3, 1] = true;
                structElement[3, 2] = true;
                structElement[3, 3] = true;
                structElement[3, 4] = true;

                structElement[4, 0] = false;
                structElement[4, 1] = true;
                structElement[4, 2] = true;
                structElement[4, 3] = true;
                structElement[4, 4] = false;

                structElementSize = new Size(5, 5);
            }

            if (element == StructuralElement.Circle7)
            {
                structElement = new bool[7, 7];
                structElement[0, 0] = false;
                structElement[0, 1] = false;
                structElement[0, 2] = true;
                structElement[0, 3] = true;
                structElement[0, 4] = true;
                structElement[0, 5] = false;
                structElement[0, 6] = false;

                structElement[1, 0] = false;
                structElement[1, 1] = true;
                structElement[1, 2] = true;
                structElement[1, 3] = true;
                structElement[1, 4] = true;
                structElement[1, 5] = true;
                structElement[1, 6] = false;

                structElement[2, 0] = true;
                structElement[2, 1] = true;
                structElement[2, 2] = true;
                structElement[2, 3] = true;
                structElement[2, 4] = true;
                structElement[2, 5] = true;
                structElement[2, 6] = true;

                structElement[3, 0] = true;
                structElement[3, 1] = true;
                structElement[3, 2] = true;
                structElement[3, 3] = true;
                structElement[3, 4] = true;
                structElement[3, 5] = true;
                structElement[3, 6] = true;

                structElement[4, 0] = true;
                structElement[4, 1] = true;
                structElement[4, 2] = true;
                structElement[4, 3] = true;
                structElement[4, 4] = true;
                structElement[4, 5] = true;
                structElement[4, 6] = true;

                structElement[5, 0] = false;
                structElement[5, 1] = true;
                structElement[5, 2] = true;
                structElement[5, 3] = true;
                structElement[5, 4] = true;
                structElement[5, 5] = true;
                structElement[5, 6] = false;

                structElement[6, 0] = false;
                structElement[6, 1] = false;
                structElement[6, 2] = true;
                structElement[6, 3] = true;
                structElement[6, 4] = true;
                structElement[6, 5] = false;
                structElement[6, 6] = false;

                structElementSize = new Size(7, 7);
            }
        }