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)
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
* <tt>mrifilt3</tt>, <tt>mricrop</tt>, <tt>mrisubset</tt>, 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 <tt>MRISpaceShift</tt> just gets clobbered to 0 0 0. A workaround right now is to just copy the old image's parameters file, but the latter two programs change the scale and offset.
== Bugs ==
* <tt>mrifilt3</tt>, <tt>mricrop</tt>, <tt>mrisubset</tt>, 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 <tt>MRISpaceShift</tt> just gets clobbered to 0 0 0.
** A workaround right now for the b matrix, TR, and TE is <pre>grep "^b\|e0" $src/parameters >> $dest/parameters</pre>
* 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>streamtube.cpp</tt>. --- [[User:Jadrian Miles|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".  <tt>processNiftiDwis.py</tt>, for example, could be changed to <tt>nifti2mriimage_batch.py</tt>.


[[Category:Diffusion MRI]][[Category:Bug Tracking Pages]]
[[Category:Diffusion MRI]][[Category:Bug Tracking Pages]]

Latest revision as of 14:22, 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 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.