Dear FSL fellows,
I am a beginner user of FSL, and have a question regarding preprocessing diffusion images collected from non-human primates. Thank you in advance for your time.
I have been trying to analyze diffusion imaging data collected from two macaques in a Siemens Prisma scanner, using HCP protocol (free mode) from UMinn. The voxel size, FOV, dimension, etc. are identical between subjects, except subject A used a 5-inch single-loop coil and subject B used a 4-inch one, because the latter has a smaller head/brain. From each subject, I collected 5 AP/PA diffusion runs (interleaved b=1000/2000/300 images, inserted with several b=0 images), and 3 pairs of AP/PA runs (one b=0 image per run) as independent topup runs. The topup runs has the same effective echo spacing with diffusion runs, but I used slightly shorter TE to get better SNR. There are around 500 directions per phase encoding directions per subject (~1000 in total per subject). The volume dimension is 128x128x68 (68 is slice#). Voxel size is 0.8125x0.8125x0.81 mm. The merged dwi file is ~1.9 GB for each subject. I don't know if this is relevant, but there is a specific FFT_scaling parameter of the UMinn sequence, and we set it to 0.2 to prevent from signal saturation.
I used FSL 5.0.9 to process the data in a CentOS 7 cluster. Basically I ran topup on a combined b=0 volume from both topup and diffusion runs, and then ran eddy_cuda (with input from topup). It worked well with subject A, but eddy_cuda kept failing for subject B. The error message is like this:
Entering EddyGpuUtils::LoadPredictionMaker
...................Allocated GPU # 0...................
eddy: msg=EddyInternalGpuUtils::field_for_scan_to_model_transform: scan<->susc mismatch
terminate called after throwing an instance of 'EDDY::EddyException'
I also tried eddy_openmp, but it didn't work either, with error message like this:
Segmentation violation, Address not mapped, Offending address = 0xffffd46e585f8111
/usr/lib64/libc.so.6 [0x2b91a619c3c1]
eddy_openmp ) [0x5f79b6] [
eddy_openmp ) [0x5f284b] [
eddy_openmp ) [0x442b7b] [
eddy_openmp ) [0x4478b5] [
eddy_openmp ) [0x5d077d] [
eddy_openmp ) [0x5d0887] [
eddy_openmp ) [0x5cbb20] [
eddy_openmp ) [0x448c58] [
eddy_openmp ) [0x47f55d] [
eddy_openmp ) [0x40767a] [
eddy_openmp ) [0x40aa0d] [
eddy_openmp ) [0x40bd78] [
eddy_openmp ) [0x40ea2d] [
/usr/lib64/libc.so.6 __libc_start_main [0x2b91a605ab15]
eddy_openmp ) [0x405479] [
I searched in this forum, and noticed that some people have suggested removing top and bottom slices. I tried this and reran the preprocessing (both eddy_cuda and eddy_openmp), but the error messages were the same.
Is there a way to fix the problem I described above? Any input is very much appreciated.
Best,
Rui
---
Rui Xu, Ph.D.
Postdoctoral Fellow, Desimone Lab
McGovern Institute for Brain Research at MIT
[log in to unmask]
|