Hi Eloy,<div><br></div><div>As Luis mentioned, you shouldn&#39;t have these types of issues using mrconvert. One of the reasons I encourage people to convert the DICOM data using mrconvert and store the images using the .mif format is that it should avoid this kind of problem. Using mrconvert ensures the DW directions are read directly from the DICOM headers, and produced in the format required by MRtrix. Using the .mif format allows you to store the DW directions in the image header, making sure that the correct gradient table remains collocated with the corresponding data and removing the risk of using the wrong table.</div>

<div><br></div><div>Using NIfTI images is of course possible, but these do not contain the gradient table in the header, so the gradient table needs to be supplied separately. The issue is that the convention used by MRtrix to store the DW directions is different to that used by most other software packages. MRtrix stores directions relative to the real/scanner coordinate system (essentially DICOM&#39;s patient-centered coordinate system), whereas most other packages store them with respected to the image axes. Sometimes the inconsistencies are obvious, which is a good thing since you can at least tell that there is a problem. In many cases they might not be so obvious: a slight oblique angle of the image axes will introduce inconsistencies that might not be so clear-cut, and you might happily process a number of data sets before coming across one that is sufficient tilted for the inconsistencies to become obvious. </div>

<div><br></div><div>The reason I mention all this is that even if you invert some of the columns as suggested by Luis, there is still potential for inconsistency depending on exactly how the gradient table was generated in the first place, and whether your data were acquired tilted or not...   For all of these reasons, I would urge people to always process data directly from the raw DICOM if at all possible. I realise this is not always possible (for example if you need to do motion and eddy-current correction in FSL, etc), but otherwise it will make the process much less error-prone.</div>

<div><br></div><div>That said, if you did use mrconvert or mrinfo to get the gradient table, then that would be a software bug and I&#39;d need to fix it! </div><div><br></div><div>Cheers,</div><div><br>Donald.</div><div>

<br></div><div><br><div class="gmail_quote">On 1 November 2012 11:02, Luis Concha <span dir="ltr">&lt;<a href="mailto:lconcha@unam.mx" target="_blank">lconcha@unam.mx</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Seems like you have to flip your vectors in the encoding.b table. If you use mrconvert to get from dicoms to .mif you should not have this problem. <br><br>However, if you used dcm2nii or something else, the direction of the gradient diffusions may be flipped. You can fix this by multiplying the first, second or third column of your encoding.b table by -1 (combinations of xy, yz or even xyz are allowed). This is a trial and error process, for the most part, but once you get it right (and assuming you do not modify your scanning parameters) you can apply the same modification to all your gradient tables.<br>



<br>An example script for flipping your bvecs is below. Use the arguments -flip_x, -flip_y and/or -flip_z to taste. I recommend that you perform CSD with lmax=2 then display your ODFs in mrview iteratively until you find a combination of flips that works for your data.<br>



<br>Good luck.<br><br>Luis<br><br>#!/bin/bash<br><br>bvecsIN=$1<br>bvecsOUT=$2<br><br><br>print_help()<br>{<br>  echo &quot;&quot;<br>  echo &quot;`basename $0` &lt;bvecsIN&gt; &lt;bvecsOUT&gt; [-options]&quot;<br>  echo &quot;&quot;<br>



  echo &quot;Options:&quot;<br>  echo &quot;  -flip_x&quot;<br>  echo &quot;  -flip_y&quot;<br>  echo &quot;  -flip_z&quot;<br>  echo &quot;&quot;<br>  echo &quot;Luis Concha - INB, UNAM&quot;<br>  echo &quot;July 2010&quot;<br>



  echo &quot;&quot;<br><br>}<br><br><br><br>for arg in &quot;$@&quot;<br>do<br><br>    case &quot;$arg&quot; in<br>        -h|-help) <br>        print_help<br>        exit 1<br>        ;;<br>      esac<br>done<br><br><br>



<br><br>x=`head -n 1 $bvecsIN | tail -n 1`<br>y=`head -n 2 $bvecsIN | tail -n 1`<br>z=`head -n 3 $bvecsIN | tail -n 1`<br><br><br>xx=$x<br>yy=$y<br>zz=$z<br>for arg in &quot;$@&quot;<br>do<br><br>    case &quot;$arg&quot; in<br>



       -flip_x)<br>        echo &quot;Will flip x component&quot;<br>        xx=&quot;&quot;<br>        for v in $x<br>        do<br>          vv=`echo &quot;$v * -1&quot; | bc -l`<br>          xx=&quot;$xx $vv&quot;<br>


        done<br>
        ;;<br>       -flip_y)<br>        echo &quot;Will flip y component&quot;<br>        yy=&quot;&quot;<br>        for v in $y<br>        do<br>          vv=`echo &quot;$v * -1&quot; | bc -l`<br>          yy=&quot;$yy $vv&quot;<br>



        done<br>        ;;<br>       -flip_z)<br>        echo &quot;Will flip z component&quot;<br>        zz=&quot;&quot;<br>        for v in $z<br>        do<br>          vv=`echo &quot;$v * -1&quot; | bc -l`<br>          zz=&quot;$zz $vv&quot;<br>



        done<br>        ;;<br>    esac<br>    index=$[$index+1]<br>done<br><br>echo $xx &gt; $bvecsOUT<br>echo $yy &gt;&gt; $bvecsOUT<br>echo $zz &gt;&gt; $bvecsOUT<br><br><br><br><br><br><br clear="all">Dr. Luis Concha<br>



Instituto de Neurobiología<br>Laboratorio C-12<br>UNAM, Campus Juriquilla<br>Boulervard Juriquilla 3001<br>Juriquilla, Querétaro.<br>C.P. 76230<br>México<br>Tel (442) 2 38 10 53<br>Fax (442) 2 38 10 46<br><a href="http://www.inb.unam.mx" target="_blank">www.inb.unam.mx</a><br>



<br>
<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br></blockquote><br>
<br>_______________________________________________<br>
Mrtrix-discussion mailing list<br>
<a href="mailto:Mrtrix-discussion@www.nitrc.org">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><font color="#ff6600" size="1"><b>Dr Jacques-Donald Tournier<br></b></font><div><font color="#ff6600" size="1">Research Fellow</font></div><div><font size="1"><br>

</font></div><div><font size="1">The Florey Institute of Neuroscience and Mental Health</font></div><div><font size="1">Melbourne Brain Centre - Austin Campus</font></div><div><font size="1">245 Burgundy Street</font></div>

<div><font size="1">Heidelberg  Vic  3084</font></div><div><font size="1">Ph:  +61 3 9035 7033</font></div><div><font size="1">Fax:  +61 3 9035 7307</font></div><div><font size="1"><a href="http://www.florey.edu.au" target="_blank">www.florey.edu.au</a></font></div>

<br><br>
</div>