Hi Ping,<div><br></div><div>Sounds strange. Not sure I can really help without more detailed information. Could you send me the transcript of the commands that you typed, from start to finish? Maybe I can spot where things may have gone funny...</div>
<div>Cheers,</div><div><br></div><div>Donald.</div><div><br></div><div><br><div class="gmail_quote">On 15 January 2011 03:27, Ping-Hong Yeh <span dir="ltr">&lt;<a href="mailto:pinghongyeh@gmail.com">pinghongyeh@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi Donald,<br>
<br>
 Thank you again for the reply.<br>
<br>
The reason using the NIFTI instead of DICOM is because we would like<br>
to correct EPI distortion using fieldmap beforehand.<br>
<br>
Anyhow, I also input the DICOM files using mrconvert and the result of<br>
TDI image is similar to the one using NIFTI as the input. I still<br>
think the TDI using ANLYZE one looks right, but do not understand why<br>
there is such a huge difference.<br>
<br>
Any further comment? Thanks.<br>
<br>
Ping<br>
<br>
On Thu, Jan 13, 2011 at 2:35 AM, Donald Tournier<br>
<div><div></div><div class="h5">&lt;<a href="mailto:d.tournier@brain.org.au">d.tournier@brain.org.au</a>&gt; wrote:<br>
&gt; Hi Ping,<br>
&gt; I&#39;m guessing your issues are due to the fact that ANALYZE does not store the<br>
&gt; transformation matrix (i.e. the directions of the axes and location of the<br>
&gt; origin with respect to real/scanner space), whereas NIfTI does. This is one<br>
&gt; of the reasons I urge everyone to stay well away from ANALYZE format images<br>
&gt; (the other being that left/right ordering is ill-defined).<br>
&gt; If you convert a NIfTI image with a proper transformation matrix to ANALYZE,<br>
&gt; that information is lost. I guess the overlay function in FSLView operates<br>
&gt; on a voxel-by-voxel basis - i.e. that the transformation information is<br>
&gt; ignored, and only voxel coordinates within the imaging volume are taken into<br>
&gt; account. This is not the case for MRtrix: each voxel is displayed in the<br>
&gt; correct location, according both to its voxel coordinate within the imaging<br>
&gt; volume, and the transformation information. Note that with ANALYZE images,<br>
&gt; MRtrix will insert a default identity transform (no rotation, origin in the<br>
&gt; middle of the dataset). That should explain the mismatch in the overlay. If<br>
&gt; you want to double-check this, use &#39;mrinfo&#39; on both images, and see if the<br>
&gt; transforms differ.<br>
&gt; On the other hand, I have no idea why the TDI maps are so different. I&#39;m<br>
&gt; assuming you have to supply your own gradient encoding, and that you&#39;re<br>
&gt; using the same encoding file in both cases? Other than strange effects due<br>
&gt; to different gradient encodings, I have no idea what the issue might be. One<br>
&gt; possibility is that you&#39;re using a gradient table suitable for analysis<br>
&gt; using FSL, where the gradient directions are supplied with respect to the<br>
&gt; image axes. Since MRtrix assumes that they are supplied with respect to<br>
&gt; real/scanner space, if there is a significant rotation component in the<br>
&gt; transformation, the tracking will be affected. Might explain why the<br>
&gt; tracking is OK with ANALYZE (the transform has been discarded - no rotation)<br>
&gt; but not with NIfTI. Although there doesn&#39;t seem to be a huge rotation<br>
&gt; between them judging from your screenshot...<br>
&gt; On a final note, if you have access to the DICOM data, why not use MRtrix to<br>
&gt; do the conversion for you? If you convert to MRtrix image format (.mif), you<br>
&gt; will have the correct transform information, the DW gradient table will be<br>
&gt; inserted in the header, and you shouldn&#39;t have any problems of this kind.<br>
&gt; Hope that sort things out for you.<br>
&gt; Cheers,<br>
&gt; Donald.<br>
&gt;<br>
&gt; On 12 January 2011 15:24, Ping-Hong Yeh &lt;<a href="mailto:pinghongyeh@gmail.com">pinghongyeh@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi Donald,<br>
&gt;&gt;<br>
&gt;&gt;  Thank you for the detailed explanation.<br>
&gt;&gt;<br>
&gt;&gt; Another question about the input data format.<br>
&gt;&gt;<br>
&gt;&gt; First, I have the same DWI data saved as NIFTI or ANALYZE. The  NIFTI<br>
&gt;&gt; was converted from DICOM originally using dcm2nii and then to ANALYZE<br>
&gt;&gt; using FSL fslchfiletype. Both images are aligned well while viewing<br>
&gt;&gt; using FSLview (see attached  Screenshot_fslview.png); but there is a<br>
&gt;&gt; significant translation while viewing using mrview<br>
&gt;&gt; (mrview_screen.jpg).<br>
&gt;&gt;<br>
&gt;&gt; I then processed both data and created the whole brain TDI images, but<br>
&gt;&gt; the results are quite different (see tdi_analyze.jpg and<br>
&gt;&gt; tdi_nifti.jpg).  It appear the TDI image by using ANALYZE is what TDI<br>
&gt;&gt; is supposed to be looked like although now it does not align with<br>
&gt;&gt; original NIFTI data, which has made the previous co-registration<br>
&gt;&gt; matrices useless.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Thank you,<br>
&gt;&gt;<br>
&gt;&gt; Ping<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Mon, Jan 10, 2011 at 8:14 AM, Donald Tournier<br>
&gt;&gt; &lt;<a href="mailto:d.tournier@brain.org.au">d.tournier@brain.org.au</a>&gt; wrote:<br>
&gt;&gt; &gt; Hi Ping,<br>
&gt;&gt; &gt; Unfortunately, the &#39;normalise_tracks&#39; command can&#39;t be used to apply a<br>
&gt;&gt; &gt; 4x4<br>
&gt;&gt; &gt; affine transform: it&#39;s designed to apply a non-linear warp to the track<br>
&gt;&gt; &gt; data. The warp information should be supplied as a 4D image, where the<br>
&gt;&gt; &gt; values for each voxel are set to the coordinates that this voxel maps<br>
&gt;&gt; &gt; to. To<br>
&gt;&gt; &gt; help generate the warp, there is a utility called &#39;gen_unit_warp&#39;, which<br>
&gt;&gt; &gt; will generate a &#39;no warp&#39; image (i.e. each voxel contains its own<br>
&gt;&gt; &gt; location),<br>
&gt;&gt; &gt; to which you can apply the relevant inverse warp using whatever software<br>
&gt;&gt; &gt; package you use for your normalisation (FSL, SPM, etc). You can then<br>
&gt;&gt; &gt; feed<br>
&gt;&gt; &gt; the result to &#39;normalise_tracks&#39; as the transform image.<br>
&gt;&gt; &gt; Getting the details can be quite tricky, so here is an example using<br>
&gt;&gt; &gt; SPM8,<br>
&gt;&gt; &gt; using the warp computed by normalising a T1 image (anat.nii) previously<br>
&gt;&gt; &gt; coregistered with the FA:<br>
&gt;&gt; &gt; Assuming you are normlising to the default T1 template image (T1.nii)<br>
&gt;&gt; &gt; supplied with SPM8, start by generating a unit warp image using that as<br>
&gt;&gt; &gt; a<br>
&gt;&gt; &gt; template:<br>
&gt;&gt; &gt; $ gen_unit_warp /opt/SPM8/templates/T1.nii warp-[].nii<br>
&gt;&gt; &gt; Note that the output image has been specified as a multi-file NIfTI, so<br>
&gt;&gt; &gt; this<br>
&gt;&gt; &gt; should produce the files warp-1.nii, warp-2.nii &amp; warp-3.nii.<br>
&gt;&gt; &gt; Then estimate the warp you&#39;re interested in applying. In SPM8, select<br>
&gt;&gt; &gt; SPM-&gt;Spatial-&gt;Normalise-&gt;Estimate in the batch editor, specify the<br>
&gt;&gt; &gt; anat.nii<br>
&gt;&gt; &gt; as the source image, and T1.nii as the template, and run. This will<br>
&gt;&gt; &gt; generate<br>
&gt;&gt; &gt; the warp information as a &quot;anat_sn.mat&quot; file.<br>
&gt;&gt; &gt; Then, apply the inverse warp to your warp-*.nii images: select<br>
&gt;&gt; &gt; SPM-&gt;Util-&gt;Deformations in the batch editor, choose &quot;New: inverse&quot; as<br>
&gt;&gt; &gt; the<br>
&gt;&gt; &gt; composition, then &quot;New: Imported _sn.mat&quot; as its composition,<br>
&gt;&gt; &gt; &quot;anat_sn.mat&quot;<br>
&gt;&gt; &gt; as the parameter file, and your fa.nii as the &quot;image to base inverse<br>
&gt;&gt; &gt; on&quot;.<br>
&gt;&gt; &gt; Specify all 3 wrap-*.nii in the &quot;apply to&quot; field, and run.<br>
&gt;&gt; &gt; This should generate 3 new files: wwarp-*.nii, which can be used<br>
&gt;&gt; &gt; directly in<br>
&gt;&gt; &gt; &quot;normalise_tracks&quot;:<br>
&gt;&gt; &gt; $ normalise_tracks tracks.tck wwarp-[].nii tracks_normalised.tck<br>
&gt;&gt; &gt; Obviously the steps would be very different depending on the<br>
&gt;&gt; &gt; normalisation<br>
&gt;&gt; &gt; package you&#39;re using, but the idea would be the same.<br>
&gt;&gt; &gt; Hope that clarifies things a little.<br>
&gt;&gt; &gt; Cheers,<br>
&gt;&gt; &gt; Donald.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On 7 January 2011 15:47, Ping-Hong Yeh &lt;<a href="mailto:pinghongyeh@gmail.com">pinghongyeh@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Hello all,<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;  I would like to transforming the tracks to the template space, but<br>
&gt;&gt; &gt;&gt; not sure how to apply the transformation matrix (4 by4 Ascii) using<br>
&gt;&gt; &gt;&gt; &quot;normalise_tracks&quot;.<br>
&gt;&gt; &gt;&gt; How should the normalisation map be created?   Thanks.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Ping<br>
&gt;&gt; &gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; Mrtrix-discussion mailing list<br>
&gt;&gt; &gt;&gt; <a href="mailto:Mrtrix-discussion@www.nitrc.org">Mrtrix-discussion@www.nitrc.org</a><br>
&gt;&gt; &gt;&gt; <a href="http://www.nitrc.org/mailman/listinfo/mrtrix-discussion" target="_blank">http://www.nitrc.org/mailman/listinfo/mrtrix-discussion</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; --<br>
&gt;&gt; &gt; Jacques-Donald Tournier (PhD)<br>
&gt;&gt; &gt; Brain Research Institute, Melbourne, Australia<br>
&gt;&gt; &gt; Tel: +61 (0)3 9496 4078<br>
&gt;&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Jacques-Donald Tournier (PhD)<br>
&gt; Brain Research Institute, Melbourne, Australia<br>
&gt; Tel: +61 (0)3 9496 4078<br>
&gt;<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Jacques-Donald Tournier (PhD)<br>Brain Research Institute, Melbourne, Australia<br>Tel: +61 (0)3 9496 4078<br>
</div>