170 likes | 351 Views
Analysis and visualization of brain connectivity using diffusion tensor MR imaging. Supervisor: Daniel Rueckert Members: Caroline Baroukh, Rouslan Dimitrov, Przemyslaw Korzeniowski, Danial Sheikh. Introduction. Multiple MRI scans provide 3D voxel grid
E N D
Analysis and visualization of brain connectivity using diffusion tensor MR imaging Supervisor: Daniel Rueckert Members: Caroline Baroukh, Rouslan Dimitrov, Przemyslaw Korzeniowski, Danial Sheikh
Introduction • Multiple MRI scans provide 3D voxel grid • Changing MRI polarizations yields slightly different results based on tissue orientation • Diffusion tensor imaging (DTI) exploits this to assign anisotropy tensors to voxels
Introduction • After processing, • where: e - major axis of anisotropy ellipsoid fa - fractional anisotropy [0…1] Pv - voxel center • Idea: use ellipsoids to trace curves (connecting fibers) in the brain! Pv
Outline • Aim of the project • Overview of the application • Tracing algorithm • GUI • Demo • Group organization
Aim of the project • Application that interactively traces and visualizes fibers • Regions of interest (ROIs) used as starting point of fibers • ROIs loaded from a segmentation file or defined manually • Provide typical medical imaging visualization (eg. cutting planes, glyphs, etc)
(Technical) Overview of the application • Application in JAVA • Developed from scratch • Various toolboxes + interactive 3D display • Tracer in C++ • Extends VTK • 2 new filters: vtkFiberTracer and vtkInterpolatedDifTensors
Tracer • Input: • DTI data (eigenvector and fractional anisotropy) • Fiber Seed points • Output: • Fibers as polylines (connected series of line segments).
Tracer for each seedpoint f = new fiber polyline; do move in direction of anisotropy to P f.AddPoint(P) until numberOfSteps exceeded store f; Use custom second order curvature-preserving integrator ? Seed
Tracer for each seedpoint f = new fiber polyline; do move in direction of anisotropy to P f.AddPoint(P) if(fractional anisotrpy < fThresh) break until numberOfSteps exceeded store f; Empirically fThresh = 0.2
Tracer • MRI provides low resolution scans ~1283 • Need to use steps much smaller than the voxel size • Use bilinear interpolation from 8 closest voxel centers • Danger: 3000 fibers * 100 steps * 8 samples * n, where n is the order of the integrator, can be high!
Tracer • Problem: 30% of the voxels contain at least twodifferent neural tracts traveling in different directions • Solution: Add inertia to the fiber, so that low anisotropy regions cannot change its direction
vtkInterpolatedDifTensors • Problem: Which way to go? • Anisotropy ellipsoids have no direction!
vtkInterpolatedDifTensors • Solution: • Flip vectors on the fly • This needs sense of direction • Recover it from previous look-up • Implemented in vtkInterpolatedDifTensors, inherits interface from vtkInterpolatedVectorField
Tracer • Parameters exposed in the GUI from the Streamline Panel • Tracing from anatomical ROIs is done by randomly scattering points within them • Tracing from a user selected sphere distributes the seeds on the surface