EnglishFrenchSpanish

OnWorks favicon

medcon - Online in the Cloud

Run medcon in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command medcon that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


medcon - MedCon conversion of medical image formats

SYNOPSIS


medcon [options] -f files ...

DESCRIPTION


MedCon is a conversion utility intended for reconstructed nuclear medical images.

The supported formats are:

Format Explanation Notation
------ ----------- --------
Ascii Raw ascii image arrays without header 'ascii'
Binary Raw binary image arrays without header 'bin'
Gif89a annimated GIF with colormap 'gif'
Acr/Nema Papyrus, Siemens (vers 2.0) 'acr'
INW RUG local format (vers 1.0) 'inw'
ECAT Siemens CTI ECAT 6 'ecat6' or 'ecat'
ECAT Siemens CTI ECAT 7 'ecat7'
InterFile version 3.3 'intf'
Analyze with consideration to SPM software 'anlz'
DICOM uses the VT-DICOM library 'dicom'
PNG Portable Network Graphics 'png'
Concorde Concorde/microPET 'conc'
NIfTI Neuroimaging Informatics Technology Initiative 'nifti'

FLAGS


-f, --file, --files <files> ...
Read a list of files.

OPTIONS


-8, --indexed-color
This color mode forces 24-bit RGB color images being reduced to an 8-bit indexed
colormap. For color reduction in combination with dithering see the -dith option.

-24, --true-color
This color mode keeps a 24-bit image as is.

-alias, --alias-naming
Generate filenames based on patient and study information. The syntax of the
resulting basename is:

<patient_name>+<study_id>+<study_date>+<study_time>
and
<series>+<acquisition>+<instance>

with the latter three id's applied in case the originating format is DICOM or
Acr/Nema. See also -noprefix. Since Analyze does not have a patient_name,
patient_id is used instead.

-anon, --anonymous
Make patient and study related entries anonymous (filled with 'X'). This option can
not be used with option -ident.

-b8, --unsigned-char

-b16, --signed-short

-b16.12
Force writing of Uint8 or Int16 pixels. The special option -b16.12 only uses 12
bits, as unsigned however. With these options one can lose the quantified float
values when the new format doesn't support a global rescale factor or
slope/intercept.

-big, --big-endian
Force writing of big endian files when supported by the format.

-byframe, --sort-by-frame
Set sort order in ECAT by frames, instead of the default anatomical sort (based on
slice location). Identical planes in each frame will be grouped together. You don't
want this.

-c, --convert <format> ...
Convert with a list of formats to convert to. Use the notation without quotes as
specified in the above table. You can not use this option with -p.

-contrast, --enable-contrast
Apply (DICOM) window centre/width contrast remapping. Although this may improve the
display of images, any manufacturer independent pixel values (like HU, SUV) with
quantitation options -qc or -qs will be lost.

-cor, --coronal
Reslice the images of a volume into a coronal projection while preserving the real
world dimensions.

-crop=<X>:<Y>:<W>:<H>, --crop-images=<X>:<Y>:<W>:<H>
This option allows one to crop an equal frame from all images at <X>:<Y> where
width and height are <W>:<H>. The upper-left corner of an image is at 0:0.

-cs, --cine-sorting
Apply cine sorting, 1st image of each time frame, 2nd image of each time frame, 3rd
image of each time frame, ... (applicable on gated SPECT). Reapplying does NOT undo
this sorting. For this you need option -cu.

-cu, --cine-undo
Undo the cine sorting (as a result of the option -cs).

-cw=<centre>:<width>
Remap contrast using specified centre/width pair. No spaces are allowed within this
option. See also -contrast options.

-d, --debug
Show debug info. After reading a file, the program will display the contents of the
internal FILEINFO structure.

-db Only print main header of CTI ECAT files to standard output.

-dith, --dither-color
Use dithering to improve quality of color reduction (from RGB to 8-bit indexed).

-e, --extract [image ranges ...]
A routine to extract images interactively, unless you specify normal style image
ranges directly on the command-line separated by spaces. In normal style it is also
possible to reorder the sequence of images. You need to specify an output
conversion format (see option -c). Note that the extraction does NOT addapt the
centre-centre slice separations. In other words, proper volume measurements could
be lost.

Selection Type? 1=normal 2=ecat

Normal Style
------------

- Any number must be one-based (0 = All reversed)
- Syntax of range : X...Y or X-Y
- Syntax of interval: X:S:Y (S = step)
- The list is sequence sensitive!

Give a list of images to extract?

Ecat Style
----------

- Any number must be one-based (0 = All)
- Syntax of range : X...Y or X-Y
- Syntax of interval: X:S:Y (S = step)

Give planes list?
Give frames list?
Give gates list?
Give beds list?

