Diffusion Processing Pipeline/bugs and feature requests: Difference between revisions

From VrlWiki
Jump to navigation Jump to search
Jadrian Miles (talk | contribs)
No edit summary
Jadrian Miles (talk | contribs)
No edit summary
Line 4: Line 4:
* 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!
* 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 <code>-cd 0.0</code> is passed to turn off inter-curve distance-based culling, an O(n<sup>2</sup>) 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 <tt>tubegen.cpp</tt>. --- [[User:Jadrian Miles|Jadrian Miles]] 14:04, 24 March 2009 (UTC)
** In [[tubegen]], unless the argument <code>-cd 0.0</code> is passed to turn off inter-curve distance-based culling, an O(n<sup>2</sup>) 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 <tt>tubegen.cpp</tt>. --- [[User:Jadrian Miles|Jadrian Miles]] 14:04, 24 March 2009 (UTC)
** See [[Tubegen/bugs and feature requests]] for more notes.


== Feature Requests ==
== Feature Requests ==

Revision as of 14:12, 24 March 2009

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 tubegen.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.