NAME¶
convertx - Convert between image file formats and data types.
SYNOPSIS¶
convertx [options] infile outfile
DESCRIPTION¶
This tool converts between image file formats and pixel data types. It can also
apply simple, general-purpose image operations in the process. An arbitrary
number of operations can be specified on the command line, which will be
applied exactly in the order given.
OPTIONS¶
- --help
- Write list of basic command line options to standard
output.
- --help-all
- Write complete list of basic and advanced command line
options to standard output.
- --wiki
- Write list of command line options to standard output in
MediaWiki markup.
- --man
- Write man page source in 'nroff' markup to standard
output.
- --version
- Write toolkit version to standard output.
- --echo
- Write the current command line to standard output.
- --verbose-level <integer>
- Set verbosity level.
- --verbose, -v
- Increment verbosity level by 1 (deprecated; supported for
backward compatibility).
- --threads <integer>
- Set maximum number of parallel threads (for POSIX threads
and OpenMP).
- --db <string>
- Path to image/transformation database that should be
updated with the newly created image. [Default: NONE]
- --set-padding <double>
- Set padding value: all pixels in the input image that have
this value will be ignored in all subsequent operations.
- --unset-padding
- Unset padding value: for all subsequent operations, all
pixels will be treated according to their value.
Data Type Conversion¶
- --char
- 8 bits, signed integer
- --byte
- 8 bits, unsigned integer
- --short
- 16 bits, signed integer
- --ushort
- 16 bits, unsigned integer
- --int
- 32 bits signed integer
- --uint
- 32 bits unsigned integer
- --float
- 32 bits floating point
- --double
- 64 bits floating point
Value Mappings¶
- --map-values <string>
- Apply mapping function to pixel values. Mapping is defined
as 'VAL0[,VAL1,...][:NEWVAL]' to map values VAL0, VAL1, etc. to new value
NEWVAL. If NEWVAL is not given, values are set to padding.
- --map-values-only <string>
- Apply mapping function to pixel values and replace unmapped
pixels with padding. Multiple such mapping rules can be concatenated as
RULE0+RULE1[+...]; all concatenated rules will be applied
simultaneously.Mapping is defined as 'VAL0[,VAL1,...][:NEWVAL]' to map
values VAL0, VAL1, etc. to new value NEWVAL. If NEWVAL is not given,
values are set to padding. Multiple such mapping rules can be concatenated
as RULE0+RULE1[+...]; all concatenated rules will be applied
simultaneously.
- --replace-padding <double>
- Replace padded pixel data with given value.
- --replace-inf-nan <double>
- Replace all infinite and not-a-number pixels with given
value.
Image Flipping¶
- --flip-x
- Flip (mirror) along x-direction
- --flip-y
- Flip (mirror) along y-direction
- --flip-z
- Flip (mirror) along z-direction
Image Masking and Thresholding¶
- --mask <string>
- Binary mask file name: eliminate all image pixels where
mask is 0.
- --mask-inverse <string>
- Inverse binary mask file name eliminate all image pixels
where mask is NOT 0.
- --thresh-below <double>
- Set all values below threshold to threshold value.
- --thresh-above <double>
- Set all values above threshold to threshold value.
- --thresh-below-to-padding <double>
- Set all values below threshold to padding value.
- --thresh-above-to-padding <double>
- Set all values above threshold to padding value.
- --binarize-thresh <double>
- Set all values below threshold to 0, all values equal or
above to 1.
- --otsu-thresh
- Binarize image to 0/1 using threshold computed with Otsu's
method. Argument is number of histogram bins for threshold
computation.
- --otsu-thresh-nbins <integer>
- Binarization using Otsu's method with user-defined number
of histogram bins for threshold computation.
- --prune-histogram <integer>
- Threshold image by 'intensity histogram pruning', i.e., for
given argument n [histogram bins] determine thresholds such that the
1/n-th fraction of highest and lowest voxels are thresholded.
- --prune-histogram-high <integer>
- Like '--prune-histograms', but only remove high
intensities.
- --prune-histogram-low <integer>
- Like '--prune-histograms', but only remove low
intensities.
- --scale-to-range <string>
- Scale image intensities to range 'from:to', e.g., '0:255'
before conversion to byte data.
- --histogram-equalization
- Apply histogram equalization.
- --histogram-equalization-nbins
<integer>
- Apply histogram equalization with <int> number of
bins.
Morphological Operations¶
- --revert
- Revert a binary mask, i.e., exchange foreground and
background.
- --erode <integer>
- Morphological erosion operator
- --dilate <integer>
- Morphological dilation operator
- --connected-components
- Create connected components map with regions numbered by
decreasing component size
- --boundary-map
- Create boundary map
- --multi-boundary-map
- Create multi-valued boundary map
- --distance-map
- Compute unsigned Euclidean distance map. Input image is
interpreted as binary mask.
- --signed-distance-map
- Compute signed (inside=negative, outside=positive)
Euclidean distance map
- --medial-skeleton <integer>
- Compute n-dimensional medial skeleton of binary mask.
Argument must be either 1 or 2.
Filter Operations¶
- --median-filter <string>
- Median filter. This operation takes the filter radius in
pixels as the parameter. A single integer defines the kernel radius in all
three dimensions. Three comma-separated integers define separate radii for
the three dimensions.
- --mean-filter <string>
- Regional mean filter. This operation takes the filter
radius in pixels as the parameter. A single integer defines the kernel
radius in all three dimensions. Three comma-separated integers define
separate radii for the three dimensions.
- --fast-mean-filter <string>
- Regional mean filter (fast, linear time implementation).
This operation takes the filter radius in pixels as the parameter. A
single integer defines the kernel radius in all three dimensions. Three
comma-separated integers define separate radii for the three
dimensions.
- --variance-filter <string>
- Regional variance filter. This operation takes the filter
radius in pixels as the parameter. A single integer defines the kernel
radius in all three dimensions. Three comma-separated integers define
separate radii for the three dimensions.
- --fast-variance-filter <string>
- Fast (linear-time) regional variance filter. This operation
takes the filter radius in pixels as the parameter. A single integer
defines the kernel radius in all three dimensions. Three comma-separated
integers define separate radii for the three dimensions.
- --third-moment-filter <string>
- Regional third moment filter. This operation takes the
filter radius in pixels as the parameter. A single integer defines the
kernel radius in all three dimensions. Three comma-separated integers
define separate radii for the three dimensions.
- --standard-deviation-filter
<string>
- Regional standard deviation filter. This operation takes
the filter radius in pixels as the parameter. A single integer defines the
kernel radius in all three dimensions. Three comma-separated integers
define separate radii for the three dimensions.
- --smoothness-filter <string>
- Regional 'smoothness' filter. This operation takes the
filter radius in pixels as the parameter. A single integer defines the
kernel radius in all three dimensions. Three comma-separated integers
define separate radii for the three dimensions.
- --gaussian-filter-sigma <double>
- Filter image with Gaussian kernel. This operation takes a
single real-valued parameter, which specifies the kernel coefficient sigma
in world units [e.g., mm] as the parameter.
- --gaussian-filter-fwhm <double>
- Filter image with Gaussian kernel. This operation takes a
single real-valued parameter, which specifies the kernel full width at
half maximum in world units [e.g., mm].
- --laplace-filter
- Filter image with edge-enhancing Laplacian kernel.
Feature Detection Operations¶
- --hough-sphere <double>
- Hough transform to detect sphere with a given radius. The
radius in world units (typically mm) is provided as an argument to this
operation.
Grid Operations¶
- --downsample-select <string>
- Downsample image by pixel selection using per-axis factors
'Fx,Fy,Fz' or using single factor 'Fxyz'
- --downsample-average <string>
- Downsample image by averaging using per-axis factors
'Fx,Fy,Fz' or using single factor 'Fxyz'
- --crop-by-index <string>
- Crop image to a region specified by a set of six grid index
coordinates given as comma-separated integers x0,y0,z0,x1,y1,z1
- --crop-by-threshold <double>
- Crop image to region determined via a given threshold. The
resulting image will contain all pixels larger than the given
parameter.
- --crop-by-threshold-write-region
<double>
- Crop image to region determined via a given threshold and
write cropping region to standard output.
- --crop-by-threshold-write-xform
<double>
- Crop image to region determined via a given threshold and
write cropping transformation to standard output.
AUTHORS¶
Torsten Rohlfing, with contributions from Michael P. Hasak, Greg Jefferis,
Calvin R. Maurer, and Daniel B. Russakoff
LICENSE¶
http://www.fsf.org/licensing/licenses/gpl.html
BUGS¶
Report bugs at
http://nitrc.org/projects/cmtk/
ACKNOWLEDGMENTS¶
From April 2009 through September 2011, CMTK Development and Maintenance was
supported by the National Institute of Biomedical Imaging and Bioengineering
under Grant No.R01 EB008381 (PI: Torsten Rohlfing).