Home · Quickstart · Documentation · Citation · NiPy

# interfaces.cmtk.cmtk

## CreateMatrix

Link to code

Performs connectivity mapping and outputs the result as a NetworkX graph and a Matlab matrix

### Example

    >>> import nipype.interfaces.cmtk as cmtk
    >>> conmap = cmtk.CreateMatrix()
    >>> conmap.roi_file = 'fsLUT_aparc+aseg.nii'
    >>> conmap.tract_file = 'fibers.trk'
    >>> conmap.run()

Inputs:

    [Mandatory]
    resolution_network_file: (an existing file name)
            Parcellation files from Connectome Mapping Toolkit
    roi_file: (an existing file name)
            Freesurfer aparc+aseg file
    tract_file: (an existing file name)
            Trackvis tract file

    [Optional]
    count_region_intersections: (a boolean, nipype default value: False)
            Counts all of the fiber-region traversals in the connectivity matrix (requires
            significantly more computational time)
    out_endpoint_array_name: (a file name)
            Name for the generated endpoint arrays
    out_fiber_length_std_matrix_mat_file: (a file name)
            Matlab matrix describing the deviation in fiber lengths connecting each node.
    out_intersection_matrix_mat_file: (a file name)
            Matlab connectivity matrix if all region/fiber intersections are counted.
    out_matrix_file: (a file name)
            NetworkX graph describing the connectivity
    out_matrix_mat_file: (a file name, nipype default value: cmatrix.mat)
            Matlab matrix describing the connectivity
    out_mean_fiber_length_matrix_mat_file: (a file name)
            Matlab matrix describing the mean fiber lengths between each node.
    out_median_fiber_length_matrix_mat_file: (a file name)
            Matlab matrix describing the mean fiber lengths between each node.

Outputs:

    endpoint_file: (an existing file name)
            Saved Numpy array with the endpoints of each fiber
    endpoint_file_mm: (an existing file name)
            Saved Numpy array with the endpoints of each fiber (in millimeters)
    fiber_label_file: (an existing file name)
            Saved Numpy array with the labels for each fiber
    fiber_labels_noorphans: (an existing file name)
            Saved Numpy array with the labels for each non-orphan fiber
    fiber_length_file: (an existing file name)
            Saved Numpy array with the lengths of each fiber
    fiber_length_std_matrix_mat_file: (an existing file name)
            Matlab matrix describing the deviation in fiber lengths connecting each node.
    filtered_tractographies: (an existing file name)
    filtered_tractography: (an existing file name)
            TrackVis file containing only those fibers originate in one and terminate in another
            region
    filtered_tractography_by_intersections: (an existing file name)
            TrackVis file containing all fibers which connect two regions
    intersection_matrix_file: (an existing file name)
            NetworkX graph describing the connectivity
    intersection_matrix_mat_file: (an existing file name)
            Matlab matrix describing the mean fiber lengths between each node.
    matlab_matrix_files: (an existing file name)
    matrix_file: (an existing file name)
            NetworkX graph describing the connectivity
    matrix_files: (an existing file name)
    matrix_mat_file: (an existing file name)
            Matlab matrix describing the connectivity
    mean_fiber_length_matrix_mat_file: (an existing file name)
            Matlab matrix describing the mean fiber lengths between each node.
    median_fiber_length_matrix_mat_file: (an existing file name)
            Matlab matrix describing the median fiber lengths between each node.
    stats_file: (an existing file name)
            Saved Matlab .mat file with the number of fibers saved at each stage

## CreateNodes

Link to code

Generates a NetworkX graph containing nodes at the centroid of each region in the input ROI file. Node data is added from the resolution network file.

### Example

    >>> import nipype.interfaces.cmtk as cmtk
    >>> mknode = cmtk.CreateNodes()
    >>> mknode.inputs.roi_file = 'ROI_scale500.nii.gz'
    >>> mknode.run()

