[Mrtrix-discussion] eddy correction and ideal number of streamlines for TDI

Todd Jolly todd.jolly at uon.edu.au
Fri Dec 14 21:06:18 PST 2012


Hi Robert,
Unfortunately I not been able to get the merge_tracks program to compile. I compared the .cpp to the other _tracks.cpp files and noticed that they used different .h files but didn't want to alter the file in case I caused any further problems. Thanks again for all your help.

 I am experiencing the following error:

todd at todd-VPCSB36FG:~/Documents/mrtrix-0.2.10$ ./build
[CC] cmd/merge_tracks.o

ERROR: [CC] cmd/merge_tracks.o

g++ -c -Wall -march=native -fPIC -fno-strict-aliasing -DGL_GLEXT_PROTOTYPES -DUSE_TR1 -O2 -pthread -I/usr/include/glibmm-2.4 -I/usr/lib/x86_64-linux-gnu/glibmm-2.4/include -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Ilib -Isrc cmd/merge_tracks.cpp -o cmd/merge_tracks.o

failed with output:

In file included from lib/image/mapper.h:27:0,
                 from lib/image/object.h:28,
                 from lib/args.h:27,
                 from lib/app.h:30,
                 from cmd/merge_tracks.cpp:28:
lib/file/mmap.h: In member function ‘bool MR::File::MMap::is_mapped() const’:
lib/file/mmap.h:54:92: warning: converting ‘false’ to pointer type ‘void*’ [-Wconversion-null]
cmd/merge_tracks.cpp: In member function ‘virtual void MyApp::execute()’:
cmd/merge_tracks.cpp:71:35: error: ‘access’ was not declared in this scope



________________________________
From: Robert Smith [r.smith at brain.org.au]
Sent: Friday, 14 December 2012 6:47 PM
To: Todd Jolly
Cc: mrtrix-discussion at www.nitrc.org
Subject: Re: [Mrtrix-discussion] eddy correction and ideal number of streamlines for TDI

Todd

There's nothing in the sequence protocol explicitly indicating that a twice-refocused sequence is being used, but I can tell you from the fact that you're using the product ep2d_diff sequence on the VB17 platform that it's definitely the twice-refocused sequence. From memory the product diffusion sequence on the VD platform (e.g. Skyra) can switch between single spin-echo and twice-refocused operation, in which case the protocol printout will provide a 'monopolar' / 'bipolar' diffusion flag.

In general it's easier to generate the largest number of tracks that you require, and then use truncate_tracks to retrospectively reduce the number. I do however have a program lying around for combining .tck files; I don't think I've posted it on the discussion forum before, so the source code is attached. Place the file merge_tracks.cpp into the MRtrix cmd/ directory, then run the build script in the MRtrix root directory to compile the program. Put the set of .tck files that you want to combine into a directory, then run merge_tracks with the name of the directory as the argument; the streamlines data will be merged into a single .tck file, with the same name as the directory. (Be warned however; this program can slow your system to a crawl as it starts thrashing your hard drive read/write heads...)

Best regards
Rob


--

Robert Smith
PhD Candidate

The Florey Institute of Neuroscience and Mental Health
Melbourne Brain Centre - Austin Campus
245 Burgundy Street
Heidelberg Vic 3084
Ph: +61 3 9035 7128
Fax: +61 3 9035 7301
www.florey.edu.au<http://www.florey.edu.au>



On Fri, Dec 14, 2012 at 5:40 PM, Todd Jolly <todd.jolly at uon.edu.au<mailto:todd.jolly at uon.edu.au>> wrote:
Thats great, thanks for that Robert,
I just want to confirm if all Siemens scanners use the twice-refocused spin-echo sequence, as I could not determine by looking at my sequence whether or not mine has used the twice refocused spin-echo sequence? My sequence did use a fat sat correction but did not specify which method was used for correction? (I have attached the sequence parameters for reference, page 13 and 14).
In relation to TDI, I have started by using 3 million tracks. However, if I wanted to increase this to 5 million, could I compute a separate 2 million tracks and add these to the original 3 million using select_tracts? Or will I have to perform a separate streamtrack using 5 million streamlines?
Thank you in advance
Todd

