示例#1
0
        private void SetAvailableAnnotations()
        {
            if (_activeViewer == null)
            {
                AvailableAnnotations = null;
                return;
            }

            var studyUids = new HashSet <string>();

            foreach (var imageSet in _activeViewer.LogicalWorkspace.ImageSets)
            {
                foreach (var displaySet in imageSet.DisplaySets)
                {
                    foreach (var image in displaySet.PresentationImages)
                    {
                        var imageSop = image as IImageSopProvider;
                        if (imageSop != null)
                        {
                            studyUids.Add(imageSop.ImageSop.StudyInstanceUid);
                        }
                    }
                }
            }

            // Load & sort annotations by name
            var availableAnnotations = AimLoadHelper.LoadAimAnnotations(studyUids);

            AvailableAnnotations =
                availableAnnotations == null
                                        ? null
                                        : CollectionUtils.Sort(availableAnnotations, (ann1, ann2) =>
                                                               AimStudyFromAnnotation(ann1).Series.InstanceUID.CompareTo(AimStudyFromAnnotation(ann2).Series.InstanceUID));
        }
示例#2
0
        //private void OnImageViewerDisplaySetChanged(object sender, DisplaySetChangedEventArgs e)
        //{
        //    this.SetAvailableAnnotations();
        //}

        private void SetAvailableAnnotations()
        {
            if (_activeViewer == null)
            {
                this.AvailableAnnotations = null;
                return;
            }

            HashSet <string> studyUids = new HashSet <string>();

            foreach (IImageSet imageSet in _activeViewer.LogicalWorkspace.ImageSets)
            {
                foreach (IDisplaySet displaySet in imageSet.DisplaySets)
                {
                    foreach (IPresentationImage image in displaySet.PresentationImages)
                    {
                        IImageSopProvider imageSop = image as IImageSopProvider;
                        if (imageSop != null)
                        {
                            studyUids.Add(imageSop.ImageSop.StudyInstanceUid);
                        }
                    }
                }
            }

            // Load & sort annotations by name
            List <aim_dotnet.Annotation> availabeAnnotations = AimLoadHelper.LoadAimAnnotations(studyUids);

            this.AvailableAnnotations =
                availabeAnnotations == null
                                        ? null
                                        : CollectionUtils.Sort(availabeAnnotations, (ann1, ann2) => ann1.Name.CompareTo(ann2.Name));
        }