We use dipy to generate a streamline tractography. Play with the 'nb_seeds_per_voxel' parameter to increase/decrease the fiber density. Then we count the tracks that start and end at each label pair. Finally, computed fibers are length filtered. """ track_outdir = os.path.join(outdir, "streamline") track_file = os.path.join(track_outdir, "fibers.trk") track_filtered_file = os.path.join(track_outdir, "filtered_fibers.trk") if not os.path.isdir(track_outdir): os.mkdir(track_outdir) if not os.path.isfile(track_file): trackvis_fibers, trackvis_header = deterministic( diffusion_file, bvecs_file, bvals_file, track_file, mask_file=mask_file, order=4, nb_seeds_per_voxel=nb_seeds_per_voxel, step=0.5) else: trackvis_fibers, trackvis_header = nibabel.trackvis.read( track_file, as_generator=False, points_space="voxel") if not os.path.isfile(track_filtered_file): fibers = [track_item[0] for track_item in trackvis_fibers] fibers = filter_by_length(fibers, min_length) streamlines = ((track, None, None) for track in fibers) nibabel.trackvis.write(track_filtered_file, streamlines, trackvis_header, points_space="voxel") else: trackvis_fibers, trackvis_header = nibabel.trackvis.read(
We use dipy to generate a streamline tractography. Play with the 'nb_seeds_per_voxel' parameter to increase/decrease the fiber density. Then we count the tracks that start and end at each label pair. """ track_outdir = os.path.join(outdir, "streamline") track_file = os.path.join(track_outdir, "fibers.txt") if not os.path.isdir(track_outdir): os.mkdir(track_outdir) if not os.path.isfile(track_file): deterministic(diffusion_file, bvecs_file, bvals_file, track_outdir, mask_file=mask_file, order=4, nb_seeds_per_voxel=nb_seeds_per_voxel, step=0.5, fmt="%.4f") if use_vtk: tracks = loadtxt(track_file) actor = pvtk.line(tracks, scalar=1) pvtk.add(ren, actor) pvtk.record(ren, qcdir, "fibers", az_ang=45, n_frames=2) pvtk.clear(ren) connect_outdir = os.path.join(outdir, "det_region_connectivity") if not os.path.isdir(connect_outdir): os.mkdir(connect_outdir)
We use dipy to generate a streamline tractography. Play with the 'nb_seeds_per_voxel' parameter to increase/decrease the fiber density. Then we count the tracks that start and end at each label pair. """ track_outdir = os.path.join(outdir, "streamline") track_file = os.path.join(track_outdir, "fibers.txt") if not os.path.isdir(track_outdir): os.mkdir(track_outdir) if not os.path.isfile(track_file): deterministic( diffusion_file, bvecs_file, bvals_file, track_outdir, mask_file=mask_file, order=4, nb_seeds_per_voxel=nb_seeds_per_voxel, step=0.5, fmt="%.4f") if use_vtk: tracks = loadtxt(track_file) actor = pvtk.line(tracks, scalar=1) pvtk.add(ren, actor) pvtk.record(ren, qcdir, "fibers", az_ang=45, n_frames=2) pvtk.clear(ren) connect_outdir = os.path.join(outdir, "det_region_connectivity") if not os.path.isdir(connect_outdir):