예제 #1
0
        public static GeometricShuttersGraphic CreateGeometricShuttersGraphic(DisplayShutterMacroIod shutterModule, int imageRows, int imageColumns)
        {
            GeometricShuttersGraphic shuttersGraphic = new GeometricShuttersGraphic(imageRows, imageColumns);

            if ((shutterModule.ShutterShape & ShutterShape.Circular) == ShutterShape.Circular)
            {
                Point?center = shutterModule.CenterOfCircularShutter;
                int?  radius = shutterModule.RadiusOfCircularShutter;
                if (center != null && radius != null)
                {
                    shuttersGraphic.AddDicomShutter(new CircularShutter(center.Value, radius.Value));
                }
            }

            if ((shutterModule.ShutterShape & ShutterShape.Rectangular) == ShutterShape.Rectangular)
            {
                int?left   = shutterModule.ShutterLeftVerticalEdge;
                int?right  = shutterModule.ShutterRightVerticalEdge;
                int?top    = shutterModule.ShutterUpperHorizontalEdge;
                int?bottom = shutterModule.ShutterLowerHorizontalEdge;

                if (left != null && right != null && top != null && bottom != null)
                {
                    shuttersGraphic.AddDicomShutter(new RectangularShutter(left.Value, right.Value, top.Value, bottom.Value));
                }
            }

            if ((shutterModule.ShutterShape & ShutterShape.Polygonal) == ShutterShape.Polygonal)
            {
                Point[] points = shutterModule.VerticesOfThePolygonalShutter;
                shuttersGraphic.AddDicomShutter(new PolygonalShutter(points));
            }

            return(shuttersGraphic);
        }
예제 #2
0
        public static GeometricShuttersGraphic CreateGeometricShuttersGraphic(Frame frame)
        {
            //TODO: you can actually have shutters defined per-frame, but right now we don't support per-frame data.

            DisplayShutterMacroIod shutterIod = new DisplayShutterMacroIod(frame.ParentImageSop.DataSource);

            return(CreateGeometricShuttersGraphic(shutterIod, frame.Rows, frame.Columns));
        }
예제 #3
0
        public static GeometricShuttersGraphic CreateGeometricShuttersGraphic(Frame frame)
        {
            DisplayShutterMacroIod shutterIod = new DisplayShutterMacroIod(frame);

            return(CreateGeometricShuttersGraphic(shutterIod, frame.Rows, frame.Columns));
        }