1xml2dcm(1) OFFIS DCMTK xml2dcm(1)
2
3
4
6 xml2dcm - Convert XML document to DICOM file or data set
7
8
10 xml2dcm [options] xmlfile-in dcmfile-out
11
13 The xml2dcm utility converts the contents of an XML (Extensible Markup
14 Language) document to DICOM file or data set. The XML document is
15 expected to validate against the DTD (Document Type Definition) which
16 is described in file dcm2xml.dtd. An appropriate XML file can be
17 created using the dcm2xml tool (option +Wb recommended to include
18 binary data).
19
21 xmlfile-in XML input filename to be converted (stdin: "-")
22
23 dcmfile-out DICOM output filename
24
26 general options
27 -h --help
28 print this help text and exit
29
30 --version
31 print version information and exit
32
33 --arguments
34 print expanded command line arguments
35
36 -q --quiet
37 quiet mode, print no warnings and errors
38
39 -v --verbose
40 verbose mode, print processing details
41
42 -d --debug
43 debug mode, print debug information
44
45 -ll --log-level [l]evel: string constant
46 (fatal, error, warn, info, debug, trace)
47 use level l for the logger
48
49 -lc --log-config [f]ilename: string
50 use config file f for the logger
51
52 input options
53 input file format:
54
55 +f --read-meta-info
56 read meta information if present (default)
57
58 -f --ignore-meta-info
59 ignore file meta information
60
61 processing options
62 validation:
63
64 +Vd --validate-document
65 validate XML document against DTD
66
67 +Vn --check-namespace
68 check XML namespace in document root
69
70 unique identifiers:
71
72 +Ug --generate-new-uids
73 generate new Study/Series/SOP Instance UID
74
75 -Uo --dont-overwrite-uids
76 do not overwrite existing UIDs (default)
77
78 +Uo --overwrite-uids
79 overwrite existing UIDs
80
81 output options
82 output file format:
83
84 +F --write-file
85 write file format (default)
86
87 -F --write-dataset
88 write data set without file meta information
89
90 +Fu --update-meta-info
91 update particular file meta information
92
93 output transfer syntax:
94
95 +t= --write-xfer-same
96 write with same TS as input (default)
97
98 +te --write-xfer-little
99 write with explicit VR little endian TS
100
101 +tb --write-xfer-big
102 write with explicit VR big endian TS
103
104 +ti --write-xfer-implicit
105 write with implicit VR little endian TS
106
107 +td --write-xfer-deflated
108 write with deflated explicit VR little endian TS
109
110 post-1993 value representations:
111
112 +u --enable-new-vr
113 enable support for new VRs (UN/UT) (default)
114
115 -u --disable-new-vr
116 disable support for new VRs, convert to OB
117
118 group length encoding:
119
120 +g= --group-length-recalc
121 recalculate group lengths if present (default)
122
123 +g --group-length-create
124 always write with group length elements
125
126 -g --group-length-remove
127 always write without group length elements
128
129 length encoding in sequences and items:
130
131 +e --length-explicit
132 write with explicit lengths (default)
133
134 -e --length-undefined
135 write with undefined lengths
136
137 data set trailing padding (not with --write-dataset):
138
139 -p= --padding-retain
140 do not change padding (default if not --write-dataset)
141
142 -p --padding-off
143 no padding (implicit if --write-dataset)
144
145 +p --padding-create [f]ile-pad [i]tem-pad: integer
146 align file on multiple of f bytes and items on
147 multiple of i bytes
148
149 deflate compression level (only with --write-xfer-deflated):
150
151 +cl --compression-level [l]evel: integer (default: 6)
152 0=uncompressed, 1=fastest, 9=best compression
153
155 The basic structure of the XML input expected looks like the following:
156
157 <?xml version="1.0" encoding="ISO-8859-1"?>
158 <!DOCTYPE file-format SYSTEM "dcm2xml.dtd">
159 <file-format xmlns="http://dicom.offis.de/dcmtk">
160 <meta-header xfer="1.2.840.10008.1.2.1" name="Little Endian Explicit">
161 <element tag="0002,0000" vr="UL" vm="1" len="4"
162 name="MetaElementGroupLength">
163 166
164 </element>
165 ...
166 <element tag="0002,0013" vr="SH" vm="1" len="16"
167 name="ImplementationVersionName">
168 OFFIS_DCMTK_353
169 </element>
170 </meta-header>
171 <data-set xfer="1.2.840.10008.1.2" name="Little Endian Implicit">
172 <element tag="0008,0005" vr="CS" vm="1" len="10"
173 name="SpecificCharacterSet">
174 ISO_IR 100
175 </element>
176 ...
177 <sequence tag="0028,3010" vr="SQ" card="2" name="VOILUTSequence">
178 <item card="3">
179 <element tag="0028,3002" vr="xs" vm="3" len="6"
180 name="LUTDescriptor">
181 256 8
182 </element>
183 ...
184 </item>
185 ...
186 </sequence>
187 ...
188 <element tag="7fe0,0010" vr="OW" vm="1" len="262144"
189 name="PixelData" loaded="no" binary="hidden">
190 </element>
191 </data-set>
192 </file-format>
193
194 The 'file-format' and 'meta-header' tags may be absent for DICOM data
195 sets.
196
197 Character Encoding
198 The DICOM character encoding is determined automatically from the
199 element with tag '0008,0005' (Specific Character Set) - if present. The
200 following character sets are currently supported (requires libxml to
201 include iconv support, see --version output):
202
203 ASCII (ISO_IR 6) (UTF-8)
204 UTF-8 "ISO_IR 192" (UTF-8)
205 ISO Latin 1 "ISO_IR 100" (ISO-8859-1)
206 ISO Latin 2 "ISO_IR 101" (ISO-8859-2)
207 ISO Latin 3 "ISO_IR 109" (ISO-8859-3)
208 ISO Latin 4 "ISO_IR 110" (ISO-8859-4)
209 ISO Latin 5 "ISO_IR 148" (ISO-8859-9)
210 Cyrillic "ISO_IR 144" (ISO-8859-5)
211 Arabic "ISO_IR 127" (ISO-8859-6)
212 Greek "ISO_IR 126" (ISO-8859-7)
213 Hebrew "ISO_IR 138" (ISO-8859-8)
214
215 Multiple character sets are not supported (only the first value of the
216 'Specific Character Set' is used for the character encoding in case of
217 value multiplicity).
218
219 See dcm2xml documentation for more details on the XML structure.
220
221 Binary Data
222 Binary data (*) can be encoded either as a sequence of hex numbers
223 separated by a backslash '\' or in Base64 format (binary='base64'). In
224 addition, binary data can also be read from file (binary='file'). In
225 this case, the filename has to be specified as the element value, e.g.
226
227 <element tag="7fe0,0010" vr="OW" ... binary="file">subdir/pixeldata.raw</element>
228
229 Please note that the contents of the file will be read as is. OW data
230 is expected to be little endian ordered and will be swapped if
231 necessary. No checks will be made to ensure that the amount of data is
232 reasonable in terms of other attributes such as Rows or Columns.
233
234 (*) Please note that currently only OB and OW data is supported, i.e.
235 element values with a VR of OD, OF, OL and OV are not regarded as
236 'binary data' and treated as all other VRs.
237
238 Compression
239 If libxml is compiled with zlib support, the input file (xmlfile-in)
240 can also be compressed with ZIP, which usually results in much smaller
241 files. See output of option --version in order to check whether zlib
242 support is available.
243
244 Limitations
245 Different versions of libxml might have different limits for the
246 maximum length of an XML element value. Therefore, it should be avoided
247 to use very long element values (e.g. for pixel data).
248
249 Please note that xml2dcm currently does not fully support DICOMDIR
250 files. Specifically, the value of the various offset data elements is
251 not updated automatically by this tool.
252
254 The level of logging output of the various command line tools and
255 underlying libraries can be specified by the user. By default, only
256 errors and warnings are written to the standard error stream. Using
257 option --verbose also informational messages like processing details
258 are reported. Option --debug can be used to get more details on the
259 internal activity, e.g. for debugging purposes. Other logging levels
260 can be selected using option --log-level. In --quiet mode only fatal
261 errors are reported. In such very severe error events, the application
262 will usually terminate. For more details on the different logging
263 levels, see documentation of module 'oflog'.
264
265 In case the logging output should be written to file (optionally with
266 logfile rotation), to syslog (Unix) or the event log (Windows) option
267 --log-config can be used. This configuration file also allows for
268 directing only certain messages to a particular output stream and for
269 filtering certain messages based on the module or application where
270 they are generated. An example configuration file is provided in
271 <etcdir>/logger.cfg.
272
274 All command line tools use the following notation for parameters:
275 square brackets enclose optional values (0-1), three trailing dots
276 indicate that multiple values are allowed (1-n), a combination of both
277 means 0 to n values.
278
279 Command line options are distinguished from parameters by a leading '+'
280 or '-' sign, respectively. Usually, order and position of command line
281 options are arbitrary (i.e. they can appear anywhere). However, if
282 options are mutually exclusive the rightmost appearance is used. This
283 behavior conforms to the standard evaluation rules of common Unix
284 shells.
285
286 In addition, one or more command files can be specified using an '@'
287 sign as a prefix to the filename (e.g. @command.txt). Such a command
288 argument is replaced by the content of the corresponding text file
289 (multiple whitespaces are treated as a single separator unless they
290 appear between two quotation marks) prior to any further evaluation.
291 Please note that a command file cannot contain another command file.
292 This simple but effective approach allows one to summarize common
293 combinations of options/parameters and avoids longish and confusing
294 command lines (an example is provided in file <datadir>/dumppat.txt).
295
297 The xml2dcm utility will attempt to load DICOM data dictionaries
298 specified in the DCMDICTPATH environment variable. By default, i.e. if
299 the DCMDICTPATH environment variable is not set, the file
300 <datadir>/dicom.dic will be loaded unless the dictionary is built into
301 the application (default for Windows).
302
303 The default behavior should be preferred and the DCMDICTPATH
304 environment variable only used when alternative data dictionaries are
305 required. The DCMDICTPATH environment variable has the same format as
306 the Unix shell PATH variable in that a colon (':') separates entries.
307 On Windows systems, a semicolon (';') is used as a separator. The data
308 dictionary code will attempt to load each file specified in the
309 DCMDICTPATH environment variable. It is an error if no data dictionary
310 can be loaded.
311
313 <datadir>/dcm2xml.dtd - Document Type Definition (DTD) file
314
316 dcm2xml(1)
317
319 Copyright (C) 2003-2021 e.V., Escherweg 2, 26121 Oldenburg, Germany.
320
321
322
323Version 3.6.6 Thu Jan 14 2021 xml2dcm(1)