Research Article

White Matter Fiber Tractography Using Nonuniform Rational B-Splines Curve Fitting

Algorithm 2

Summary of NURBS-T fiber tracking.
Input: consecutive diffusion directions
Output: fiber pathways
(1) Determine the control points. Because that the diffusion direction (denoted by red thin line in Figure 3) is tangent to the fiber path, there should be three control points that situate on the same direction [33], including the center point (blue dot in Figure 3) of the voxel and the two intersection points (yellow dot in Figure 3) between the diffusion direction and the facets of the voxel. The intersection points could be obtained according to the equation given below:
where , , and are the length, width, and height of the voxel, respectively. is the coordinate of the intersection point. Finally, we would get a series of points.
where and are the intersection points between the diffusion direction and the facets of the path-through voxel. is the center point of the voxel.
(2) Calculate the weights. The weight indicates the attraction of the control points to a path, and we can locally modify the path by adjusting it. In this work, the weight was set according to ODF peaks. The greater the ODF peak along fiber path, the greater the weight.
where is the weight, is the number of the consecutive directions, is the diffusion probability along the jth consecutive directions, and is the diffusion probability along the ith consecutive direction.
(3) The knot vector was normalized, and the nodes are distributed evenly. According to the number of control points of the path, the number of nodes of knot vector changes dynamically. The knot vector could be written as
where is the number of control points.
(4) NURBS fitting. In this procedure, we trace pathways which do not necessarily satisfy the control points precisely, but only approximately.
where are the third-degree B-spline basis functions defined on the knot vector . They could be computed using the Cox-deBoor algorithm [38]. To obtain , we have to compute the basis function first. There are at most four nonzero three-degree B-spline functions at each knot vector interval. So, we could directly get according to , , , and .