nipype.interfaces.camino.connectivity module

Conmat

Link to code

Bases: CommandLine

Wrapped executable: conmat.

Creates a connectivity matrix using a 3D label image (the target image) and a set of streamlines. The connectivity matrix records how many stream- lines connect each pair of targets, and optionally the mean tractwise statistic (eg tract-averaged FA, or length).

The output is a comma separated variable file or files. The first row of the output matrix is label names. Label names may be defined by the user, otherwise they are assigned based on label intensity.

Starting from the seed point, we move along the streamline until we find a point in a labeled region. This is done in both directions from the seed point. Streamlines are counted if they connect two target regions, one on either side of the seed point. Only the labeled region closest to the seed is counted, for example if the input contains two streamlines:

1: A-----B------SEED---C
2: A--------SEED-----------

then the output would be

A,B,C
0,0,0
0,0,1
0,1,0

There are zero connections to A because in streamline 1, the connection to B is closer to the seed than the connection to A, and in streamline 2 there is no region reached in the other direction.

The connected target regions can have the same label, as long as the seed point is outside of the labeled region and both ends connect to the same label (which may be in different locations). Therefore this is allowed:

A------SEED-------A

Such fibers will add to the diagonal elements of the matrix. To remove these entries, run procstreamlines with -endpointfile before running conmat.

If the seed point is inside a labeled region, it counts as one end of the connection. So

----[SEED inside A]---------B

counts as a connection between A and B, while

C----[SEED inside A]---------B

counts as a connection between A and C, because C is closer to the seed point.

In all cases, distance to the seed point is defined along the streamline path.

Examples

To create a standard connectivity matrix based on streamline counts.

>>> import nipype.interfaces.camino as cam
>>> conmat = cam.Conmat()
>>> conmat.inputs.in_file = 'tracts.Bdouble'
>>> conmat.inputs.target_file = 'atlas.nii.gz'
>>> conmat.run()        

To create a standard connectivity matrix and mean tractwise FA statistics.

>>> import nipype.interfaces.camino as cam
>>> conmat = cam.Conmat()
>>> conmat.inputs.in_file = 'tracts.Bdouble'
>>> conmat.inputs.target_file = 'atlas.nii.gz'
>>> conmat.inputs.scalar_file = 'fa.nii.gz'
>>> conmat.tract_stat         = 'mean'
>>> conmat.run()        
Mandatory Inputs:
  • in_file (a pathlike object or string representing an existing file) – Streamlines as generated by the Track interface. Maps to a command-line argument: -inputfile %s.

  • target_file (a pathlike object or string representing an existing file) – An image containing targets, as used in ProcStreamlines interface. Maps to a command-line argument: -targetfile %s.

Optional Inputs:
  • args (a string) – Additional parameters to the command. Maps to a command-line argument: %s.

  • environ (a dictionary with keys which are a bytes or None or a value of class ‘str’ and with values which are a bytes or None or a value of class ‘str’) – Environment variables. (Nipype default value: {})

  • output_root (a pathlike object or string representing a file) – Filename root prepended onto the names of the output files. The extension will be determined from the input. Maps to a command-line argument: -outputroot %s.

  • scalar_file (a pathlike object or string representing an existing file) – Optional scalar file for computing tract-based statistics. Must be in the same space as the target file. Maps to a command-line argument: -scalarfile %s. Requires inputs: tract_stat.

  • targetname_file (a pathlike object or string representing an existing file) – Optional names of targets. This file should contain one entry per line, with the target intensity followed by the name, separated by white space. For example: 1 some_brain_region 2 some_other_region These names will be used in the output. The names themselves should not contain spaces or commas. The labels may be in any order but the output matrices will be ordered by label intensity. Maps to a command-line argument: -targetnamefile %s.

  • tract_prop (‘length’ or ‘endpointsep’) – Tract property average to compute in the connectivity matrix. See TractStats for details. Maps to a command-line argument: -tractstat %s. Mutually exclusive with inputs: tract_stat.

  • tract_stat (‘mean’ or ‘min’ or ‘max’ or ‘sum’ or ‘median’ or ‘var’) – Tract statistic to use. See TractStats for other options. Maps to a command-line argument: -tractstat %s. Mutually exclusive with inputs: tract_prop. Requires inputs: scalar_file.

Outputs:
  • conmat_sc (a pathlike object or string representing an existing file) – Connectivity matrix in CSV file.

  • conmat_ts (a pathlike object or string representing a file) – Tract statistics in CSV file.