Provided by: medcon_0.16.1+dfsg-1_amd64 bug

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. In case of a dual file format, like InterFile and Analyze, just mention its
              header filename.

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 directory path as
              well. However, a directory 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

FILES

  /usr/local/xmedcon/include/   Directory with header files.
  /usr/local/xmedcon/lib/       Directory with libraries.
  /usr/local/xmedcon/bin/       Directory with executables.
  /usr/local/xmedcon/man/       Directory with man-pages.
  /usr/local/xmedcon/etc/       Directory with rcfiles.

SEE ALSO

  xmedcon(1), xmedcon-config(1)

  m-acr(4), m-anlz(4), m-gif(4), m-inw(4), m-intf(4), m-ecat(4)

  medcon(3)

AUTHOR

  (X)MedCon project was originally written by Erik Nolf (eNlf) for the former  PET-Centre  at  Ghent  University
  (Belgium).

  e-mail:   enlf-at-users.sourceforge.net   www:   http://xmedcon.sourceforge.net

                                                                                                       MEDCON(1)