public IDisplaySet FindDisplaySet(HangingProtocol hangingProtocol, IImageSet imageSet, ImageBoxLayout imageBox) { if (null == imageSet) { return(null); } foreach (var displaySet in imageSet.DisplaySets) { foreach (var presentationImage in displaySet.PresentationImages) { var filter = hangingProtocol.GetImageFilter(imageBox.FilterName); if (null == filter || filter.Test(presentationImage).Success) { return(displaySet); } } } return(null); }
public IEnumerable <IImageSet> GetImageSets(ILogicalWorkspace logicalWorkspace, HangingProtocol hangingProtocol) { string primaryStudyInstanceUid = logicalWorkspace.ImageViewer.StudyTree.Studies.First().StudyInstanceUid; List <string> allStudyInstanceUids = logicalWorkspace.ImageViewer.StudyTree.Studies .Where(s => hangingProtocol.StudyFilter.Test(s).Success) .Select(s => s.StudyInstanceUid).ToList(); return(logicalWorkspace.ImageSets .SkipWhile(i => i.Descriptor.Uid != primaryStudyInstanceUid) .Where(i => allStudyInstanceUids.Contains(i.Descriptor.Uid))); }