Wednesday, June 30, 2004

Perl script for generating diffusion directions

I am putting into the public domain this Perl script for generating the directional cosines for an arbitrary number of diffusion directions, using a solid-angle tiling approach. The schemes generated with this code were used for the Poonawalla scheme N = 27 and N = 55 in [1] (that reference also compares the conditional number to other schemes such as icosahedral in Table 3).

Note that the code does not perform very well for N less than about 20. This is because the algorithm attempts to subdivide the sphere with circular tiles, which was a crude approximation. The intended use of this code is solely to provide a quick-n-dirty way to generate a usable diffusion scheme, with no claim that it's necessarily the best possible scheme available. But it's simplicity means that it can be adapted for real-time generation of a DTI protocol with much less computational overhead than an electrostatic repulsion model, and you can use any value of N you desire (unlike icosahedral schemes which are limited to specific N values). Please do contact me if you use this code or have suggestions for improvement (patches welcome).


[1] Poonawalla AH, Zhou XJ. Analytical error propagation in diffusion anisotropy calculations. J Magn Reson Imaging 2004;19(4):489-498.


Post a Comment

<< Home

Powered by Blogger