Esempio n. 1
0
        private IDisplaySet CreateDisplaySet(Study study, IEnumerable<Series> modalitySeries)
        {
            var first = modalitySeries.FirstOrDefault();
            if (first == null)
                return null; 

            var modality = first.Modality;
            if (String.IsNullOrEmpty(modality))
                return null;

            var displaySet = new DisplaySet(new ModalityDisplaySetDescriptor(study.GetIdentifier(), modality, PresentationImageFactory));
            int seriesCount = 0;
            foreach (var series in modalitySeries)
            {
                bool added = false;
                foreach (var imageSop in series.Sops) //We don't want key images, references etc.
                {
                    foreach (var image in PresentationImageFactory.CreateImages(imageSop))
                    {
                        displaySet.PresentationImages.Add(image);
                        added = true;
                    }
                }

                if (added)
                    ++seriesCount;
            }

            // Degenerate case is one series, in which case we don't create this display set.
            if (seriesCount > 1)
                return displaySet;

            displaySet.Dispose();
            return null;
        }
Esempio n. 2
0
        protected virtual DicomImageSetDescriptor CreateImageSetDescriptor(Study study)
		{
			return new DicomImageSetDescriptor(study.GetIdentifier());
		}