internal static PolygonalRoiSegGraphic GraphicToISegGraphic(IGraphic graphic) { if (!GraphicIsUsable(graphic)) { return(null); } PolygonalRoiSegGraphic segGraphic = null; var roiGraphic = graphic as RoiGraphic; if (roiGraphic != null) { if (roiGraphic.Roi is PolygonalRoi) { segGraphic = new PolygonalRoiSegGraphic { PolygonalRoiGraphic = roiGraphic, Label = roiGraphic.Name }; } } if (segGraphic != null) { string sopInstanceUid = String.Empty; int frameNumber = 1; int imageNumber = 1; try { if (graphic.ParentPresentationImage is IImageSopProvider) { var imageSopProvider = graphic.ParentPresentationImage as IImageSopProvider; imageNumber = imageSopProvider.ImageSop.InstanceNumber; sopInstanceUid = imageSopProvider.Sop.SopInstanceUid; frameNumber = imageSopProvider.Frame.FrameNumber; } else if (!string.IsNullOrEmpty(graphic.ParentPresentationImage.Uid)) { sopInstanceUid = graphic.ParentPresentationImage.Uid; } } catch (Exception) { } segGraphic.ImageSopInstanceUid = sopInstanceUid; segGraphic.ImageFrameNumber = frameNumber; segGraphic.ImageNumber = imageNumber; } return(segGraphic); }
internal static PolygonalRoiSegGraphic GraphicToISegGraphic(IGraphic graphic) { if (!GraphicIsUsable(graphic)) return null; PolygonalRoiSegGraphic segGraphic = null; var roiGraphic = graphic as RoiGraphic; if (roiGraphic != null) { if (roiGraphic.Roi is PolygonalRoi) { segGraphic = new PolygonalRoiSegGraphic { PolygonalRoiGraphic = roiGraphic, Label = roiGraphic.Name }; } } if (segGraphic != null) { string sopInstanceUid = String.Empty; int frameNumber = 1; int imageNumber = 1; try { if (graphic.ParentPresentationImage is IImageSopProvider) { var imageSopProvider = graphic.ParentPresentationImage as IImageSopProvider; imageNumber = imageSopProvider.ImageSop.InstanceNumber; sopInstanceUid = imageSopProvider.Sop.SopInstanceUid; frameNumber = imageSopProvider.Frame.FrameNumber; } else if (!string.IsNullOrEmpty(graphic.ParentPresentationImage.Uid)) sopInstanceUid = graphic.ParentPresentationImage.Uid; } catch (Exception) { } segGraphic.ImageSopInstanceUid = sopInstanceUid; segGraphic.ImageFrameNumber = frameNumber; segGraphic.ImageNumber = imageNumber; } return segGraphic; }