1dcmcjpls(1) OFFIS DCMTK dcmcjpls(1)
2
3
4
6 dcmcjpls - Encode DICOM file to JPEG-LS transfer syntax
7
8
10 dcmcjpls [options] dcmfile-in dcmfile-out
11
13 The dcmcjpls utility reads an uncompressed DICOM image (dcmfile-in),
14 performs a JPEG-LS compression (i. e. conversion to an encapsulated
15 DICOM transfer syntax) and writes the converted image to an output file
16 (dcmfile-out).
17
19 dcmfile-in DICOM input filename to be converted
20
21 dcmfile-out DICOM output filename
22
24 general options
25 -h --help
26 print this help text and exit
27
28 --version
29 print version information and exit
30
31 --arguments
32 print expanded command line arguments
33
34 -q --quiet
35 quiet mode, print no warnings and errors
36
37 -v --verbose
38 verbose mode, print processing details
39
40 -d --debug
41 debug mode, print debug information
42
43 -ll --log-level [l]evel: string constant
44 (fatal, error, warn, info, debug, trace)
45 use level l for the logger
46
47 -lc --log-config [f]ilename: string
48 use config file f for the logger
49
50 input options
51 input file format:
52
53 +f --read-file
54 read file format or data set (default)
55
56 +fo --read-file-only
57 read file format only
58
59 -f --read-dataset
60 read data set without file meta information
61
62 input transfer syntax:
63
64 -t= --read-xfer-auto
65 use TS recognition (default)
66
67 -td --read-xfer-detect
68 ignore TS specified in the file meta header
69
70 -te --read-xfer-little
71 read with explicit VR little endian TS
72
73 -tb --read-xfer-big
74 read with explicit VR big endian TS
75
76 -ti --read-xfer-implicit
77 read with implicit VR little endian TS
78
79 JPEG-LS encoding options
80 JPEG-LS process:
81
82 +el --encode-lossless
83 encode JPEG-LS lossless only TS (default)
84
85 # This options selects the JPEG-LS lossless only transfer syntax
86 # and performs a lossless compression.
87
88 +en --encode-nearlossless
89 encode JPEG-LS near-lossless TS (NEAR: 2)
90
91 # This options selects the JPEG-LS lossy transfer syntax
92 # and performs a near-lossless compression.
93
94 JPEG-LS bit rate (near-lossless only):
95
96 +md --max-deviation [d]eviation: integer (default: 2)
97 defines maximum deviation for an encoded pixel
98
99 # This option specifies the maximum deviation for a single pixel from
100 # the original pixel value.
101
102 lossless compression:
103
104 +pr --prefer-raw
105 prefer raw encoder mode (default)
106
107 # This option enables the raw encoder. The raw encoder encodes the
108 # complete pixel cell as it was read from the source image without
109 # performing any modifications.
110
111 +pc --prefer-cooked
112 prefer cooked encoder mode
113
114 # This option enables the cooked encoder. The cooked encoder moves
115 # overlay data to separate tags (60xx,3000) and only encodes the
116 # stored bits in each pixel.
117
118 JPEG-LS compression:
119
120 +t1 --threshold1 [t]hreshhold: integer (default for 8 bpp: 3)
121 set JPEG-LS encoding parameter threshold 1
122
123 +t2 --threshold2 [t]hreshhold: integer (default for 8 bpp: 7)
124 set JPEG-LS encoding parameter threshold 2
125
126 +t3 --threshold3 [t]hreshhold: integer (default for 8 bpp: 21)
127 set JPEG-LS encoding parameter threshold 3
128
129 +rs --reset [r]eset: integer (default: 64)
130 set JPEG-LS encoding parameter reset
131
132 +lm --limit [l]imit: integer (default: 0)
133 set JPEG-LS encoding parameter limit
134
135 JPEG-LS interleave:
136
137 +il --interleave-line
138 force line-interleaved JPEG-LS images (default)
139
140 # This flag forces line-interleaved mode for the resulting image.
141 # In line-interleave mode each line from the source image is
142 # compressed separately for each component and then the next line
143 # is encoded.
144
145 +is --interleave-sample
146 force sample-interleaved JPEG-LS images
147
148 # This flag forces sample-interleaved mode for the resulting image.
149 # In sample-interleave mode each pixel's components are encoded before
150 # the next pixel is encoded.
151
152 +in --interleave-none
153 force uninterleaved JPEG-LS images
154
155 # This flag forces uninterleaved mode for the resulting image.
156 # In this mode, each of the image's components are completely encoded
157 # before the next component is handled.
158
159 +iv --interleave-default
160 use the fastest possible interleave mode
161
162 # This flag selects an interleave mode based on the source image's mode.
163 # If possible, the image is not converted to a different interleave mode.
164
165 encapsulated pixel data encoding options
166 encapsulated pixel data fragmentation:
167
168 +ff --fragment-per-frame
169 encode each frame as one fragment (default)
170
171 # This option causes the creation of one compressed fragment for each
172 # frame (recommended).
173
174 +fs --fragment-size [s]ize: integer
175 limit fragment size to s kbytes
176
177 # This option limits the fragment size which may cause the creation of
178 # multiple fragments per frame.
179
180 basic offset table encoding:
181
182 +ot --offset-table-create
183 create offset table (default)
184
185 # This option causes the creation of a valid offset table for the
186 # compressed JPEG fragments.
187
188 -ot --offset-table-empty
189 leave offset table empty
190
191 # This option causes the creation of an empty offset table
192 # for the compressed JPEG fragments.
193
194 SOP Class UID:
195
196 +cd --class-default
197 keep SOP Class UID (default)
198
199 # Keep the SOP Class UID of the source image.
200
201 +cs --class-sc
202 convert to Secondary Capture Image (implies --uid-always)
203
204 # Convert the image to Secondary Capture. In addition to the SOP Class
205 # UID, all attributes required for a valid secondary capture image are
206 # added. A new SOP instance UID is always assigned.
207
208 SOP Instance UID:
209
210 +ud --uid-default
211 assign new UID if lossy compression (default)
212
213 # Assigns a new SOP instance UID if the compression is lossy JPEG.
214
215 +ua --uid-always
216 always assign new UID
217
218 # Unconditionally assigns a new SOP instance UID.
219
220 +un --uid-never
221 never assign new UID
222
223 # Never assigns a new SOP instance UID.
224
225 output options
226 post-1993 value representations:
227
228 +u --enable-new-vr
229 enable support for new VRs (UN/UT) (default)
230
231 -u --disable-new-vr
232 disable support for new VRs, convert to OB
233
234 group length encoding:
235
236 +g= --group-length-recalc
237 recalculate group lengths if present (default)
238
239 +g --group-length-create
240 always write with group length elements
241
242 -g --group-length-remove
243 always write without group length elements
244
245 length encoding in sequences and items:
246
247 +e --length-explicit
248 write with explicit lengths (default)
249
250 -e --length-undefined
251 write with undefined lengths
252
253 data set trailing padding:
254
255 -p= --padding-retain
256 do not change padding (default)
257
258 -p --padding-off
259 no padding
260
261 +p --padding-create [f]ile-pad [i]tem-pad: integer
262 align file on multiple of f bytes
263 and items on multiple of i bytes
264
266 The dcmcjpls utility compresses DICOM images of all SOP classes.
267 However, dcmcjpls does not attempt to ensure that the compressed image
268 still complies with all restrictions of the object's IOD.
269
270 The user is responsible for making sure that the compressed images he
271 creates are compliant with the DICOM standard. If in question, the
272 dcmcjpls utility allows one to convert an image to secondary capture -
273 this SOP class does not pose restrictions as the ones mentioned above.
274
276 dcmcjpls supports the following transfer syntaxes for input (dcmfile-
277 in):
278
279 LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2
280 LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1
281 DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*)
282 BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2
283
284 (*) if compiled with zlib support enabled
285
286 dcmcjpls supports the following transfer syntaxes for output (dcmfile-
287 out):
288
289 JPEGLSLosslessTransferSyntax 1.2.840.10008.1.2.4.80
290 JPEGLSLossyTransferSyntax 1.2.840.10008.1.2.4.81
291
293 The level of logging output of the various command line tools and
294 underlying libraries can be specified by the user. By default, only
295 errors and warnings are written to the standard error stream. Using
296 option --verbose also informational messages like processing details
297 are reported. Option --debug can be used to get more details on the
298 internal activity, e.g. for debugging purposes. Other logging levels
299 can be selected using option --log-level. In --quiet mode only fatal
300 errors are reported. In such very severe error events, the application
301 will usually terminate. For more details on the different logging
302 levels, see documentation of module 'oflog'.
303
304 In case the logging output should be written to file (optionally with
305 logfile rotation), to syslog (Unix) or the event log (Windows) option
306 --log-config can be used. This configuration file also allows for
307 directing only certain messages to a particular output stream and for
308 filtering certain messages based on the module or application where
309 they are generated. An example configuration file is provided in
310 <etcdir>/logger.cfg.
311
313 All command line tools use the following notation for parameters:
314 square brackets enclose optional values (0-1), three trailing dots
315 indicate that multiple values are allowed (1-n), a combination of both
316 means 0 to n values.
317
318 Command line options are distinguished from parameters by a leading '+'
319 or '-' sign, respectively. Usually, order and position of command line
320 options are arbitrary (i.e. they can appear anywhere). However, if
321 options are mutually exclusive the rightmost appearance is used. This
322 behavior conforms to the standard evaluation rules of common Unix
323 shells.
324
325 In addition, one or more command files can be specified using an '@'
326 sign as a prefix to the filename (e.g. @command.txt). Such a command
327 argument is replaced by the content of the corresponding text file
328 (multiple whitespaces are treated as a single separator unless they
329 appear between two quotation marks) prior to any further evaluation.
330 Please note that a command file cannot contain another command file.
331 This simple but effective approach allows one to summarize common
332 combinations of options/parameters and avoids longish and confusing
333 command lines (an example is provided in file <datadir>/dumppat.txt).
334
336 The dcmcjpls utility will attempt to load DICOM data dictionaries
337 specified in the DCMDICTPATH environment variable. By default, i.e. if
338 the DCMDICTPATH environment variable is not set, the file
339 <datadir>/dicom.dic will be loaded unless the dictionary is built into
340 the application (default for Windows).
341
342 The default behavior should be preferred and the DCMDICTPATH
343 environment variable only used when alternative data dictionaries are
344 required. The DCMDICTPATH environment variable has the same format as
345 the Unix shell PATH variable in that a colon (':') separates entries.
346 On Windows systems, a semicolon (';') is used as a separator. The data
347 dictionary code will attempt to load each file specified in the
348 DCMDICTPATH environment variable. It is an error if no data dictionary
349 can be loaded.
350
352 dcmdjpls(1)
353
355 Copyright (C) 2009-2016 by OFFIS e.V., Escherweg 2, 26121 Oldenburg,
356 Germany.
357
358
359
360Version 3.6.2 Fri Jul 14 2017 dcmcjpls(1)