Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MEDCON(1)		    General Commands Manual		     MEDCON(1)

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	Inter-
	      File 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 for-
	      mat 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  op-
	      tions one	can lose the quantified	float values when the new for-
	      mat 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 anatom-
	      ical  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 inde-
	      pendent 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  cor-
	      ner 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 vol-
	      ume 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 process-
	      ing.  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 orienta-
	      tion 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 -in-
	      terl 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 con-
	      vert to formats which only support a grayscale colormap!

       -gap, --spacing-true-gap
	      The spacing between slices is the	true gap/overlap between adja-
	      cent 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  af-
	      ter 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  fol-
	      lowing 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	(-fmo-
	      saic).  The option indicates that	the slices in the original mo-
	      saic are in fact interlaced.   See  also	options	 -fmosaic  and
	      -mfixv.

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

       -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 val-
	      ues found	in the file. This autodetect routine will  always  fix
	      the  voxel sizes.	To support other type of mosaic	files, see op-
	      tion -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  con-
	      cept 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 val-
	      ues  found  over all images.  This can be	important when the re-
	      quested format requires a	rescaling  to  a  new  pixeltype.  The
	      original pixel values then need to be rescaled to	the new	pixel-
	      type 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  re-
	      sides 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 al-
	      lowed 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. With-
	      out  this	 option	a loop and background color are	defined	by de-
	      fault. 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 rou-
	      tine. Calibration	and negative pixels  are  preserved  automati-
	      cally.  You  need	to specify the -qs to preserve the quantifica-
	      tion 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 im-
       portant 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 quantita-
       tion 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) quantifica-
	      tion 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	repre-
	      sent  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 im-
       portant 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  op-
	      tions.

       -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/confus-
	      ing 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 op-
	      tions.

       -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  fac-
       tor.  To	 actually use this scaling factor, you must select a quantita-
       tion option like	-qs or -qc as well.

       See also	-ar & -optspm.

       -sqr, --make-square
	      Make all image matrices square, using the	largest	dimension. Im-
	      ages are padded with the lowest pixel value. See also  -pad  re-
	      lated 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	infor-
  mation 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 for-
       mats 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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=medcon&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help