algorithms.misc¶
AddCSVColumn¶
Short interface to add an extra column and field to a text file
Example¶
>>> from nipype.algorithms import misc
>>> addcol = misc.AddCSVColumn()
>>> addcol.inputs.in_file = 'degree.csv'
>>> addcol.inputs.extra_column_heading = 'group'
>>> addcol.inputs.extra_field = 'male'
>>> addcol.run() # doctest: +SKIP
Inputs:
[Mandatory]
in_file: (a pathlike object or string representing an existing file)
Input comma-separated value (CSV) files
[Optional]
out_file: (a pathlike object or string representing a file, nipype
default value: extra_heading.csv)
Output filename for merged CSV file
extra_column_heading: (a unicode string)
New heading to add for the added field.
extra_field: (a unicode string)
New field to add to each row. This is useful for saving the group or
subject ID in the file.
Outputs:
csv_file: (a pathlike object or string representing a file)
Output CSV file containing columns
AddCSVRow¶
Simple interface to add an extra row to a csv file
Note
Requires pandas
Warning
Multi-platform thread-safe execution is possible with lockfile. Please recall that (1) this module is alpha software; and (2) it should be installed for thread-safe writing. If lockfile is not installed, then the interface is not thread-safe.
Example¶
>>> from nipype.algorithms import misc
>>> addrow = misc.AddCSVRow()
>>> addrow.inputs.in_file = 'scores.csv'
>>> addrow.inputs.si = 0.74
>>> addrow.inputs.di = 0.93
>>> addrow.inputs.subject_id = 'S400'
>>> addrow.inputs.list_of_values = [ 0.4, 0.7, 0.3 ]
>>> addrow.run() # doctest: +SKIP
Inputs:
[Mandatory]
in_file: (a pathlike object or string representing a file)
Input comma-separated value (CSV) files
[Optional]
_outputs: (a dictionary with keys which are any value and with values
which are any value, nipype default value: {})
Outputs:
csv_file: (a pathlike object or string representing a file)
Output CSV file containing rows
AddNoise¶
Corrupts with noise the input image
Example¶
>>> from nipype.algorithms.misc import AddNoise
>>> noise = AddNoise()
>>> noise.inputs.in_file = 'T1.nii'
>>> noise.inputs.in_mask = 'mask.nii'
>>> noise.snr = 30.0
>>> noise.run() # doctest: +SKIP
Inputs:
[Mandatory]
in_file: (a pathlike object or string representing an existing file)
input image that will be corrupted with noise
dist: ('normal' or 'rician', nipype default value: normal)
desired noise distribution
bg_dist: ('normal' or 'rayleigh', nipype default value: normal)
desired noise distribution, currently only normal is implemented
[Optional]
in_mask: (a pathlike object or string representing an existing file)
input mask, voxels outside this mask will be considered background
snr: (a float, nipype default value: 10.0)
desired output SNR in dB
out_file: (a pathlike object or string representing a file)
desired output filename
Outputs:
out_file: (a pathlike object or string representing an existing file)
corrupted image
CalculateMedian¶
Computes an average of the median across one or more 4D Nifti timeseries
Example¶
>>> from nipype.algorithms.misc import CalculateMedian
>>> mean = CalculateMedian()
>>> mean.inputs.in_files = 'functional.nii'
>>> mean.run() # doctest: +SKIP
Inputs:
[Optional]
in_files: (a list of items which are a pathlike object or string
representing an existing file)
median_file: (a unicode string)
Filename prefix to store median images
median_per_file: (a boolean, nipype default value: False)
Calculate a median file for each Nifti
Outputs:
median_files: (a list of items which are a pathlike object or string
representing an existing file)
One or more median images
CalculateNormalizedMoments¶
Calculates moments of timeseries.
Example¶
>>> from nipype.algorithms import misc
>>> skew = misc.CalculateNormalizedMoments()
>>> skew.inputs.moment = 3
>>> skew.inputs.timeseries_file = 'timeseries.txt'
>>> skew.run() # doctest: +SKIP
Inputs:
[Mandatory]
timeseries_file: (a pathlike object or string representing an
existing file)
Text file with timeseries in columns and timepoints in rows,
whitespace separated
moment: (an integer (int or long))
Define which moment should be calculated, 3 for skewness, 4 for
kurtosis.
Outputs:
moments: (a list of items which are a float)
Moments
CreateNifti¶
Creates a nifti volume
Inputs:
[Mandatory]
data_file: (a pathlike object or string representing an existing
file)
ANALYZE img file
header_file: (a pathlike object or string representing an existing
file)
corresponding ANALYZE hdr file
[Optional]
affine: (an array)
affine transformation array
Outputs:
nifti_file: (a pathlike object or string representing an existing
file)
Distance¶
Calculates distance between two volumes.
Deprecated since version 0.10.0: Use nipype.algorithms.metrics.Distance
instead.
Inputs:
[Mandatory]
volume1: (a pathlike object or string representing an existing file)
Has to have the same dimensions as volume2.
volume2: (a pathlike object or string representing an existing file)
Has to have the same dimensions as volume1.
[Optional]
method: ('eucl_min' or 'eucl_cog' or 'eucl_mean' or 'eucl_wmean' or
'eucl_max', nipype default value: eucl_min)
""eucl_min": Euclidean distance between two closest points
"eucl_cog": mean Euclidian distance between the Center of Gravity of
volume1 and CoGs of volume2 "eucl_mean": mean Euclidian minimum
distance of all volume2 voxels to volume1 "eucl_wmean": mean
Euclidian minimum distance of all volume2 voxels to volume1 weighted
by their values "eucl_max": maximum over minimum Euclidian distances
of all volume2 voxels to volume1 (also known as the Hausdorff
distance)
mask_volume: (a pathlike object or string representing an existing
file)
calculate overlap only within this mask.
Outputs:
distance: (a float)
point1: (an array with shape (3,))
point2: (an array with shape (3,))
histogram: (a pathlike object or string representing a file)
FuzzyOverlap¶
Calculates various overlap measures between two maps, using a fuzzy definition.
Deprecated since version 0.10.0: Use nipype.algorithms.metrics.FuzzyOverlap
instead.
Inputs:
[Mandatory]
in_ref: (a list of items which are a pathlike object or string
representing an existing file)
Reference image. Requires the same dimensions as in_tst.
in_tst: (a list of items which are a pathlike object or string
representing an existing file)
Test image. Requires the same dimensions as in_ref.
[Optional]
in_mask: (a pathlike object or string representing an existing file)
calculate overlap only within mask
weighting: ('none' or 'volume' or 'squared_vol', nipype default
value: none)
'none': no class-overlap weighting is performed. 'volume': computed
class-overlaps are weighted by class volume 'squared_vol': computed
class-overlaps are weighted by the squared volume of the class
out_file: (a pathlike object or string representing a file, nipype
default value: diff.nii)
alternative name for resulting difference-map
Outputs:
jaccard: (a float)
Fuzzy Jaccard Index (fJI), all the classes
dice: (a float)
Fuzzy Dice Index (fDI), all the classes
class_fji: (a list of items which are a float)
Array containing the fJIs of each computed class
class_fdi: (a list of items which are a float)
Array containing the fDIs of each computed class
Gunzip¶
Gunzip wrapper
>>> from nipype.algorithms.misc import Gunzip
>>> gunzip = Gunzip(in_file='tpms_msk.nii.gz')
>>> res = gunzip.run()
>>> res.outputs.out_file # doctest: +ELLIPSIS
'.../tpms_msk.nii'
>>> os.unlink('tpms_msk.nii')
Inputs:
[Mandatory]
in_file: (a pathlike object or string representing an existing file)
Outputs:
out_file: (a pathlike object or string representing an existing file)
Matlab2CSV¶
Simple interface to save the components of a MATLAB .mat file as a text file with comma-separated values (CSVs).
CSV files are easily loaded in R, for use in statistical processing. For further information, see cran.r-project.org/doc/manuals/R-data.pdf
Example¶
>>> from nipype.algorithms import misc
>>> mat2csv = misc.Matlab2CSV()
>>> mat2csv.inputs.in_file = 'cmatrix.mat'
>>> mat2csv.run() # doctest: +SKIP
Inputs:
[Mandatory]
in_file: (a pathlike object or string representing an existing file)
Input MATLAB .mat file
[Optional]
reshape_matrix: (a boolean, nipype default value: True)
The output of this interface is meant for R, so matrices will be
reshaped to vectors by default.
Outputs:
csv_files: (a list of items which are a pathlike object or string
representing a file)
MergeCSVFiles¶
This interface is designed to facilitate data loading in the R environment. It takes input CSV files and merges them into a single CSV file. If provided, it will also incorporate column heading names into the resulting CSV file.
CSV files are easily loaded in R, for use in statistical processing. For further information, see cran.r-project.org/doc/manuals/R-data.pdf
Example¶
>>> from nipype.algorithms import misc
>>> mat2csv = misc.MergeCSVFiles()
>>> mat2csv.inputs.in_files = ['degree.mat','clustering.mat']
>>> mat2csv.inputs.column_headings = ['degree','clustering']
>>> mat2csv.run() # doctest: +SKIP
Inputs:
[Mandatory]
in_files: (a list of items which are a pathlike object or string
representing an existing file)
Input comma-separated value (CSV) files
[Optional]
out_file: (a pathlike object or string representing a file, nipype
default value: merged.csv)
Output filename for merged CSV file
column_headings: (a list of items which are a unicode string)
List of column headings to save in merged CSV file (must be equal to
number of input files). If left undefined, these will be pulled from
the input filenames.
row_headings: (a list of items which are a unicode string)
List of row headings to save in merged CSV file (must be equal to
number of rows in the input files).
row_heading_title: (a unicode string, nipype default value: label)
Column heading for the row headings added
extra_column_heading: (a unicode string)
New heading to add for the added field.
extra_field: (a unicode string)
New field to add to each row. This is useful for saving the group or
subject ID in the file.
Outputs:
csv_file: (a pathlike object or string representing a file)
Output CSV file containing columns
MergeROIs¶
Splits a 3D image in small chunks to enable parallel processing. ROIs keep time series structure in 4D images.
Example¶
>>> from nipype.algorithms import misc
>>> rois = misc.MergeROIs()
>>> rois.inputs.in_files = ['roi%02d.nii' % i for i in range(1, 6)]
>>> rois.inputs.in_reference = 'mask.nii'
>>> rois.inputs.in_index = ['roi%02d_idx.npz' % i for i in range(1, 6)]
>>> rois.run() # doctest: +SKIP
Inputs:
[Optional]
in_files: (a list of items which are a pathlike object or string
representing an existing file)
in_index: (a list of items which are a pathlike object or string
representing an existing file)
array keeping original locations
in_reference: (a pathlike object or string representing an existing
file)
reference file
Outputs:
merged_file: (a pathlike object or string representing an existing
file)
the recomposed file
ModifyAffine¶
Left multiplies the affine matrix with a specified values. Saves the volume as a nifti file.
Inputs:
[Mandatory]
volumes: (a list of items which are a pathlike object or string
representing an existing file)
volumes which affine matrices will be modified
[Optional]
transformation_matrix: (an array with shape (4, 4), nipype default
value: (<bound method AbstractArray.copy_default_value of
<traits.trait_numeric.Array object at 0x7fed173ff940>>,
(array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0.,
1., 0.], [0., 0., 0., 1.]]),), None))
transformation matrix that will be left multiplied by the affine
matrix
Outputs:
transformed_volumes: (a list of items which are a pathlike object or
string representing a file)
NormalizeProbabilityMapSet¶
Returns the input tissue probability maps (tpms, aka volume fractions) normalized to sum up 1.0 at each voxel within the mask.
Note
Please recall this is not a spatial normalization algorithm
Example¶
>>> from nipype.algorithms import misc
>>> normalize = misc.NormalizeProbabilityMapSet()
>>> normalize.inputs.in_files = [ 'tpm_00.nii.gz', 'tpm_01.nii.gz', 'tpm_02.nii.gz' ]
>>> normalize.inputs.in_mask = 'tpms_msk.nii.gz'
>>> normalize.run() # doctest: +SKIP
Inputs:
[Optional]
in_files: (a list of items which are a pathlike object or string
representing an existing file)
in_mask: (a pathlike object or string representing an existing file)
Masked voxels must sum up 1.0, 0.0 otherwise.
Outputs:
out_files: (a list of items which are a pathlike object or string
representing an existing file)
normalized maps
Overlap¶
Calculates various overlap measures between two maps.
Deprecated since version 0.10.0: Use nipype.algorithms.metrics.Overlap
instead.
Inputs:
[Mandatory]
volume1: (a pathlike object or string representing an existing file)
Has to have the same dimensions as volume2.
volume2: (a pathlike object or string representing an existing file)
Has to have the same dimensions as volume1.
bg_overlap: (a boolean, nipype default value: False)
consider zeros as a label
vol_units: ('voxel' or 'mm', nipype default value: voxel)
units for volumes
[Optional]
mask_volume: (a pathlike object or string representing an existing
file)
calculate overlap only within this mask.
out_file: (a pathlike object or string representing a file, nipype
default value: diff.nii)
weighting: ('none' or 'volume' or 'squared_vol', nipype default
value: none)
'none': no class-overlap weighting is performed. 'volume': computed
class-overlaps are weighted by class volume 'squared_vol': computed
class-overlaps are weighted by the squared volume of the class
Outputs:
jaccard: (a float)
averaged jaccard index
dice: (a float)
averaged dice index
roi_ji: (a list of items which are a float)
the Jaccard index (JI) per ROI
roi_di: (a list of items which are a float)
the Dice index (DI) per ROI
volume_difference: (a float)
averaged volume difference
roi_voldiff: (a list of items which are a float)
volume differences of ROIs
labels: (a list of items which are an integer (int or long))
detected labels
diff_file: (a pathlike object or string representing an existing
file)
error map of differences
PickAtlas¶
Returns ROI masks given an atlas and a list of labels. Supports dilation and left right masking (assuming the atlas is properly aligned).
Inputs:
[Mandatory]
atlas: (a pathlike object or string representing an existing file)
Location of the atlas that will be used.
labels: (an integer (int or long) or a list of items which are an
integer (int or long))
Labels of regions that will be included in the mask. Must be
compatible with the atlas used.
[Optional]
hemi: ('both' or 'left' or 'right', nipype default value: both)
Restrict the mask to only one hemisphere: left or right
dilation_size: (an integer (int or long), nipype default value: 0)
Defines how much the mask will be dilated (expanded in 3D).
output_file: (a pathlike object or string representing a file)
Where to store the output mask.
Outputs:
mask_file: (a pathlike object or string representing an existing
file)
output mask file
SimpleThreshold¶
Applies a threshold to input volumes
Inputs:
[Mandatory]
volumes: (a list of items which are a pathlike object or string
representing an existing file)
volumes to be thresholded
threshold: (a float)
volumes to be thresholdedeverything below this value will be set to
zero
Outputs:
thresholded_volumes: (a list of items which are a pathlike object or
string representing an existing file)
thresholded volumes
SplitROIs¶
Splits a 3D image in small chunks to enable parallel processing. ROIs keep time series structure in 4D images.
Example¶
>>> from nipype.algorithms import misc
>>> rois = misc.SplitROIs()
>>> rois.inputs.in_file = 'diffusion.nii'
>>> rois.inputs.in_mask = 'mask.nii'
>>> rois.run() # doctest: +SKIP
Inputs:
[Mandatory]
in_file: (a pathlike object or string representing an existing file)
file to be splitted
[Optional]
in_mask: (a pathlike object or string representing an existing file)
only process files inside mask
roi_size: (a tuple of the form: (an integer (int or long), an integer
(int or long), an integer (int or long)))
desired ROI size
Outputs:
out_files: (a list of items which are a pathlike object or string
representing an existing file)
the resulting ROIs
out_masks: (a list of items which are a pathlike object or string
representing an existing file)
a mask indicating valid values
out_index: (a list of items which are a pathlike object or string
representing an existing file)
arrays keeping original locations
TSNR¶
Deprecated since version 0.12.1: Use nipype.algorithms.confounds.TSNR
instead
Inputs:
[Mandatory]
in_file: (a list of items which are a pathlike object or string
representing an existing file)
realigned 4D file or a list of 3D files
[Optional]
regress_poly: (a long integer >= 1)
Remove polynomials
tsnr_file: (a pathlike object or string representing a file, nipype
default value: tsnr.nii.gz)
output tSNR file
mean_file: (a pathlike object or string representing a file, nipype
default value: mean.nii.gz)
output mean file
stddev_file: (a pathlike object or string representing a file, nipype
default value: stdev.nii.gz)
output tSNR file
detrended_file: (a pathlike object or string representing a file,
nipype default value: detrend.nii.gz)
input file after detrending
Outputs:
tsnr_file: (a pathlike object or string representing an existing
file)
tsnr image file
mean_file: (a pathlike object or string representing an existing
file)
mean image file
stddev_file: (a pathlike object or string representing an existing
file)
std dev image file
detrended_file: (a pathlike object or string representing a file)
detrended input file
calc_moments()
¶
Returns nth moment (3 for skewness, 4 for kurtosis) of timeseries (list of values; one per timeseries).
Keyword arguments: timeseries_file – text file with white space separated timepoints in rows
makefmtlist()
¶
maketypelist()
¶
matlab2csv()
¶
merge_csvs()
¶
normalize_tpms()
¶
Returns the input tissue probability maps (tpms, aka volume fractions) normalized to sum up 1.0 at each voxel within the mask.