itk_patch_segmentation
perform patch-based label fusion segmentation
itk_patch_segmentation <input> [output_labels] [options]
DESCRIPTION
itk_patch_segmentation performs patch-based regression segmentation using ITK-based image I/O. It supports multiple label fusion strategies including Support Vector Machine (SVM), Non-Negative Least Squares (NNLS), and exponential weighting for combining multiple atlas segmentations into a consensus segmentation of the input volume.
The tool compares local image patches between the input volume and a set of training volumes (atlases with known labels) to determine the most likely label for each voxel. The patch-based approach provides robust segmentation that is less sensitive to registration errors than voxel-wise label fusion.
This is the ITK-based version with support for multiple MINC and NIfTI formats. For the legacy MINC1-only implementation, see volume_patches.
OPTIONS
--train <file>- Specify a training library file listing atlas volumes and their labels.
--train2 <file>- Specify a second training library for two-level segmentation.
--nnls- Use Non-Negative Least Squares for label fusion weighting.
--svm- Use Support Vector Machine for label fusion.
--exp- Use exponential weighting for label fusion.
--verbose- Print detailed progress information.
--quiet- Suppress all output messages.
--clobber- Overwrite existing output files.
--mask <file>- Specify a mask to restrict segmentation to a region of interest.
--patch <n>- Set the patch radius in voxels (default: 1).
--search <n>- Set the search radius in voxels for finding matching patches (default: 1).
--cls <n>- Number of classes for segmentation.
--beta <value>- Regularization parameter controlling smoothness (default: 0.125).
--scaling- Enable intensity scaling between input and training volumes.
--threshold <value>- Set a threshold for patch similarity.
--discrete <n>- Number of discrete labels (default: 2).
--confidence- Output a confidence map alongside the segmentation.
--adist- Use absolute distance weighting.
--grading- Perform grading instead of segmentation.
--iter <n>- Maximum number of iterations (default: 50).
--extract- Extract labels from training library.
--top <n>- Use only the top N most similar training samples.
--float- Store output as 32-bit floating point.
--short- Store output as 16-bit signed integer.
--byte- Store output as 8-bit unsigned integer.
--box- Use box-shaped patches.
--ball- Use ball-shaped patches.
--prelabel <file>- Specify a pre-labeling volume for initialization.
--prob- Output probability maps for each label.
--groups <n>- Number of groups for cross-validation.
EXAMPLES
Segment using exponential weighting with a training library:
itk_patch_segmentation input.mnc output_labels.mnc --train library.txt --exp --mask brain_mask.mnc
Segment using SVM with larger patch and search radii:
itk_patch_segmentation input.mnc labels.mnc --train library.txt --svm --patch 2 --search 2
Segment with confidence output:
itk_patch_segmentation input.mnc labels.mnc --train library.txt --exp --confidence --beta 0.25
AUTHOR
Vladimir S. Fonov - McConnell Brain Imaging Centre, Montreal Neurological Institute, McGill University.
COPYRIGHTS
Copyright © 2012 by Vladimir S. Fonov