public void ShowRegion(ADisplay aDisplay)
        {
            // 2015.06.15
            if (m_cogCaliperTool == null)
            {
                return;
            }

            // 2017.05.08
            if (m_cogCaliperTool.Region == null)
            {
                return;
            }

            // 2014.07.02
            ICogRegion             icogRegion           = m_cogCaliperTool.Region.Copy(CogCopyShapeConstants.GeometryOnly);
            ICogGraphicInteractive icogGraphInteractive = icogRegion as ICogGraphicInteractive;

            if (icogGraphInteractive != null)
            {
                icogGraphInteractive.GraphicDOFEnableBase = CogGraphicDOFConstants.None;
                icogGraphInteractive.Interactive          = false;
                icogGraphInteractive.Color = CogColorConstants.DarkGreen;
                aDisplay.AddOverlay(icogGraphInteractive, "");
            }
        }
Exemple #2
0
 private void Init()
 {
     m_icogRegion = m_cogBlobTool.Region;
     m_cogimgMask = m_cogBlobTool.RunParams.InputImageMask;
     m_nThreshold = m_cogBlobTool.RunParams.SegmentationParams.HardFixedThreshold;
     m_emPolarity = m_cogBlobTool.RunParams.SegmentationParams.Polarity;
     m_nMinArea   = m_cogBlobTool.RunParams.ConnectivityMinPixels;
     // 2015.04.08
     m_cogBlobTool.Ran += new EventHandler(RanEvent);
 }
Exemple #3
0
        private void Init()
        {
            m_icogImgMask = m_cogHistogramTool.RunParams.InputImageMask;
            m_icogRegion  = m_cogHistogramTool.Region;
            m_nNumBins    = m_cogHistogramTool.RunParams.NumBins;

            // 2014.09.02
            SetInitSearchRegion();

            // 2015.04.08
            m_cogHistogramTool.Ran += new EventHandler(RanEvent);
        }
        // 2014.09.02
        public void SetInitSearchRegion()
        {
            ICogRegion region = m_cogCaliperTool.Region;

            if (region is CogRectangleAffine)
            {
                CogRectangleAffine rectangleAffine = region as CogRectangleAffine;

                m_dInitSearchRegionX = rectangleAffine.CenterX - m_dMoveSearchRegionX;
                m_dInitSearchRegionY = rectangleAffine.CenterY - m_dMoveSearchRegionY;
            }
        }
Exemple #5
0
        public void ShowRegion(ADisplay aDisplay)
        {
            ICogRegion             icogRegion           = m_cogBlobTool.Region;
            ICogGraphicInteractive icogGraphInteractive = icogRegion as ICogGraphicInteractive;

            if (icogGraphInteractive != null)
            {
                icogGraphInteractive.GraphicDOFEnableBase = CogGraphicDOFConstants.None;
                icogGraphInteractive.Interactive          = false;
                icogGraphInteractive.Color = CogColorConstants.DarkGreen;
                aDisplay.AddOverlay(icogGraphInteractive, "");
            }
        }
Exemple #6
0
        public void SetRegion(ADisplay aDisplay)
        {
            ICogGraphicInteractive icogGraphInteractive = aDisplay.GetInteractiveGraphics("Region of Interest");

            if (icogGraphInteractive != null)
            {
                icogGraphInteractive.GraphicDOFEnableBase = CogGraphicDOFConstants.None;
                icogGraphInteractive.Color       = CogColorConstants.Cyan;
                icogGraphInteractive.Interactive = false;
            }

            m_icogRegion = icogGraphInteractive as ICogRegion;
        }