________________________________
From: Robert Smith [r.smith at brain.org.au<mailto:r.smith at brain.org.au>]
Sent: Thursday, 13 December 2012 4:21 PM
To: Todd Jolly
Cc: mrtrix-discussion at www.nitrc.org<mailto:mrtrix-discussion at www.nitrc.org>
Subject: Re: [Mrtrix-discussion] eddy correction and ideal number of streamlines for TDI

Hi Todd

1. For high b-value data on Siemens scanners, we recommend avoiding eddy_correct, for a couple of reasons. Firstly, because Siemens scanners come with the twice-refocused spin-echo sequence, eddy current distortions are typically sub-voxel, so not worth worrying about. Secondly, eddy-correct is based on a simple affine registration between images; it works for low b-value data because the SNR is high and the image contrast is (relatively) homogeneous between DWIs, so it's just a matter of aligning the images. But for high b-value data where the SNR is low and the image contrast changes drastically between DWIs, eddy_correct can cause more problems than it solves.
We hope to have a tool for motion and eddy current distortion correction of high b-value data in the next major release of MRtrix.

2. This is an unfortunate glitch that made its way into MRtrix version 0.2.10. However the only error is the printing of that message; it does not influence the data, processing or visualization in any way. You can find a more detailed description of the cause (and solution) of this problem here<http://www.nitrc.org/pipermail/mrtrix-discussion/2012-December/000597.html>; if you implement the code modification proposed there, don't forget to run the MRtrix build script afterwards!

3. As with most things tractography related, it's all subjective. I'd say that 1 million is the bare minimum for generating a TDI from whole-brain fibre-tracking; we tend to use 5 or 10 million. Curiously, the TDIs can actually look 'worse' if you generate many more streamlines, because the texture in the image (which helps to see the directionality of the streamlines) gets smoothed out. You can play around with different streamline counts and voxel resolution to see what you think is best for your particular application.
If you generate a large number of streamlines, you can extract only the first N streamlines from the file using the truncate_tracks command. This will allow you to generate TDIs of the same subject & at the same resolution for different numbers of streamlines, without having to re-generate streamlines for every desired number.

Best regards
Rob


--

Robert Smith
PhD Candidate

The Florey Institute of Neuroscience and Mental Health
Melbourne Brain Centre - Austin Campus
245 Burgundy Street
Heidelberg Vic 3084
Ph: +61 3 9035 7128<tel:%2B61%203%209035%207128>
Fax: +61 3 9035 7301<tel:%2B61%203%209035%207301>
www.florey.edu.au<http://www.florey.edu.au>



On Thu, Dec 13, 2012 at 10:18 AM, Todd Jolly <todd.jolly at uon.edu.au<mailto:todd.jolly at uon.edu.au>> wrote:
Hi all,
I have been looking into using streamtrack SD_PROB for whole brain tracking to create TDI. My dMRI sequence was acquired on a 3T Siemens Verio, voxel size 2.2mm isotropic, using diffusion gradient b=3000 with 64 directions. I was wondering if anyone would have any advice or suggestions in regard to the following:

1. Should perform eddy_current corrections on my dMRI images as the mrtrix wiki does not show a step for eddy current correction? I didn't want to use FSL just in case there were errors with the bvec gradient scheme when using it in mrtrix.

2. I also get the following error:
disp_profile: unexpected number of SH coefficients - assuming response function

My input is as follows
erode subjectIDmask.mif -npass 3 - | mrmult subjectIDfa.mif - - | threshold - -abs 0.7 subjectIDsf.mif
estimate_response subjectIDdwi.mif subjectIDsf.mif -lmax 8 subjectIDresponse.txt
disp_profile -response subjectIDresponse.txt

I think I saw a post where Donald said that this has been fixed in the latest version so should I upgrade my version/ redo all analyses?

3. What is the optimum number of streamlines needed to achieve good quality TDI, I have seen some people use 4 million but others have used 2 million?

Thanks,
Todd

_______________________________________________
Mrtrix-discussion mailing list
Mrtrix-discussion at www.nitrc.org<mailto:Mrtrix-discussion at www.nitrc.org>
http://www.nitrc.org/mailman/listinfo/mrtrix-discussion



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.nitrc.org/pipermail/mrtrix-discussion/attachments/20121215/c516eaf9/attachment.html


More information about the Mrtrix-discussion mailing list