Hi all,<div><br></div><div>Just thought I&#39;d add my 2 cents to the debate. The maximum length does indeed refer to the maximum distance from the seed point, and I agree that it could have been documented more explicitly. While I can see that it sounds like a bug to allow streamtrack to generate streamlines that are twice as long as specified, there is actually some logic behind it. The main purpose of that option was to terminate streamlines that had started to loop around themselves, or had done a U-turn, or taken some other such implausible path. This is why the default maximum length is 20cm - the length of your average brain. When using unidirectional tracking, this is fine, but things get a bit messier with bidirectional tracking. If you terminate the streamline in one direction because it&#39;s got too long, and enforce the maximum length strictly, you won&#39;t allow bidirectional tracking from that seed point. </div>

<div><br></div><div>This may or may not be fine, depending on your point of view. The way I see things, the fact that the track might have got itself into a tangle on one side of the seed point should not mean that tracking should not proceed on the other side - the fact that it&#39;s got that long in the first place probably reflects a failure of the tracking to terminate appropriately, rather than a genuine anatomical feature, so whether you terminate at 20cm or 40cm is irrelevant. There is a good argument to be made for discarding the track altogether on those grounds, but if it&#39;s going to be kept, then I think the other direction should be tracked too. </div>

<div><br></div><div>There is the associated problem that you might be using the maximum length for some other purpose, for example to look at the tracks within a certain distance of your seed region. In this case, you won&#39;t want to have your tracks discarded due to their having exceeded the length threshold, but I can see that in certain cases you might be surprised to find that many of them are longer than the length you specified. Hopefully making the documentation clearer will help...</div>

<div><br></div><div>Not sure what your take on it is, but we&#39;re open to suggestions as to how best to handle this option - bearing in mind that there are many ways to do tracking, and that the behaviour of that option should be at least vaguely sensible in all cases...<br>

<br>Cheers,</div><div><br></div><div>Donald.</div><div><br><br><div class="gmail_quote">On 9 January 2012 11:20, Robert Smith <span dir="ltr">&lt;<a href="mailto:r.smith@brain.org.au" target="_blank">r.smith@brain.org.au</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thijs<br><br>Nice pickup; indeed yes, the tracking is allowing streamlines to continue up to the specified maximum length in either direction from the seed, such that it is possible for streamlines to be generated which are up to twice the &#39;maximum&#39; length.<br>



<br>If you want to enforce your specified maximum length as a constraint upon the entire streamline rather than each unidirectional half-streamline, the easiest fix is as follows (in reference to the 0.2.9 code):<br>* in src/dwi/tractography/tracker/base.h, line 61:<br>



<pre><span>bool</span><span> </span><span>set</span><span> </span><span>(</span><span>const</span><span> </span><span>Point</span><span>&amp;</span><span> seed</span><span>,</span><span> </span><span>const</span><span> </span><span>Point</span><span>&amp;</span><span> seed_dir </span><span>=</span><span> </span><span>Point</span><span>::</span><span>Invalid</span><span>)</span><span> </span><span>{</span><span> pos </span><span>=</span><span> seed</span><span>;</span><span> num_points </span><span>=</span><span> </span><span>0</span><span>;</span><span> </span><span>return</span><span> </span><span>(</span><span>init_direction </span><span>(</span><span>seed_dir</span><span>));</span><span> </span><span>}</span><span><br>



</span></pre>change to:<br><pre><span>bool</span><span> </span><span>set</span><span> </span><span>(</span><span>const</span><span> </span><span>Point</span><span>&amp;</span><span> seed</span><span>,</span><span> </span><span>const</span><span> </span><span>Point</span><span>&amp;</span><span> seed_dir </span><span>=</span><span> </span><span>Point</span><span>::</span><span>Invalid</span><span>)</span><span> </span><span>{</span><span> pos </span><span>=</span><span> seed</span><span>;</span><span></span><span></span><span> </span><span>return</span><span> </span><span>(</span><span>init_direction </span><span>(</span><span>seed_dir</span><span>));</span><span> </span><span>}</span><span><br>



</span></pre>
<br>* in src/dwi/tractography/tracker/base.cpp, line 115:<br><pre><span>void</span><span> </span><span>Base</span><span>::</span><span>new_seed </span><span>(</span><span>const</span><span> </span><span>Point</span><span>&amp;</span><span> seed_dir</span><span>)</span><span><br>



</span></pre>At the start of this function (around line 117), insert this line:<br><pre><span>num_points </span><span>=</span><span> </span><span>0</span><span>;</span><span> </span></pre>

<br>I will see about making this the default behavior for the next MRtrix release.<br><br>Regards<br>Rob<span><font color="#888888"><br clear="all"><br>--<br><br>Robert Smith<br>Melbourne Brain Centre<br>245 Burgundy Street<br>


Heidelberg VIC 3084<br>
Telephone: (+61 3) 9035 7128<br>Fax: (+61 3) 9035 7301<br>Email:  <a href="mailto:r.smith@brain.org.au" target="_blank">r.smith@brain.org.au</a><br><a href="http://www.fni.edu.au" target="_blank">www.florey.edu.au</a>  Â  Â  Â  <a href="http://www.brain.org.au" target="_blank">www.brain.org.au</a></font></span><div>


<div><br>
<span style="font-size:9pt;font-family:&quot;Times New Roman&quot;,&quot;serif&quot;;color:red"></span><br>
<br><br><div class="gmail_quote">On Fri, Jan 6, 2012 at 9:55 PM, Thijs Dhollander <span dir="ltr">&lt;<a href="mailto:thijs.dhollander@uzleuven.be" target="_blank">thijs.dhollander@uzleuven.be</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



Hi everyone,<br>
<br>
<br>
Using Mrtrix 0.2.9, I noticed the following: when setting the -length parameter with streamtrack (&quot;max_dist&quot; as reported by track_info afterwards), the actual maximum track length seems to be twice that value. Â I suspect each track is allowed to continue up to the &quot;-length&quot;-distance in both directions from the seed, i.e. allowing the full track to be maximally twice the &quot;-length&quot; value in size?<br>




<br>
<br>
Happy 2012 &amp; kind regards,<br>
<br>
Thijs<br>
_______________________________________________<br>
Mrtrix-discussion mailing list<br>
<a href="mailto:Mrtrix-discussion@www.nitrc.org" target="_blank">Mrtrix-discussion@www.nitrc.org</a><br>
<a href="http://www.nitrc.org/mailman/listinfo/mrtrix-discussion" target="_blank">http://www.nitrc.org/mailman/listinfo/mrtrix-discussion</a><br>
</blockquote></div><br>
</div></div><br>_______________________________________________<br>
Mrtrix-discussion mailing list<br>
<a href="mailto:Mrtrix-discussion@www.nitrc.org" target="_blank">Mrtrix-discussion@www.nitrc.org</a><br>
<a href="http://www.nitrc.org/mailman/listinfo/mrtrix-discussion" target="_blank">http://www.nitrc.org/mailman/listinfo/mrtrix-discussion</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Jacques-Donald Tournier (PhD)<br>Brain Research Institute, Melbourne, Australia<br>Tel: +61 (0)3 9035 7033<br>
</div>