Exemple #7
0
        public void ViewLastRegion(ADisplay aDisplay)
        {
            ICogRegion             icogRegion           = m_cogBlobTool.Region;
            ICogGraphicInteractive icogGraphInteractive = icogRegion as ICogGraphicInteractive;

            if (icogGraphInteractive != null)
            {
                icogGraphInteractive.GraphicDOFEnableBase = CogGraphicDOFConstants.All;
                icogGraphInteractive.Interactive          = true;
                // 2016.09.19 by kdi
                icogGraphInteractive.TipText = "Region of Interest";

                aDisplay.AddOverlay(icogGraphInteractive, "");
            }
        }
        // 2014.09.02
        public void MoveSearchRegion(double x, double y)
        {
            m_dMoveSearchRegionX = x;
            m_dMoveSearchRegionY = y;

            ICogRegion region = m_cogCaliperTool.Region;

            if (region is CogRectangleAffine)
            {
                CogRectangleAffine rectangleAffine = region as CogRectangleAffine;

                rectangleAffine.CenterX = m_dInitSearchRegionX + x;
                rectangleAffine.CenterY = m_dInitSearchRegionY + y;
            }
        }
        // 2014.09.02
        public void SetInitSearchRegion(double dX, double dY)
        {
            m_dInitSearchRegionX = dX;
            m_dInitSearchRegionY = dY;

            ICogRegion region = m_cogCaliperTool.Region;

            if (region is CogRectangleAffine)
            {
                CogRectangleAffine rectangleAffine = region as CogRectangleAffine;

                rectangleAffine.CenterX = m_dInitSearchRegionX;
                rectangleAffine.CenterY = m_dInitSearchRegionY;
            }
        }
        // 2015.05.05
        public void ShowRegion(ADisplay aDisplay, string strSpaceName)
        {
            ICogRegion icogRegion = m_cogCaliperTool.Region.Copy(CogCopyShapeConstants.GeometryOnly);

            icogRegion.SelectedSpaceName = strSpaceName;
            ICogGraphicInteractive icogGraphInteractive = icogRegion as ICogGraphicInteractive;

            if (icogGraphInteractive != null)
            {
                icogGraphInteractive.GraphicDOFEnableBase = CogGraphicDOFConstants.None;
                icogGraphInteractive.Interactive          = false;
                icogGraphInteractive.Color = CogColorConstants.DarkGreen;

                aDisplay.AddOverlay(icogGraphInteractive, "");
            }
        }
Exemple #11
0
        // 2014.09.02
        public void SetInitSearchRegion(double dX, double dY)
        {
            m_dInitSearchRegionX = dX;
            m_dInitSearchRegionY = dY;

            ICogRegion region = m_icogRegion;

            if (region is CogCircle)
            {
                CogCircle circle = region as CogCircle;

                circle.CenterX = m_dInitSearchRegionX;
                circle.CenterY = m_dInitSearchRegionY;
            }
            else if (region is CogEllipse)
            {
                CogEllipse ellipse = region as CogEllipse;
                ellipse.CenterX = m_dInitSearchRegionX;
                ellipse.CenterY = m_dInitSearchRegionY;
            }
            else if (region is CogRectangle)
            {
                CogRectangle rectangle = region as CogRectangle;
                rectangle.X = m_dInitSearchRegionX;
                rectangle.Y = m_dInitSearchRegionY;
            }
            else if (region is CogRectangleAffine)
            {
                CogRectangleAffine rectangleAffine = region as CogRectangleAffine;
                rectangleAffine.CenterX = m_dInitSearchRegionX;
                rectangleAffine.CenterY = m_dInitSearchRegionY;
            }
            else if (region is CogCircularAnnulusSection)
            {
                CogCircularAnnulusSection circularAnnuluns = region as CogCircularAnnulusSection;
                circularAnnuluns.CenterX = m_dInitSearchRegionX;
                circularAnnuluns.CenterY = m_dInitSearchRegionY;
            }
            else if (region is CogEllipticalAnnulusSection)
            {
                CogEllipticalAnnulusSection ellipticalAnnuluns = region as CogEllipticalAnnulusSection;
                ellipticalAnnuluns.CenterX = m_dInitSearchRegionX;
                ellipticalAnnuluns.CenterY = m_dInitSearchRegionY;
            }
        }
