Fsl probtrackx manual
Above we recreated known white matter tracts by guiding the streamlines using masks. Here we will look at estimating the connectivity between brain matter regions by counting the number of streamlines connecting them. Whenever, you work with these streamline counts keep in mind what we are actually measuring is the robustness of that connection against noise, which will be affected by confounds such as tract length or the presence of crossing fibres.
Connectivity analysis will also be affected by false positive streamlines i. Here the goal is to measure the connectivity between N regions of interest.
In the Fdt GUI this can be set up by:. Run cat on this text file to see its contents. The file contains an NxN matrix quantifying the number of streamlines between the selected ROIs that can be compared across subjects.
Running such an analysis would typically require creating custom python or matlab scripts. In this analysis we simply add up the streamlines connecting with any voxel in the region of interest. To be able to segment a region of interest, we need to consider the connectivities from individual voxels within each ROI.
In the following sub-sections we will explore two ways of doing so. Here we will segment the thalamus based on the connectivity with the cortex. To do this we will need to estimate for every voxel in the thalamus how strongly it is connected with a number of pre-defined ROIs in the cortex. From each voxel in this mask we are going to measure the number of streamlines connecting to the cortical regions, which are defined by the other masks.
To run this analysis, in the Fdt GUI:. The objective of this type of analysis is to ask the following question: For each location in the seed mask, what is the relative probability of connection to each of my target masks?
The output is therefore a single image for each target mask in which only voxels within the seed mask contain data. At each voxel within the seed mask the voxel value is the number of streamlines which reached this target mask from this seed voxel. Compare the spatial distributions and probabilities of connection from different thalamic voxels to different cortical target zones.
Do you see any overlap between connectivity probabilities of the different targets in the seed region? What do you think this means? Something like:. You may want to change the colour map to something like Random. In both cases above the connectivity from the seed region was measured based on known regions of interest. For some applications, a more precise measure of connectivity might be needed, where we consider which voxels within one ROI connect with which voxels in another ROI.
If both ROIs cover the complete gray matter region the resulting matrix will contain the connectivity between each pair of gray matter voxels i. In probtrackX there are three different options to generate such a connetome.
Which one you need will depend on whether you want the ROIs between which you will calculate the dense connectome to also function as seed matrix matrix1 or matrix2 or whether you want a different seed mask matrix3 :. Here we will just run a simple example, which could be a first step in segmenting the thalamus in a more data-driven way than above.
For this we will compute the connectivity between each voxel in the thalamus and each other voxel in the brain. In the Fdt GUI:. Check the contents of the output directory using ls.
A full matrix storing the connectivity between each voxel in the thalamus with each voxel in the rest of the brain would be very big, so here only a sparse representation is stored. In short, each voxel in the thalamus i. This output gives us for each voxel in the thalamus the connectivity "fingerprint" with the rest of the brain. As could be seen in the lecture for the medial frontal cortex, this fingerprint can be used to segment the region by clustering these connectivity "fingerprints".
This analysis would again require custom matlab or python code and is hence beyond the scope of this practical. If you have made it through the practical so far, you have explored many of the different ways to run tractography in probtrackX.
You can now continue with the more advanced topics below or if you prefer you can continue exploring the options above by reconstructing different white matter tracts or computing the connectivity profile of your favorite brain region. Model 2 should be better suited to deal with multi-shell data, as the apparent diffusion coefficient can change with the b-value.
Using model 2 tends to reduce overfitting i. This loads the fitted orientations using model 1 single diffusion coefficient , as well as the volume fractions of the secondary fibre orientation for both models 1 and 2. Model 1 should be displayed in Blue and model 2 in Red-Yellow.
The first thing that is immediately visible is that many more voxels survive a 0. From the command line this is enabled by providing a text file with the voxel coordinates to the -x,--seed flag and setting the --simple flag. Single mask : This is the most common setting, where the seed region is defined by a user-provided mask. Streamlines are seeded from each voxel in the mask. This mask can either be a volumetric i.
On the command line this is achieved by passing on a NIFTI or surface filename to the -x,--seed flag Multiple mask : Streamlines are seeded from each of the masks. This can be used to generate streamlines from both a volumetric and surface mask or to produce an ROIxROI connectivity matrix. All the masks have to be in the same space and surface masks need to use the same encoding. If the seed is a single voxel or a surface, a reference image will also need to be provided --seedref on the command line.
By default this is set to as we are confident that convergence is reached with this number of samples. However, reducing this number will speed up processing and can be useful for preliminary or exploratory analyses. By default each streamline will be initialised in the centre of each voxel or at the surface vertex location. Invalid streamlines are not counted when producing the various probtrackX outputs. These can be set in the GUI Data tab or using the --waypoints flag. If more than one mask is set, then by default probtrackx will perform an AND operation.
In this case, streamlines are retained if they intersect at least one of the waypoint masks. In the GUI use the add and remove buttons to make a list of waypoint masks.
With this option only streamlines are accepted that cross the waypoint mask in the order provided in the GUI or text file. Any streamline that reaches a waypoint out of order is terminated and rejected.
This is only used when the waypoint condition is set to AND. Exclusion mask If an exclusion mask is to be used then check the box in the Data tab of the GUI and use the browse button to locate the mask file or use the --avoid flag on the command line. Pathways will be discarded if they enter the exclusion mask. For example, an exclusion mask of the midline will remove pathways that cross into the other hemisphere.
Termination mask If a termination mask is to be used then check the box and use the browse button to locate the mask file or use the --stop flag on the command line.
Pathways will be terminated as soon as they enter the termination mask. The difference between an exclusion and a termination mask is that in the latter case, the tract is stopped at the target mask, but included in the calculation of the connectivity distribution, while in the former case, the tract is completely discarded.
If you want to only terminate the streamlines once they leave the provided mask use the --wtstop mask instead. This can be useful to track streamlines through some termination mask without allowing them to leave. Streamlines that are seeded within the --wtstop mask are allowed to leave once without being terminated immediately. The maximum number of steps is reached. By default, samples are terminated when they have travelled steps.
Using the default step length of 0. The curvature of the next step is too high compared with the previous one. We limit how sharply pathways can turn in order to exclude implausible pathways.
This number is the cosine of the minimum allowable angle between two steps. By default this is set to 0. The streamline loops back on itself -i. It can be activated on the command line using -l,--loopcheck. When terminated, the next step is to determine whether the streamline is valid i. Streamlines are invalid if one of the following is true: The streamline reached the exclusion mask.
The waypoint constraints were not met see above for the various options The total streamline length is shorter than some user-defined threshold. This minimum threshold is disabled by default i.
None of the target regions were reached when using the --network flag to compute an ROIxROI connectivity matrix see below. Masks in non-diffusion space All masks must be provided in the same space i. The output files will be produced in this same space. If the transformation to the diffusion space is linear e.
For non-linear transforms e. Adjust streamlines path Here we list some options available to adjust the path streamlines take rather than seeding, terminating, and rejecting them. These are available in the Advanced Options section in the Options tab of the GUI or with the command line flags listed: Use modified Euler streamlining --modeuler : Use modified Euler integration as opposed to simple Euler for computing probabilistic streamlines.
More accurate but slower. Step length -S,--nsteps ; default 0. This setting may be adjusted from default e. ProbtrackX outputs The seed, termination, waypoint, and exclusion masks defined above determine which streamlines will be counted in the probtrackX output files.
Here we will discuss the various output files available. A successful run of probtrackX will produce the following files in the output directory: probtrackx. This file can be useful to rerun the same or a slightly altered version of probtrackX. To recover this GUI setup, type Fdt fdt. This file is only produced if run from the GUI. All probtrackX outputs count the number of streamlines in some way. If this option is checked, the connectivity distribution is the expected length of the pathways that cross each voxel times the number of samples that cross it.
In addition to counting the number of streamlines, the average length of the streamlines up to that point can also be stored by setting the --ompl flag in addition to setting at least one of the output listed below.
Streamline density map This is the default output when running from the GUI activate using the --opd flag in the probtrackX output. This can be thought of as quantifying the connectivity from the seed region. XTRACT leverages probtrackX and a set of carefully curated masks to reconstruct many of the major white matter tracts. On the command line the --network flag should also be added to produce the NxN matrix. Note that adding the --network flag will cause any streamlines that are seeded in one ROI and do not reach any other ROIs to be marked as invalid.
This will alter any other probtrackX output produced. In the example on the right, seed voxels in the thalamus are classified according to the probability of connection to different cortical target masks. In the GUI this output is created by selecting Classification Targets on the Data tab note that this option is only available if the seed space is set to Single Mask.
Use the add button to locate each target mask. Targets must be in the same space as the seed mask. When all targets are loaded you can press the save list button to save the list of targets as a text file. If you already have a text file list of required targets including their path then you can load it with the load list button or set the --targetmasks and --os2t flags on the command line.
In these output images, the value of each voxel within the seed mask is the number of samples seeded from that voxel reaching the relevant target mask.
The value of all voxels outside the seed mask will be zero. These can be used to store a connectivity matrix between 1 all seed points and all other seed points, or 2 all seed points and all points in a target mask, or 3 all pairs of points in a target mask or a pair of target masks. These options can be used separately or in conjunction. Matrix1 and Matrix2 store the number of samples potentially modulated by distance when distance correction is used between the rows seed points and the columns of the matrix.
Use the actual directory name given - i. Activate network mode - only keep paths going through at least one of the other seed masks. Output path distribution. Correct path distribution for the length of the pathways. Other mask for binning tract distribution. Output seeds to targets.
Output seed-to-target counts as a text file default in simple mode. Waypoint mask or ascii list of waypoint masks - only keep paths going through ALL the masks. Waypoint condition.
0コメント