Inputs:

    [Mandatory]
    resolution_network_file: (an existing file name)
            Parcellation file from Connectome Mapping Toolkit
    roi_file: (an existing file name)
            Region of interest file

    [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
    out_filename: (a file name, nipype default value: nodenetwork.pck)
            Output gpickled network with the nodes defined.

Outputs:

    node_network: (a file name)
            Output gpickled network with the nodes defined.

## ROIGen

Link to code

Generates a ROI file for connectivity mapping and a dictionary file containing relevant node information

### Example

    >>> import nipype.interfaces.cmtk as cmtk
    >>> rg = cmtk.ROIGen()
    >>> rg.inputs.aparc_aseg_file = 'aparc+aseg.nii'
    >>> rg.inputs.use_freesurfer_LUT = True
    >>> rg.inputs.freesurfer_dir = '/usr/local/freesurfer'
    >>> rg.run()

The label dictionary is written to disk using Pickle. Resulting data can be loaded using:

    >>> file = open("FreeSurferColorLUT_adapted_aparc+aseg_out.pck", "r")
    >>> file = open("fsLUT_aparc+aseg.pck", "r")
    >>> labelDict = pickle.load(file)
    >>> print labelDict

Inputs:

    [Mandatory]
    aparc_aseg_file: (an existing file name)
            Freesurfer aparc+aseg file

    [Optional]
    LUT_file: (an existing file name)
            Custom lookup table (cf. FreeSurferColorLUT.txt)
            mutually_exclusive: use_freesurfer_LUT
    freesurfer_dir: (a directory name)
            Freesurfer main directory
            requires: use_freesurfer_LUT
    ignore_exception: (a boolean, nipype default value: False)
            Print an error message instead of throwing an exception in case the interface fails to
            run
    out_dict_file: (a file name)
            Label dictionary saved in Pickle format
    out_roi_file: (a file name)
            Region of Interest file for connectivity mapping
    use_freesurfer_LUT: (a boolean)
            Boolean value; Set to True to use default Freesurfer LUT, False for custom LUT
            mutually_exclusive: LUT_file

Outputs:

    dict_file: (a file name)
            Label dictionary saved in Pickle format
    roi_file: (a file name)
            Region of Interest file for connectivity mapping

## `cmat()`

Link to code

Create the connection matrix for each resolution using fibers and ROIs.

## `create_allpoints_cmat()`

Link to code

Create the intersection arrays for each fiber

## `create_endpoints_array()`

Link to code

Create the endpoints arrays for each fiber Parameters ~~~~~~~~~~ fib: the fibers data voxelSize: 3-tuple containing the voxel size of the ROI image Returns ~~~~~~~ (endpoints: matrix of size [#fibers, 2, 3] containing for each fiber the index of its first and last point in the voxelSize volume endpointsmm) : endpoints in milimeter coordinates

## `create_nodes()`

Link to code

## `get_connectivity_matrix()`

Link to code

## `get_rois_crossed()`

Link to code

## `length()`

Link to code

Euclidean length of track line

### Parameters

xyz : array-like shape (N,3)
  array representing x,y,z of N points in a track
along : bool, optional
  If True, return array giving cumulative length along track, otherwise (default) return scalar giving total length.

### Returns

L : scalar or array shape (N-1,)
  scalar in case of along == False, giving total length, array if along == True, giving cumulative lengths.

### Examples

    >>> xyz = np.array([[1,1,1],[2,3,4],[0,0,0]])
    >>> expected_lens = np.sqrt([1+2**2+3**2, 2**2+3**2+4**2])
    >>> length(xyz) == expected_lens.sum()
    True
    >>> len_along = length(xyz, along=True)
    >>> np.allclose(len_along, expected_lens.cumsum())
    True
    >>> length([])
    ~
    >>> length([[1, 2, 3]])
    ~
    >>> length([], along=True)
    array([0])

## `save_fibers()`

Link to code

Stores a new trackvis file fname using only given indices