Exemplo n.º 1
0
        /// <summary>
        /// Regenerate all UIDs in a DICOM dataset.
        /// </summary>
        /// <param name="dataset">Dataset in which UIDs should be regenerated.</param>
        public void RegenerateAll(DicomDataset dataset)
        {
            foreach (var ui in dataset.Where(x => x.ValueRepresentation == DicomVR.UI).ToArray())
            {
                var uid = dataset.Get <DicomUID>(ui.Tag);
                if (uid.Type == DicomUidType.SOPInstance || uid.Type == DicomUidType.Unknown)
                {
                    dataset.AddOrUpdate(ui.Tag, this.Generate(uid));
                }
            }

            foreach (var sq in dataset.Where(x => x.ValueRepresentation == DicomVR.SQ).Cast <DicomSequence>().ToArray())
            {
                foreach (var item in sq)
                {
                    this.RegenerateAll(item);
                }
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Enumerates DICOM items for specified group.
 /// </summary>
 /// <param name="dataset">Dataset from which group items should be retrieved.</param>
 /// <param name="group">Requested group.</param>
 /// <returns>Enumeration of DICOM items for specified <paramref name="group"/>.</returns>
 public static IEnumerable <DicomItem> EnumerateGroup(this DicomDataset dataset, ushort group)
 {
     return(dataset.Where(x => x.Tag.Group == group && x.Tag.Element != 0x0000));
 }
Exemplo n.º 3
0
 /// <summary>
 /// Enumerates DICOM items matching mask.
 /// </summary>
 /// <param name="dataset">Dataset from which masked items should be retrieved.</param>
 /// <param name="mask">Requested mask.</param>
 /// <returns>Enumeration of masked DICOM items.</returns>
 public static IEnumerable <DicomItem> EnumerateMasked(this DicomDataset dataset, DicomMaskedTag mask)
 {
     return(dataset.Where(x => mask.IsMatch(x.Tag)));
 }