NIPY logo
Home · Quickstart · Documentation · Citation · NiPy
Loading

Table Of Contents

Versions

ReleaseDevel
0.6.0pre-0.7
Download Github

Links

interfaces.io

DataGrabber

Code: file:///build/buildd/nipype-0.6.0/nipype/interfaces/io.py#L347

Generic datagrabber module that wraps around glob in an intelligent way for neuroimaging tasks to grab files

Attention

Doesn’t support directories currently

Examples

>>> from nipype.interfaces.io import DataGrabber

Pick all files from current directory

>>> dg = DataGrabber()
>>> dg.inputs.template = '*'

Pick file foo/foo.nii from current directory

>>> dg.inputs.template = '%s/%s.dcm'
>>> dg.inputs.template_args['outfiles']=[['dicomdir','123456-1-1.dcm']]

Same thing but with dynamically created fields

>>> dg = DataGrabber(infields=['arg1','arg2'])
>>> dg.inputs.template = '%s/%s.nii'
>>> dg.inputs.arg1 = 'foo'
>>> dg.inputs.arg2 = 'foo'

however this latter form can be used with iterables and iterfield in a pipeline.

Dynamically created, user-defined input and output fields

>>> dg = DataGrabber(infields=['sid'], outfields=['func','struct','ref'])
>>> dg.inputs.base_directory = '.'
>>> dg.inputs.template = '%s/%s.nii'
>>> dg.inputs.template_args['func'] = [['sid',['f3','f5']]]
>>> dg.inputs.template_args['struct'] = [['sid',['struct']]]
>>> dg.inputs.template_args['ref'] = [['sid','ref']]
>>> dg.inputs.sid = 's1'

Change the template only for output field struct. The rest use the general template

>>> dg.inputs.field_template = dict(struct='%s/struct.nii')
>>> dg.inputs.template_args['struct'] = [['sid']]

Inputs:

[Mandatory]
template: (a string)
        Layout used to get files. relative to base directory if defined

[Optional]
base_directory: (an existing directory name)
        Path to the base directory consisting of subject data.
ignore_exception: (a boolean, nipype default value: False)
        Print an error message instead of throwing an exception in case the interface fails to
        run
raise_on_empty: (a boolean, nipype default value: True)
        Generate exception if list is empty for a given field
sort_filelist: (a boolean, nipype default value: False)
        Sort the filelist that matches the template
template_args: (a dictionary with keys which are a string and with values which are a
         list of items which are a list of items which are any value)
        Information to plug into template

Outputs:

None

DataSink

Code: file:///build/buildd/nipype-0.6.0/nipype/interfaces/io.py#L141

Generic datasink module to store structured outputs

Primarily for use within a workflow. This interface allows arbitrary creation of input attributes. The names of these attributes define the directory structure to create for storage of the files or directories.

The attributes take the following form:

string[[.[@]]string[[.[@]]string]] ...

where parts between [] are optional.

An attribute such as contrasts.@con will create a ‘contrasts’ directory to store the results linked to the attribute. If the @ is left out, such as in ‘contrasts.con’, a subdirectory ‘con’ will be created under ‘contrasts’.

the general form of the output is:

'base_directory/container/parameterization/destloc/filename'

destloc = string[[.[@]]string[[.[@]]string]] and
filename comesfrom the input to the connect statement.

Warning

This is not a thread-safe node because it can write to a common shared location. It will not complain when it overwrites a file.

Note

If both substitutions and regexp_substitutions are used, then substitutions are applied first followed by regexp_substitutions.

This interface cannot be used in a MapNode as the inputs are defined only when the connect statement is executed.

Examples

>>> ds = DataSink()
>>> ds.inputs.base_directory = 'results_dir'
>>> ds.inputs.container = 'subject'
>>> ds.inputs.structural = 'structural.nii'
>>> setattr(ds.inputs, 'contrasts.@con', ['cont1.nii', 'cont2.nii'])
>>> setattr(ds.inputs, 'contrasts.alt', ['cont1a.nii', 'cont2a.nii'])
>>> ds.run() 

To use DataSink in a MapNode, its inputs have to be defined at the time the interface is created.

>>> ds = DataSink(infields=['contasts.@con'])
>>> ds.inputs.base_directory = 'results_dir'
>>> ds.inputs.container = 'subject'
>>> ds.inputs.structural = 'structural.nii'
>>> setattr(ds.inputs, 'contrasts.@con', ['cont1.nii', 'cont2.nii'])
>>> setattr(ds.inputs, 'contrasts.alt', ['cont1a.nii', 'cont2a.nii'])
>>> ds.run() 

Inputs:

[Mandatory]

[Optional]
_outputs: (a dictionary with keys which are a string and with values which are any value,
         nipype default value: {})