-ean, --echo-alias-name
A convenience function which quickly echoes the alias or human readable filename on
screen, without any delay of image processing. For the syntax of this alias
filename, see option -alias. The output could then be used in a script, for example
to make interpretable links towards cryptic numbered files resulting from a DICOM
series.

-fb-none, --without-fallback

-fb-anlz, --fallback-analyze

-fb-conc, --fallback-concorde

-fb-dicom, --fallback-dicom

-fb-ecat, --fallback-ecat
Disable or specify a fallback read format in case autodetect failed.

-fh, --flip-horizontal

-fv, --flip-vertical
Flip images horizontal (-fh) along the X-axis, vertical (-fv) along the Y-axis
respectively. Parameters such as slice orientation are NOT changed. See also the
-rs option.

-fmosaic=<W>x<H>x<N>, --force-mosaic=<W>x<H>x<N>
Enforce the mosaic file support for DICOM or Acr/Nema formats. The *stamps* will be
split into separate slices according to the values supplied on the command-line.
See also extra options -interl and -mfixv. The preset arguments are:

<W> = pixel width of image stamps (X)

<H> = pixel height of image stamps (Y)

<N> = total number of image stamps (Z)

medcon -f imagefile -fmosaic=64x64x30

-g, --make-gray
Remap coloured images to gray. This is necessary when you convert to formats which
only support a grayscale colormap!

-gap, --spacing-true-gap
The spacing between slices is the true gap/overlap between adjacent slices. In
contrary to the default behaviour where the spacing between slices is measured from
the centre to centre of two adjacent slices (including gap/overlap). Applied in
DICOM & Acr/Nema.

