/// <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); }
private static DicomFile UpdateArrayTag( ClearCanvas.Dicom.DicomFile dcmFile, IDicomTag newTag, IEnumerable value) { dcmFile.DataSet[newTag.GetTagValue()].Values = value; return(dcmFile); }