base_directory: (a directory name)
        Path to the base directory for storing data.
container: (a string)
        Folder within base directory in which to store output
ignore_exception: (a boolean, nipype default value: False)
        Print an error message instead of throwing an exception in case the interface fails to
        run
parameterization: (a boolean, nipype default value: True)
        store output in parametrized structure
regexp_substitutions: (a tuple of the form: (a string, a string))
        List of 2-tuples reflecting a pair of a Python regexp pattern and a replacement string.
        Invoked after string `substitutions`
remove_dest_dir: (a boolean, nipype default value: False)
        remove dest directory when copying dirs
strip_dir: (a directory name)
        path to strip out of filename
substitutions: (a tuple of the form: (a string, a string))
        List of 2-tuples reflecting string to substitute and string to replace it with

Outputs:

None

FreeSurferSource

Code: file:///build/buildd/nipype-0.6.0/nipype/interfaces/io.py#L593

Generates freesurfer subject info from their directories

Examples

>>> from nipype.interfaces.io import FreeSurferSource
>>> fs = FreeSurferSource()
>>> #fs.inputs.subjects_dir = '.'
>>> fs.inputs.subject_id = 'PWS04'
>>> res = fs.run() 
>>> fs.inputs.hemi = 'lh'
>>> res = fs.run() 

Inputs:

[Mandatory]
subject_id: (a string)
        Subject name for whom to retrieve data
subjects_dir: (a directory name)
        Freesurfer subjects directory.

[Optional]
hemi: ('both' or 'lh' or 'rh', nipype default value: both)
        Selects hemisphere specific outputs
ignore_exception: (a boolean, nipype default value: False)
        Print an error message instead of throwing an exception in case the interface fails to
        run

Outputs:

BA_stats: (an existing file name)
        Brodmann Area statistics files
T1: (an existing file name)
        Intensity normalized whole-head volume
annot: (an existing file name)
        Surface annotation files
aparc_a2009s_stats: (an existing file name)
        Aparc a2009s parcellation statistics files
aparc_aseg: (an existing file name)
        Aparc parcellation projected into aseg volume
aparc_stats: (an existing file name)
        Aparc parcellation statistics files
aseg: (an existing file name)
        Volumetric map of regions from automatic segmentation
aseg_stats: (an existing file name)
        Automated segmentation statistics file
brain: (an existing file name)
        Intensity normalized brain-only volume
brainmask: (an existing file name)
        Skull-stripped (brain-only) volume
curv: (an existing file name)
        Maps of surface curvature
curv_stats: (an existing file name)
        Curvature statistics files
entorhinal_exvivo_stats: (an existing file name)
        Entorhinal exvivo statistics files
filled: (an existing file name)
        Subcortical mass volume
inflated: (an existing file name)
        Inflated surface meshes
label: (an existing file name)
        Volume and surface label files
norm: (an existing file name)
        Normalized skull-stripped volume
nu: (an existing file name)
        Non-uniformity corrected whole-head volume
orig: (an existing file name)
        Base image conformed to Freesurfer space
pial: (an existing file name)
        Gray matter/pia mater surface meshes
rawavg: (an existing file name)
        Volume formed by averaging input images
ribbon: (an existing file name)
        Volumetric maps of cortical ribbons
smoothwm: (an existing file name)
        Smoothed original surface meshes
sphere: (an existing file name)
        Spherical surface meshes
sphere_reg: (an existing file name)
        Spherical registration file
sulc: (an existing file name)
        Surface maps of sulcal depth
thickness: (an existing file name)
        Surface maps of cortical thickness
volume: (an existing file name)
        Surface maps of cortical volume
white: (an existing file name)
        White/gray matter surface meshes
wm: (an existing file name)
        Segmented white-matter volume
wmparc: (an existing file name)
        Aparc parcellation projected into subcortical white matter
wmparc_stats: (an existing file name)
        White matter parcellation statistics file

IOBase

Code: file:///build/buildd/nipype-0.6.0/nipype/interfaces/io.py#L96

Inputs:

[Mandatory]

[Optional]
ignore_exception: (a boolean, nipype default value: False)
        Print an error message instead of throwing an exception in case the interface fails to
        run

Outputs:

None

MySQLSink

Code: file:///build/buildd/nipype-0.6.0/nipype/interfaces/io.py#L1176

Very simple frontend for storing values into MySQL database.

Examples

>>> sql = MySQLSink(input_names=['subject_id', 'some_measurement'])
>>> sql.inputs.database_name = 'my_database'
>>> sql.inputs.table_name = 'experiment_results'
>>> sql.inputs.username = 'root'
>>> sql.inputs.password = 'secret'
>>> sql.inputs.subject_id = 's1'
>>> sql.inputs.some_measurement = 11.4
>>> sql.run() 