-hackacr, --hack-acrtags
Enables you to hack a file that contains Acr/Nema tags hidden somewhere. Some
proprietary image formats do contain tags but are placed after some unknown
headerinformation. This option will try to find some readable tags in the first
2048 bytes after which it will give some possible hints to get the images out of
the file with the use of the interactive reading procedure (see option `-i'). This
experimental procedure can fail badly ...

-i, --interactive
Selects the interactive reading procedure. Normally the program automatically
detects the format or uses 'ecat' (or 'dicom') as default. With the interactive
procedure it could be possible to read an uncompressed, unsupported format by
answering the following questions:

Number of images?
General header offset to binary data?
Image header offset to binary data?
Image header repeated before each image?
Swap the pixel bytes?
Same characteristics for all images?
Absolute offset in bytes? (overrides above, 0 = unused)
Image columns?
Image rows?
Pixel data type?
Redo input?

The GUI allows one to save such raw predef input (RPI) files, that can be used in a
redirect statement:

medcon -f unsupported.img -c intf -i < predef.rpi

Doing so you can create small scripts that will read and convert your unsupported images
at once.

-ident, --identify
An interactive routine to specify the patient and study related information. This
option can not be used with the option -anon. The questions asked are:

Give patient name?
Give patient id?
Select patient sex?
Give study description?
Give study id/name/p-number?
Give series description?

-implicit, --write-implicit
Another DICOM related option to enforce the implicit VR little transfer syntax as
output, instead of the default explicit transfer syntax.

-interl, --mosaic-interlaced
An extra option used in combination with forced mosaic (-fmosaic). The option
indicates that the slices in the original mosaic are in fact interlaced. See also
options -fmosaic and -mfixv.

-little, --little-endian
Force writing of little endian files when supported by the format.

-lut, --load-lut <filename>
Load an external LUT color scheme.

-mh, --map-hotmetal
Selects the hotmetal colormap. This is only useful to GIF89a or PNG.

-mr, --map-rainbow
Selects the rainbow colormap. This is only useful to GIF89a or PNG.

-mc, --map-combined
Selects the combined colormap. This is only useful to GIF89a or PNG.

-mi, --map-inverted
Selects the invers colormap. This is only useful to GIF89a or PNG

-mfixv, --mosaic-fix-voxel
Another extra option used in combination with forced mosaic (-fmosaic). Choosing
this options will rescale the real world voxel dimensions by the mosaic factor.
See also -fmosaic and -interl.

-mosaic, --enable-mosaic
Enable mosaic file support in DICOM or Acr/Nema format. The *stamps* will be
splitted into separate slices according to values found in the file. This
autodetect routine will always fix the voxel sizes. To support other type of mosaic
files, see option -fmosaic.

-n, --negatives
Preserve negative values. When not selected, all negative values are put to zero.
In combination with quantitation (see -qs or -qc) the requested format must support
pixels of type float, a global rescale factor or the more generic slope/intercept
concept in order to preserve the (negative and positive) quantified values.

-nf, --norm-over-frames
Normalize with minimum/maximum values found over images in a frame group (in case
the original format has different frames). The default behaviour is normalization
with minimum/maximum values found over all images. This can be important when the
requested format requires a rescaling to a new pixeltype. The original pixel values
then need to be rescaled to the new pixeltype boundaries based on the
minimum/maximum values.

-nometa, --write-without-meta
Write DICOM files without the part 10 meta header (group 0x0002).

-nopath, --ignore-path
Ignore absolute path mentioned in the "name of data file" key of an interfile
header. Do make sure then that the data file resides in the same directory as the
header file.

-noprefix, --without-prefix
This option disables the numbered prefix in the output filename. In combination
with the -alias option, one could create human readable and alphabetical sorted
files from DICOM or Acr/Name multiple file volumes.

-o, --output-name <filename>
Changes output filename for ALL files to be created. It is allowed to specify a
full directory path as well. However, a full path disables unique filename
prefixing.

-one, --single-file
Write header and image to same file; as allowed for InterFile.

-optgif, --options-gif
Define some GIF options when converting to the GIF format. Without this option a
loop and background color are defined by default. This interactive routine asks the
following questions:

Select color map?
Insert a display loop?
Delay 1/100ths of a second?
Insert a transparent color?
Transparent color?
Background color?

-optspm, --options-spm
Define some SPM options (origins) when converting to the Analyze format. The
quantification is not set. See also '-spm' & '-ar'. The interactive routine asks
the following questions:

Origin X?
Origin Y?
Origin Z?

-p, --print-values
Show some specified pixel values. This is an interactive routine. Calibration and
negative pixels are preserved automatically. You need to specify the -qs to
preserve the quantification instead of the calibration. You can not use this option
with -c. See also -pa option for a non-interactive routine.

- Any number must be one-based (0 = All)
- Syntax of range : X...Y or X-Y
- Syntax of interval: X:S:Y (S = step)

Selection Type? 1=normal 2=ecat

Normal Style
------------

Give a list of image numbers?
Give a list of pixels x,y ?

Ecat Style
----------

Give planes list?
Give frames list?
Give gates list?
Give beds list?
Give a list of pixels x,y ?

-pa, --print-all-values
Show all pixel values. This option is identical to -p, but doesn't require user
input.

-pad, --pad-around

-padtl, --pad-top-left

-padbr, --pad-bottom-right
Increasing the slice matrix is done by padding an image with the lowest pixel
value. The options above enable different padding modes.

-preacq, --prefix-acquisition

-preser, --prefix-series
Respectivily use acquisition or series value in the numbered prefix of the new
filename. This is useful for alphabetical file ordering, where leading zeros in
DICOM elements are missing. See also -alias.

-q, --quantitation
Enable quantitation using all scale factors (for now alias for -qc option).

-qs, --quantification
A first scaling option to preserve the (ECAT) quantification (a) or to consider a
first linear scaling slope with intercept (b).

qpv = ppv * quant_scale [counts/second/pixel] (a)
qpv = ppv * slope + intercept (b)

qpv = quantified pixel value
ppv = plain pixel value

The "quant_scale" factor normalizes all images in the file; quite important for merging
purposes. When the corresponding format can not hold a rescale factor for each image, the
quantified values are saved as floats. Therefore, the highest pixel precision for correct
quantitation is float, not double!

If the format does not support floats, the quantified pixel values get rescaled to an
integer. Then only formats that support a global scaling factor or slope/intercept pair
will preserve those quantified values.

Note that this option can not be used with -qc.

-qc, --calibration
A second quantitation option to preserve the (ECAT) quantification as well as the
(ECAT) calibration (a) or in general, using two rescale slopes with an intercept
(b). These should normally transform pixels into manufacturer independent values.
So one can assume that after a calibration, the new pixels will represent a real
world unit (like concentration values (SUV), hounsfield units (HU) and alike).

cpv = ppv * quant_scale * calibr_fctr [uCi/ml] (a)
cpv = ppv * slope1 * slope2 + intercept (b)

cpv = calibrated pixel value
ppv = plain pixel value
qpv = quantified pixel value = ppv * quant_scale

The "quant_scale" factor normalizes all images in the file; quite important for merging
purposes. The "calibr_fctr" rescales the qpv-values to a new unit. When the corresponding
format can not hold a compound factor for each image, the quantified values will be saved
as floats. Therefore, the highest pixel precision for correct quantitation is float and
not double!

If the format does not support floats, the calibrated pixel values are rescaled to an
integer type. Only formats that support a global scaling factor or slope/intercept pair
preserve those calibrated values.

Note that this option can not be used with -qs.

-r, --rename-file
Rename the file basename. This option is only useful in case of conversion.

-rs, --reverse-slices
Reverse all the slices along the Z-axis. Parameters such as slice orientation are
NOT changed. See also the -fh and -fv options.

-s, --silent
Suppress all message, warning and error dialogs.

-sag, --sagittal
Reslice the images of a volume into a sagittal projection while preserving the real
world dimensions.

-si=<slope>:<intercept>
Force remap of pixel values using specified slope/intercept (y = s*x + i). The
quantitation option -qc is enabled by default. No spaces are allowed within this
option.

-skip1, --skip-preview-slice
Skip the first image in an InterFile. In other words, the first image in the array
will simply be ignored. Use this only when you are sure that the InterFile does
contain an annoying/confusing preview slice.

-split4d, -splitf, --split-frames

-split3d, -splits, --split-slices
Write out a study into separate files, one for each volume in a time frame
(--split-frames) or each image slice (--split-slices) individually. The names of
the files created will have an extra index number. See also -stack3d and -stack4d
as opposite options.

-spm, --analyze-spm
Considering Analyze files for/from SPM. In this case the global scaling factor
hidden in imd.funused[1] will be used, as well as the hidden offset value in
imd.funused[0].

In case of quantitation, the default output pixel type is float. This option allows one to
write integers combined with a global scale factor. To actually use this scaling factor,
you must select a quantitation option like -qs or -qc as well.

See also -ar & -optspm.

-sqr, --make-square
Make all image matrices square, using the largest dimension. Images are padded with
the lowest pixel value. See also -pad related options.

-sqr2, --make-square-two
Make all image matrices square, using the nearest power of two (between 64, 128,
256, 512 and 1024). Images are padded with the lowest pixel value. See also -pad
related options.

-stack4d, -stackf, --stack-frames

-stack3d, -stacks, --stack-slices
Write separate studies into one file. The --stack-slices option allows one to write
single image slice files into one 3D volume, while the --stack-frames option allows
volumes of different time frames being written into one 4D file. The sequence of
stacking is based on the file sequence given at the argument line. See also
-split3d and -split4d as the opposite options.

-tra, --transverse
Reslice the images of a volume into a transverse projection while preserving the
real world dimensions.

-uin, --use-institution-name <namestring>
Change the program's default institution name which is applied on studies without
one. However, this does not override existing values. For a namestring with spaces,
group between double quotes.

-v, --verbose
Verbose mode. Show some explaining messages during the reading and writing of
files.

-vifi, --edit-fileinfo
An interactive routine for editing voxel,array,slice and orient related entries in
the FILEINFO struct.

-w, --overwrite-files
Allow overwrite of existing files, without warning.

NOTES


When no conversion was specified, the program will display the header information of each
image.

When conversion was specified, the program will automatically create new filenames in the
current directory with the following syntax:

mXXX-filename.ext

`XXX-' a number representing the XXX-th conversion
`ext' a corresponding extension of the new format

Binary raw -> .bin
Ascii raw -> .asc
Gif89a -> .gif
Acr/Nema -> .ima

INW -> .im
ECAT -> .img
Interfile -> .h33 + .i33
Analyze -> .hdr + .img
DICOM -> .dcm
PNG -> .png
CONC -> .hdr + .dat

Some special remarks related to reading from stdin or writing to stdout.

a) reading from stdin:

Enable this by using an "-" mark instead of the list of input files.

1. redirect: medcon -f - < inputfile

This is supported for all formats and shouldn't cause any particular problems. Interactive
routines are disabled because stdin is now in use by the image input.

2. pipes : cat inputfile | medcon -f - format

Actually, this way only one or two formats are supported since seek() calls are not
possible during pipes. The fact is that most of our formats are read using those seek()
calls. In normal operation we already need a quick sneak in the file to determine the
format. Because this fseek() isn't allowed, you must supply at least the input format too.

b) writing to stdout:

Enabled by using an extra "-" mark on the conversion list.

medcon -f inputfile -c - format

Only one inputfile is allowed. The converted output will be send to stdout.

In case of dual file formats such as Analyze or InterFile, the header information will be
send to stderr. The reference to the image file in the header of an InterFile will
ofcourse be wrong (since the program is not capable of knowing the resulting filename).

In case of RAW or ASCII output, the program will print the content of the internal
FILEINFO struct to stderr as well. Please note that the (t)csh shells do not allow to
catch stderr or stdout separately. In case of the bash shell, it is possible to say:

medcon -f inputfile -c - intf -b16.12 -qc 1>image 2>header

EXAMPLES


1. To display the image headers:
medcon -f filename1 filename2

2. To convert the images:
medcon -f filename1 filename2 -c gif acr intf

3. To read interactively
medcon -i -f filename -c ecat

4. To extract alternate images:
medcon -e 1:2:20 -f filename -c gif

5. To print out pixel values
medcon -p -f filename

6. Convert to raw binary images, send to standard output:
medcon -f filename -c - bin

Use medcon online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

Linux commands

Ad