Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
max_iterations = traits.List(
traits.Int,
argstr="-m %s",
sep="x",
desc=(
"maximum number of iterations (must be "
"list of integers in the form [J,K,L...]: "
"J = coarsest resolution iterations, K = "
"middle resolution interations, L = fine "
"resolution iterations"
),
)
bias_field_correction = traits.Bool(
argstr="-n 1", desc=("Applies bias field correction to moving " "image")
)
similarity_metric = traits.Enum(
"PR",
"CC",
"MI",
"MSQ",
argstr="-s %s",
desc=(
"Type of similartiy metric used for registration "
"(CC = cross correlation, MI = mutual information, "
"PR = probability mapping, MSQ = mean square difference)"
),
)
transformation_model = traits.Enum(
"GR",
"EL",
"SY",
"S2",
'mesh2pve -first T1.nii.gz surf1.vtk dwi.mif mesh2volume.nii.gz'
>>> m2p.run() # doctest: +SKIP
"""
_cmd = 'mesh2pve'
input_spec = Mesh2PVEInputSpec
output_spec = Mesh2PVEOutputSpec
def _list_outputs(self):
outputs = self.output_spec().get()
outputs['out_file'] = op.abspath(self.inputs.out_file)
return outputs
class Generate5ttInputSpec(MRTrix3BaseInputSpec):
algorithm = traits.Enum(
'fsl',
'gif',
'freesurfer',
argstr='%s',
position=-3,
mandatory=True,
desc='tissue segmentation algorithm')
in_file = File(
exists=True,
argstr='%s',
mandatory=True,
position=-2,
desc='input image')
out_file = File(
argstr='%s', mandatory=True, position=-1, desc='output image')
class EditTransformInputSpec(BaseInterfaceInputSpec):
transform_file = File(
exists=True, mandatory=True, desc='transform-parameter file, only 1')
reference_image = File(
exists=True,
desc=('set a new reference image to change the '
'target coordinate system.'))
interpolation = traits.Enum(
'cubic',
'linear',
'nearest',
usedefault=True,
argstr='FinalBSplineInterpolationOrder',
desc='set a new interpolator for transformation')
output_type = traits.Enum(
'float',
'unsigned char',
'unsigned short',
'short',
'unsigned long',
'long',
'double',
argstr='ResultImagePixelType',
desc='set a new output pixel type for resampled images')
output_format = traits.Enum(
'nii.gz',
'nii',
'mhd',
'hdr',
'vtk',
argstr='ResultImageFormat',
sampling_units = traits.Enum("mm", "frac", desc="sampling range type -- either 'mm' or 'frac'")
projection_stem = traits.String(mandatory=True, xor=["sampling_method"],
desc="stem for precomputed linear estimates and volume fractions")
smooth_vol = traits.Float(argstr="--fwhm %.3f", desc="smooth input volume (mm fwhm)")
smooth_surf = traits.Float(argstr="--surf-fwhm %.3f", desc="smooth output surface (mm fwhm)")
interp_method = traits.Enum("nearest", "trilinear", argstr="--interp %s",
desc="interpolation method")
cortex_mask = traits.Bool(argstr="--cortex", xor=["mask_label"],
desc="mask the target surface with hemi.cortex.label")
mask_label = File(exists=True, argstr="--mask %s", xor=["cortex_mask"],
desc="label file to mask output with")
float2int_method = traits.Enum("round", "tkregister", argstr="--float2int %s",
desc="method to convert reg matrix values (default is round)")
fix_tk_reg = traits.Bool(argstr="--fixtkreg", desc="make reg matrix round-compatible")
subject_id = traits.String(desc="subject id")
target_subject = traits.String(argstr="--trgsubject %s",
desc="sample to surface of different subject than source")
surf_reg = traits.Bool(argstr="--surfreg", requires=["target_subject"],
desc="use surface registration to target subject")
ico_order = traits.Int(argstr="--icoorder %d", requires=["target_subject"],
desc="icosahedron order when target_subject is 'ico'")
reshape = traits.Bool(argstr="--reshape", xor=["no_reshape"],
desc="reshape surface vector to fit in non-mgh format")
no_reshape = traits.Bool(argstr="--noreshape", xor=["reshape"],
desc="do not reshape surface vector (default)")
reshape_slices = traits.Int(argstr="--rf %d", desc="number of 'slices' for reshaping")
glob(os.path.join(os.getcwd(), outbase + ext)))
return outputs
class ImageMathsInputSpec(FSLCommandInputSpec):
in_file = File(exists=True, argstr="%s", mandatory=True, position=1)
in_file2 = File(exists=True, argstr="%s", position=3)
mask_file = File(exists=True, argstr='-mas %s',
desc='use (following image>0) to mask current image')
out_file = File(argstr="%s", position=-2, genfile=True, hash_files=False)
op_string = traits.Str(
argstr="%s",
position=2,
desc="string defining the operation, i. e. -add")
suffix = traits.Str(desc="out_file suffix")
out_data_type = traits.Enum(
'char',
'short',
'int',
'float',
'double',
'input',
argstr="-odt %s",
position=-1,
desc=("output datatype, one of (char, short, "
"int, float, double, input)"))
class ImageMathsOutputSpec(TraitedSpec):
out_file = File(exists=True)
outputs['class_fji'] = np.array(self._jaccards).astype(float).tolist()
outputs['class_fdi'] = self._dices.astype(float).tolist()
return outputs
class ErrorMapInputSpec(BaseInterfaceInputSpec):
in_ref = File(
exists=True,
mandatory=True,
desc="Reference image. Requires the same dimensions as in_tst.")
in_tst = File(
exists=True,
mandatory=True,
desc="Test image. Requires the same dimensions as in_ref.")
mask = File(exists=True, desc="calculate overlap only within this mask.")
metric = traits.Enum(
"sqeuclidean",
"euclidean",
desc='error map metric (as implemented in scipy cdist)',
usedefault=True,
mandatory=True)
out_map = File(desc="Name for the output file")
class ErrorMapOutputSpec(TraitedSpec):
out_map = File(exists=True, desc="resulting error map")
distance = traits.Float(desc="Average distance between volume 1 and 2")
class ErrorMap(BaseInterface):
""" Calculates the error (distance) map between two input volumes.
initializeWithDeformationField = File(desc="Initial deformation field vector image file name", exists=True, argstr="--initializeWithDeformationField %s")
initializeWithTransform = File(desc="Initial Transform filename", exists=True, argstr="--initializeWithTransform %s")
maskProcessingMode = traits.Enum("NOMASK", "ROIAUTO", "ROI", "BOBF", desc="What mode to use for using the masks: NOMASK|ROIAUTO|ROI|BOBF. If ROIAUTO is choosen, then the mask is implicitly defined using a otsu forground and hole filling algorithm. Where the Region Of Interest mode uses the masks to define what parts of the image should be used for computing the deformation field. Brain Only Background Fill uses the masks to pre-process the input images by clipping and filling in the background with a predefined value.", argstr="--maskProcessingMode %s")
fixedBinaryVolume = File(desc="Mask filename for desired region of interest in the Fixed image.", exists=True, argstr="--fixedBinaryVolume %s")
movingBinaryVolume = File(desc="Mask filename for desired region of interest in the Moving image.", exists=True, argstr="--movingBinaryVolume %s")
lowerThresholdForBOBF = traits.Int(desc="Lower threshold for performing BOBF", argstr="--lowerThresholdForBOBF %d")
upperThresholdForBOBF = traits.Int(desc="Upper threshold for performing BOBF", argstr="--upperThresholdForBOBF %d")
backgroundFillValue = traits.Int(desc="Replacement value to overwrite background when performing BOBF", argstr="--backgroundFillValue %d")
seedForBOBF = InputMultiPath(traits.Int, desc="coordinates in all 3 directions for Seed when performing BOBF", sep=",", argstr="--seedForBOBF %s")
neighborhoodForBOBF = InputMultiPath(traits.Int, desc="neighborhood in all 3 directions to be included when performing BOBF", sep=",", argstr="--neighborhoodForBOBF %s")
outputDisplacementFieldPrefix = traits.Str(desc="Displacement field filename prefix for writing separate x, y, and z component images", argstr="--outputDisplacementFieldPrefix %s")
outputCheckerboardVolume = traits.Either(traits.Bool, File(), hash_files=False, desc="Genete a checkerboard image volume between the fixedVolume and the deformed movingVolume.", argstr="--outputCheckerboardVolume %s")
checkerboardPatternSubdivisions = InputMultiPath(traits.Int, desc="Number of Checkerboard subdivisions in all 3 directions", sep=",", argstr="--checkerboardPatternSubdivisions %s")
outputNormalized = traits.Bool(desc="Flag to warp and write the normalized images to output. In normalized images the image values are fit-scaled to be between 0 and the maximum storage type value.", argstr="--outputNormalized ")
outputDebug = traits.Bool(desc="Flag to write debugging images after each step.", argstr="--outputDebug ")
gradient_type = traits.Enum("0", "1", "2", desc="Type of gradient used for computing the demons force (0 is symmetrized, 1 is fixed image, 2 is moving image)", argstr="--gradient_type %s")
upFieldSmoothing = traits.Float(desc="Smoothing sigma for the update field at each iteration", argstr="--upFieldSmoothing %f")
max_step_length = traits.Float(desc="Maximum length of an update vector (0: no restriction)", argstr="--max_step_length %f")
use_vanilla_dem = traits.Bool(desc="Run vanilla demons algorithm", argstr="--use_vanilla_dem ")
gui = traits.Bool(desc="Display intermediate image volumes for debugging", argstr="--gui ")
promptUser = traits.Bool(desc="Prompt the user to hit enter each time an image is sent to the DebugImageViewer", argstr="--promptUser ")
numberOfBCHApproximationTerms = traits.Int(desc="Number of terms in the BCH expansion", argstr="--numberOfBCHApproximationTerms %d")
numberOfThreads = traits.Int(desc="Explicitly specify the maximum number of threads to use.", argstr="--numberOfThreads %d")
class BRAINSDemonWarpOutputSpec(TraitedSpec):
outputVolume = File(desc="Required: output resampled moving image (will have the same physical space as the fixedVolume).", exists=True)
outputDeformationFieldVolume = File(desc="Output deformation field vector image (will have the same physical space as the fixedVolume).", exists=True)
outputCheckerboardVolume = File(desc="Genete a checkerboard image volume between the fixedVolume and the deformed movingVolume.", exists=True)
class BRAINSDemonWarp(SlicerCommandLine):
desc="treat warp field as relative: x' = x + w(x)")
datatype = traits.Enum('char', 'short', 'int', 'float', 'double',
argstr='--datatype=%s',
desc='Force output data type [char short int float double].')
supersample = traits.Bool(argstr='--super',
desc='intermediary supersampling of output, default is off')
superlevel = traits.Either(traits.Enum('a'), traits.Int,
argstr='--superlevel=%s',
desc="level of intermediary supersampling, a for 'automatic' or integer level. Default = 2")
premat = File(exists=True, argstr='--premat=%s',
desc='filename for pre-transform (affine matrix)')
postmat = File(exists=True, argstr='--postmat=%s',
desc='filename for post-transform (affine matrix)')
mask_file = File(exists=True, argstr='--mask=%s',
desc='filename for mask image (in reference space)')
interp = traits.Enum(
'nn', 'trilinear', 'sinc', 'spline', argstr='--interp=%s', position=-2,
desc='interpolation method')
class ApplyWarpOutputSpec(TraitedSpec):
out_file = File(exists=True, desc='Warped output file')
class ApplyWarp(FSLCommand):
"""Use FSL's applywarp to apply the results of a FNIRT registration
Examples
--------
>>> from nipype.interfaces import fsl
>>> from nipype.testing import example_data
>>> aw = fsl.ApplyWarp()
desc="Quantitative T1 Map (T1_Images) Image",
exists=True,
argstr="--inQuantitative %s")
inT1weighted = File(
desc="T1-weighted (UNI) Image",
exists=True,
argstr="--inT1weighted %s")
inBackground = traits.Enum(
"exponential",
"half-normal",
desc=
"Model distribution for background noise (default is half-normal, exponential is more stringent).",
argstr="--inBackground %s")
inSkip = traits.Enum(
"true", "false", desc="Skip zero values", argstr="--inSkip %s")
inMasking = traits.Enum(
"binary",
"proba",
desc=
"Whether to use a binary threshold or a weighted average based on the probability.",
argstr="--inMasking %s")
xPrefExt = traits.Enum(
"nrrd", desc="Output File Type", argstr="--xPrefExt %s")
outSignal = traits.Either(
traits.Bool,
File(),
hash_files=False,
desc="Signal Proba Image",
argstr="--outSignal_Proba %s")
outSignal2 = traits.Either(
traits.Bool,
File(),
argstr="--rot %.3f %.3f %.3f",
desc="rotation angles (in degrees) to apply to reg matrix")
apply_trans = traits.Tuple(traits.Float, traits.Float, traits.Float,
argstr="--trans %.3f %.3f %.3f",
desc="translation (in mm) to apply to reg matrix")
override_reg_subj = traits.Bool(argstr="--srcsubject %s", requires=["subject_id"],
desc="override the subject in the reg file header")
sampling_method = traits.Enum("point", "max", "average",
mandatory=True, argstr="%s", xor=["projection_stem"],
requires=["sampling_range", "sampling_units"],
desc="how to sample -- at a point or at the max or average over a range")
sampling_range = traits.Either(traits.Float,
traits.Tuple(traits.Float, traits.Float, traits.Float),
desc="sampling range - a point or a tuple of (min, max, step)")
sampling_units = traits.Enum("mm", "frac", desc="sampling range type -- either 'mm' or 'frac'")
projection_stem = traits.String(mandatory=True, xor=["sampling_method"],
desc="stem for precomputed linear estimates and volume fractions")
smooth_vol = traits.Float(argstr="--fwhm %.3f", desc="smooth input volume (mm fwhm)")
smooth_surf = traits.Float(argstr="--surf-fwhm %.3f", desc="smooth output surface (mm fwhm)")
interp_method = traits.Enum("nearest", "trilinear", argstr="--interp %s",
desc="interpolation method")
cortex_mask = traits.Bool(argstr="--cortex", xor=["mask_label"],
desc="mask the target surface with hemi.cortex.label")
mask_label = File(exists=True, argstr="--mask %s", xor=["cortex_mask"],
desc="label file to mask output with")
float2int_method = traits.Enum("round", "tkregister", argstr="--float2int %s",
desc="method to convert reg matrix values (default is round)")