Diffusion Processing Pipeline/bugs and feature requests

From VrlWiki
Revision as of 14:22, 24 March 2009 by Jadrian Miles (talk | contribs) (Bugs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Bugs

  • mrifilt3, mricrop, mrisubset, and possibly others mangle the parameters file. In particular, if you operate on a DWI, the output won't have the b matrix recorded. Also the MRISpaceShift just gets clobbered to 0 0 0.
    • A workaround right now for the b matrix, TR, and TE is
      grep "^b\|e0" $src/parameters >> $dest/parameters
  • Streamtube generation gets slower and slower as the program runs. What's going on? Is it running out of memory, reading inefficiently through a big file, doing something probabilistic that gets less likely the more tubes there are? We need a speedup!
    • In tubegen, unless the argument -cd 0.0 is passed to turn off inter-curve distance-based culling, an O(n2) culling step happens --- O(k) after tube #k has been generated. It would be a good idea to separate out seeding, streamline/tube generation, and culling, since each of these can be modified or optimized separately. There's a lot of code repetition in streamtube.cpp. --- Jadrian Miles 14:04, 24 March 2009 (UTC)
    • See Tubegen/bugs and feature requests for more notes.

Feature Requests

  • Most operations, including tensor fitting and tube generation, are highly parallelizable. It'd be great if we could throw them on the department's compute grid.
  • Rename batch scripts to get rid of ambiguous terms like "process". processNiftiDwis.py, for example, could be changed to nifti2mriimage_batch.py.