Inputs:

[Mandatory]
config: (a file name)
        MySQL Options File (same format as my.cnf)
        mutually_exclusive: host
database_name: (a string)
        Otherwise known as the schema name
host: (a string, nipype default value: localhost)
        mutually_exclusive: config
        requires: username, password
table_name: (a string)

[Optional]
ignore_exception: (a boolean, nipype default value: False)
        Print an error message instead of throwing an exception in case the interface fails to
        run
password: (a string)
username: (a string)

Outputs:

None

SQLiteSink

Code: file:///build/buildd/nipype-0.6.0/nipype/interfaces/io.py#L1122

Very simple frontend for storing values into SQLite database.

Warning

This is not a thread-safe node because it can write to a common shared location. It will not complain when it overwrites a file.

Examples

>>> sql = SQLiteSink(input_names=['subject_id', 'some_measurement'])
>>> sql.inputs.database_file = 'my_database.db'
>>> sql.inputs.table_name = 'experiment_results'
>>> sql.inputs.subject_id = 's1'
>>> sql.inputs.some_measurement = 11.4
>>> sql.run() 

Inputs:

[Mandatory]
database_file: (an existing file name)
table_name: (a string)

[Optional]
ignore_exception: (a boolean, nipype default value: False)
        Print an error message instead of throwing an exception in case the interface fails to
        run

Outputs:

None

XNATSink

Code: file:///build/buildd/nipype-0.6.0/nipype/interfaces/io.py#L917

Generic datasink module that takes a directory containing a list of nifti files and provides a set of structured output fields.

Inputs:

[Mandatory]
config: (a file name)
        mutually_exclusive: server
experiment_id: (a string)
        Set to workflow name
project_id: (a string)
        Project in which to store the outputs
server: (a string)
        mutually_exclusive: config
        requires: user, pwd
subject_id: (a string)
        Set to subject id

[Optional]
_outputs: (a dictionary with keys which are a string and with values which are any value,
         nipype default value: {})
cache_dir: (a directory name)
ignore_exception: (a boolean, nipype default value: False)
        Print an error message instead of throwing an exception in case the interface fails to
        run
pwd: (a string)
user: (a string)

Outputs:

None

XNATSource

Code: file:///build/buildd/nipype-0.6.0/nipype/interfaces/io.py#L677

Generic XNATSource module that wraps around the pyxnat module in an intelligent way for neuroimaging tasks to grab files and data from an XNAT server.

Examples

>>> from nipype.interfaces.io import XNATSource

Pick all files from current directory

>>> dg = XNATSource()
>>> dg.inputs.template = '*'
>>> dg = XNATSource(infields=['project','subject','experiment','assessor','inout'])
>>> dg.inputs.query_template = '/projects/%s/subjects/%s/experiments/%s'                    '/assessors/%s/%s_resources/files'
>>> dg.inputs.project = 'IMAGEN'
>>> dg.inputs.subject = 'IMAGEN_000000001274'
>>> dg.inputs.experiment = '*SessionA*'
>>> dg.inputs.assessor = '*ADNI_MPRAGE_nii'
>>> dg.inputs.inout = 'out'
>>> dg = XNATSource(infields=['sid'],outfields=['struct','func'])
>>> dg.inputs.query_template = '/projects/IMAGEN/subjects/%s/experiments/*SessionA*'                    '/assessors/*%s_nii/out_resources/files'
>>> dg.inputs.query_template_args['struct'] = [['sid','ADNI_MPRAGE']]
>>> dg.inputs.query_template_args['func'] = [['sid','EPI_faces']]
>>> dg.inputs.sid = 'IMAGEN_000000001274'

Inputs:

[Mandatory]
config: (a file name)
        mutually_exclusive: server
query_template: (a string)
        Layout used to get files. Relative to base directory if defined
server: (a string)
        mutually_exclusive: config
        requires: user, pwd

[Optional]
cache_dir: (a directory name)
        Cache directory
ignore_exception: (a boolean, nipype default value: False)
        Print an error message instead of throwing an exception in case the interface fails to
        run
pwd: (a string)
query_template_args: (a dictionary with keys which are a string and with values which are
         a list of items which are a list of items which are any value, nipype default value:
         {'outfiles': []})
        Information to plug into template
user: (a string)

Outputs:

None

add_traits()

Code: file:///build/buildd/nipype-0.6.0/nipype/interfaces/io.py#L79

Add traits to a traited class.

All traits are set to Undefined by default

copytree()

Code: file:///build/buildd/nipype-0.6.0/nipype/interfaces/io.py#L45

Recursively copy a directory tree using nipype.utils.filemanip.copyfile()

This is not a thread-safe routine. However, in the case of creating new directories, it checks to see if a particular directory has already been created by another process.