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