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)); }
//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)); }