public bool ReferencesFrame(string seriesInstanceUid, string sopInstanceUid, int frameNumber) { if (_dictionary.ContainsKey(seriesInstanceUid)) { ImageSopInstanceReferenceDictionary sopDictionary = _dictionary[seriesInstanceUid]; if (sopDictionary == null || sopDictionary.ReferencesFrame(sopInstanceUid, frameNumber)) { return(true); } } return(false); }
public bool ReferencesAllSegments(string seriesInstanceUid, string sopInstanceUid) { if (_dictionary.ContainsKey(seriesInstanceUid)) { ImageSopInstanceReferenceDictionary sopDictionary = _dictionary[seriesInstanceUid]; if (sopDictionary == null || sopDictionary.ReferencesAllSegments(sopInstanceUid)) { return(true); } } return(false); }
public SeriesReferenceDictionary(IEnumerable <IReferencedSeriesSequence> seriesReferences) { foreach (IReferencedSeriesSequence seriesReference in seriesReferences) { ImageSopInstanceReferenceDictionary imageSopDictionary = null; ImageSopInstanceReferenceMacro[] imageSopReferences = seriesReference.ReferencedImageSequence; if (imageSopReferences != null && imageSopReferences.Length > 0) { imageSopDictionary = new ImageSopInstanceReferenceDictionary(imageSopReferences); } _dictionary.Add(seriesReference.SeriesInstanceUid, imageSopDictionary); } }
public SeriesReferenceDictionary(IEnumerable<IReferencedSeriesSequence> seriesReferences) { foreach (IReferencedSeriesSequence seriesReference in seriesReferences) { ImageSopInstanceReferenceDictionary imageSopDictionary = null; ImageSopInstanceReferenceMacro[] imageSopReferences = seriesReference.ReferencedImageSequence; if (imageSopReferences != null && imageSopReferences.Length > 0) { imageSopDictionary = new ImageSopInstanceReferenceDictionary(imageSopReferences); } _dictionary.Add(seriesReference.SeriesInstanceUid, imageSopDictionary); } }
public static DicomGraphicAnnotation CreateGraphicAnnotation(Frame frame, GraphicAnnotationSequenceItem sequenceItem, RectangleF displayedArea, bool interactive = false) { ImageSopInstanceReferenceDictionary dictionary = new ImageSopInstanceReferenceDictionary(sequenceItem.ReferencedImageSequence, true); return dictionary.ReferencesFrame(frame.ParentImageSop.SopInstanceUid, frame.FrameNumber) ? DicomGraphicAnnotation.Create(sequenceItem, displayedArea) : null; }
public static IEnumerable<DicomGraphicAnnotation> CreateGraphicAnnotations(Frame frame, GraphicAnnotationModuleIod annotationsFromPresentationState, RectangleF displayedArea) { List<DicomGraphicAnnotation> list = new List<DicomGraphicAnnotation>(); GraphicAnnotationSequenceItem[] annotationSequences = annotationsFromPresentationState.GraphicAnnotationSequence; if (annotationSequences != null) { foreach (GraphicAnnotationSequenceItem sequenceItem in annotationSequences) { ImageSopInstanceReferenceDictionary dictionary = new ImageSopInstanceReferenceDictionary(sequenceItem.ReferencedImageSequence, true); if (dictionary.ReferencesFrame(frame.ParentImageSop.SopInstanceUid, frame.FrameNumber)) { list.Add(new DicomGraphicAnnotation(sequenceItem, displayedArea)); } } } return list.AsReadOnly(); }