Exemple #12
0
        // 2014.09.02
        public void MoveSearchRegion(double x, double y)
        {
            m_dMoveSearchRegionX = x;
            m_dMoveSearchRegionY = y;

            ICogRegion region = m_icogRegion;

            if (region is CogCircle)
            {
                CogCircle circle = region as CogCircle;

                circle.CenterX = m_dInitSearchRegionX + x;
                circle.CenterY = m_dInitSearchRegionY + y;
            }
            else if (region is CogEllipse)
            {
                CogEllipse ellipse = region as CogEllipse;
                ellipse.CenterX = m_dInitSearchRegionX + x;
                ellipse.CenterY = m_dInitSearchRegionY + y;
            }
            else if (region is CogRectangle)
            {
                CogRectangle rectangle = region as CogRectangle;
                rectangle.X = m_dInitSearchRegionX + x;
                rectangle.Y = m_dInitSearchRegionY + y;
            }
            else if (region is CogRectangleAffine)
            {
                CogRectangleAffine rectangleAffine = region as CogRectangleAffine;
                rectangleAffine.CenterX = m_dInitSearchRegionX + x;
                rectangleAffine.CenterY = m_dInitSearchRegionY + y;
            }
            else if (region is CogCircularAnnulusSection)
            {
                CogCircularAnnulusSection circularAnnuluns = region as CogCircularAnnulusSection;
                circularAnnuluns.CenterX = m_dInitSearchRegionX + x;
                circularAnnuluns.CenterY = m_dInitSearchRegionY + y;
            }
            else if (region is CogEllipticalAnnulusSection)
            {
                CogEllipticalAnnulusSection ellipticalAnnuluns = region as CogEllipticalAnnulusSection;
                ellipticalAnnuluns.CenterX = m_dInitSearchRegionX + x;
                ellipticalAnnuluns.CenterY = m_dInitSearchRegionY + y;
            }
        }
Exemple #13
0
        // 2014.09.02
        public void SetInitSearchRegion()
        {
            ICogRegion region = m_icogRegion;

            if (region is CogCircle)
            {
                CogCircle circle = region as CogCircle;

                m_dInitSearchRegionX = circle.CenterX - m_dMoveSearchRegionX;
                m_dInitSearchRegionY = circle.CenterY - m_dMoveSearchRegionY;
            }
            else if (region is CogEllipse)
            {
                CogEllipse ellipse = region as CogEllipse;
                m_dInitSearchRegionX = ellipse.CenterX - m_dMoveSearchRegionX;
                m_dInitSearchRegionY = ellipse.CenterY - m_dMoveSearchRegionY;
            }
            else if (region is CogRectangle)
            {
                CogRectangle rectangle = region as CogRectangle;
                m_dInitSearchRegionX = rectangle.X - m_dMoveSearchRegionX;
                m_dInitSearchRegionY = rectangle.Y - m_dMoveSearchRegionY;
            }
            else if (region is CogRectangleAffine)
            {
                CogRectangleAffine rectangleAffine = region as CogRectangleAffine;
                m_dInitSearchRegionX = rectangleAffine.CenterX - m_dMoveSearchRegionX;
                m_dInitSearchRegionY = rectangleAffine.CenterY - m_dMoveSearchRegionY;
            }
            else if (region is CogCircularAnnulusSection)
            {
                CogCircularAnnulusSection circularAnnuluns = region as CogCircularAnnulusSection;
                m_dInitSearchRegionX = circularAnnuluns.CenterX - m_dMoveSearchRegionX;
                m_dInitSearchRegionY = circularAnnuluns.CenterY - m_dMoveSearchRegionY;
            }
            else if (region is CogEllipticalAnnulusSection)
            {
                CogEllipticalAnnulusSection ellipticalAnnuluns = region as CogEllipticalAnnulusSection;
                m_dInitSearchRegionX = ellipticalAnnuluns.CenterX - m_dMoveSearchRegionX;
                m_dInitSearchRegionY = ellipticalAnnuluns.CenterY - m_dMoveSearchRegionY;
            }
        }
