public static void Write(DICOMBinaryWriter dw, DICOMIOSettings settings, DICOMObject d, bool isSequenceItem = false) { if (!isSequenceItem) { TransferSyntaxHelper.SetSyntax(d, settings.TransferSyntax); } for (var i = 0; i < d.Elements.Count; i++) { var el = d.Elements[i]; var currentSettings = IsFileMetaGroup(el) ? settings.GetFileMetaSettings() : settings; if (GroupWriter.IsGroupHeader(el)) { var skip = GroupWriter.WriteGroup(dw, currentSettings, d, el); i += skip; } else { _logger.LogInformation($"Writing element ${el.Tag.CompleteID}"); try { DICOMElementWriter.Write(dw, currentSettings, el); } catch (Exception e) { _logger.LogError($"Error writing : ${el.Tag.CompleteID}\n{e}"); throw e; } } } }
public static void Write(DICOMBinaryWriter dw, DICOMIOSettings settings, DICOMObject d, bool isSequenceItem = false) { if (!isSequenceItem) { TransferSyntaxHelper.SetSyntax(d, settings.TransferSyntax); } for (var i = 0; i < d.Elements.Count; i++) { var el = d.Elements[i]; var currentSettings = IsFileMetaGroup(el) ? settings.GetFileMetaSettings() : settings; if (GroupWriter.IsGroupHeader(el)) { var skip = GroupWriter.WriteGroup(dw, currentSettings, d, el); i += skip; } else { DICOMElementWriter.Write(dw, currentSettings, el); } } }