1- # Local imports
1+ """The ants module provides basic functions for interfacing with ants functions.
2+
3+ Change directory to provide relative paths for doctests
4+ >>> import os
5+ >>> filepath = os.path.dirname( os.path.realpath( __file__ ) )
6+ >>> datadir = os.path.realpath(os.path.join(filepath, '../../testing/data'))
7+ >>> os.chdir(datadir)
8+
9+ """
10+
211from ..base import (TraitedSpec , File , traits , InputMultiPath , OutputMultiPath ,
312 isdefined )
413from ...utils .filemanip import split_filename
@@ -11,7 +20,7 @@ class AtroposInputSpec(ANTSCommandInputSpec):
1120 dimension = traits .Enum (3 , 2 , 4 , argstr = '--image-dimensionality %d' , usedefault = True ,
1221 desc = 'image dimension (2, 3, or 4)' )
1322 intensity_images = InputMultiPath (File (exists = True ), argstr = "--intensity-image %s..." , madatory = True )
14- mask_image = File (exists = True , argstr = '--mask-image %s' )
23+ mask_image = File (exists = True , argstr = '--mask-image %s' , mandatory = True )
1524 initialization = traits .Enum ('Random' , 'Otsu' , 'KMeans' ,
1625 'PriorProbabilityImages' , 'PriorLabelImage' ,
1726 argstr = "%s" ,
@@ -42,6 +51,39 @@ class AtroposOutputSpec(TraitedSpec):
4251
4352
4453class Atropos (ANTSCommand ):
54+ """
55+ A finite mixture modeling (FMM) segmentation approach with possibilities for
56+ specifying prior constraints. These prior constraints include the specification
57+ of a prior label image, prior probability images (one for each class), and/or an
58+ MRF prior to enforce spatial smoothing of the labels. Similar algorithms include
59+ FAST and SPM.
60+
61+ Examples
62+ --------
63+
64+ >>> from nipype.interfaces.ants import Atropos
65+ >>> at = Atropos()
66+ >>> at.inputs.dimension = 3
67+ >>> at.inputs.intensity_images = 'structural.nii'
68+ >>> at.inputs.mask_image = 'mask.nii'
69+ >>> at.inputs.initialization = 'PriorProbabilityImages'
70+ >>> at.inputs.prior_probability_images = ['rc1s1.nii', 'rc1s2.nii']
71+ >>> at.inputs.number_of_tissue_classes = 2
72+ >>> at.inputs.prior_weighting = 0.8
73+ >>> at.inputs.prior_probability_threshold = 0.0000001
74+ >>> at.inputs.likelihood_model = 'Gaussian'
75+ >>> at.inputs.mrf_smoothing_factor = 0.2
76+ >>> at.inputs.mrf_radius = [1, 1, 1]
77+ >>> at.inputs.icm_use_synchronous_update = True
78+ >>> at.inputs.maximum_number_of_icm_terations = 1
79+ >>> at.inputs.n_iterations = 5
80+ >>> at.inputs.convergence_threshold = 0.000001
81+ >>> at.inputs.posterior_formulation = 'Socrates'
82+ >>> at.inputs.use_mixture_model_proportions = True
83+ >>> at.inputs.save_posteriors = True
84+ >>> at.cmdline
85+ 'Atropos --image-dimensionality 3 --icm [1,1] --initialization PriorProbabilityImages[2,priors/priorProbImages%02d.nii,0.8,1e-07] --intensity-image structural.nii --likelihood-model Gaussian --mask-image mask.nii --mrf [0.2,1x1x1] --convergence [5,1e-06] --output [structural_labeled.nii,POSTERIOR_%02d.nii.gz] --posterior-formulation Socrates[1]'
86+ """
4587 input_spec = AtroposInputSpec
4688 output_spec = AtroposOutputSpec
4789 _cmd = 'Atropos'
0 commit comments