Exemple #14
0
        public bool GrabRegion(ADisplay aDisplay, AVisionProBuild._emRegionShape emRegionShape)
        {
            aDisplay.ClearOverlay();

            ICogGraphicInteractive icogGraphInteractive = null;
            ICogRegion             icogRegion           = m_cogBlobTool.Region;

            CogCircle                   circle             = icogRegion as CogCircle;
            CogEllipse                  ellipse            = icogRegion as CogEllipse;
            CogRectangle                rectangle          = icogRegion as CogRectangle;
            CogRectangleAffine          rectangleAffine    = icogRegion as CogRectangleAffine;
            CogCircularAnnulusSection   circularAnnuluns   = icogRegion as CogCircularAnnulusSection;
            CogEllipticalAnnulusSection ellipticalAnnuluns = icogRegion as CogEllipticalAnnulusSection;

            switch (emRegionShape)
            {
            case AVisionProBuild._emRegionShape.Circle:
            {
                if (circle == null)
                {
                    circle = new CogCircle();
                    circle.FitToImage(aDisplay.GetImage8Grey(), 0.5, 0.5);
                }
                icogGraphInteractive = circle as ICogGraphicInteractive;
            }
            break;

            case AVisionProBuild._emRegionShape.Ellipse:
            {
                if (ellipse == null)
                {
                    ellipse = new CogEllipse();
                    ellipse.FitToImage(aDisplay.GetImage8Grey(), 0.5, 0.5);
                }
                icogGraphInteractive = ellipse as ICogGraphicInteractive;
            }
            break;

            case AVisionProBuild._emRegionShape.Rectangle:
            {
                if (rectangle == null)
                {
                    rectangle = new CogRectangle();
                    rectangle.FitToImage(aDisplay.GetImage8Grey(), 0.5, 0.5);
                }
                icogGraphInteractive = rectangle as ICogGraphicInteractive;
            }
            break;

            case AVisionProBuild._emRegionShape.RectangleAffine:
            {
                if (rectangleAffine == null)
                {
                    rectangleAffine = new CogRectangleAffine();
                    rectangleAffine.FitToImage(aDisplay.GetImage8Grey(), 0.5, 0.5);
                }
                icogGraphInteractive = rectangleAffine as ICogGraphicInteractive;
            }
            break;

            case AVisionProBuild._emRegionShape.CircularAnnulusSection:
            {
                if (circularAnnuluns == null)
                {
                    circularAnnuluns = new CogCircularAnnulusSection();
                    circularAnnuluns.FitToImage(aDisplay.GetImage8Grey(), 0.5, 0.5);
                }
                icogGraphInteractive = circularAnnuluns as ICogGraphicInteractive;
            }
            break;

            case AVisionProBuild._emRegionShape.EllipticalAnnulusSection:
            {
                if (ellipticalAnnuluns == null)
                {
                    ellipticalAnnuluns = new CogEllipticalAnnulusSection();
                    ellipticalAnnuluns.FitToImage(aDisplay.GetImage8Grey(), 0.5, 0.5);
                }
                icogGraphInteractive = ellipticalAnnuluns as ICogGraphicInteractive;
            }
            break;

            case AVisionProBuild._emRegionShape.Entire:
            {
                m_icogRegion = null;
                aDisplay.ClearOverlay();
            }
            break;

            default:
                m_icogRegion = null;

                return(false);
            }

            if (icogGraphInteractive != null)
            {
                icogGraphInteractive.GraphicDOFEnableBase = CogGraphicDOFConstants.All;
                icogGraphInteractive.Interactive          = true;
                icogGraphInteractive.TipText = "Region of Interest";
                aDisplay.AddOverlay(icogGraphInteractive, "");
            }

            return(true);
        }