Ejemplo n.º 1
0
        /// <summary>
        /// This method will update a tag
        /// </summary>
        /// <param name="dcmFile"></param>
        /// <param name="newTag"></param>
        /// <param name="overwriteIfNotProvided"></param>
        /// <returns></returns>
        private static DicomFile UpdateTag(
            ClearCanvas.Dicom.DicomFile dcmFile, IDicomTag newTag, bool overwriteIfNotProvided = false)
        {
            if (newTag?.Values == null && !overwriteIfNotProvided)
            {
                return(dcmFile);
            }
            var value = newTag?.Values != null && newTag.Values.Length > 0 ? newTag.Values[0] : "";

            if (newTag?.GetValueType() == typeof(string[]))
            {
                var vals = new string[newTag.Values.Length];
                newTag.Values.CopyTo(vals, 0);
                dcmFile.DataSet[newTag.GetTagValue()].Values = vals;
            }
            else if (newTag?.GetValueType() == typeof(string))
            {
                dcmFile.DataSet[newTag.GetTagValue()].Values = value;
            }
            return(dcmFile);
        }
Ejemplo n.º 2
0
 private static DicomFile UpdateArrayTag(
     ClearCanvas.Dicom.DicomFile dcmFile, IDicomTag newTag, IEnumerable value)
 {
     dcmFile.DataSet[newTag.GetTagValue()].Values = value;
     return(dcmFile);
 }