From 74605d788dfac37b9a36e7dc720cb494c8a10e19 Mon Sep 17 00:00:00 2001 From: Miguel Molina Date: Fri, 23 Feb 2018 17:26:10 +0100 Subject: [PATCH 1/2] [FIX] #2435 Error creating gradients in DTIRecon The bvecs file was read assuming that directions followed YZX order, which created a gradients_matrix.txt with swapped directions. The new order is XYZ. --- nipype/interfaces/diffusion_toolkit/dti.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nipype/interfaces/diffusion_toolkit/dti.py b/nipype/interfaces/diffusion_toolkit/dti.py index 8881c109a1..7cf13070bb 100644 --- a/nipype/interfaces/diffusion_toolkit/dti.py +++ b/nipype/interfaces/diffusion_toolkit/dti.py @@ -103,15 +103,15 @@ def _create_gradient_matrix(self, bvecs_file, bvals_file): with open(bvals_file) as fbvals: bvals = [val for val in re.split('\s+', fbvals.readline().strip())] with open(bvecs_file) as fbvecs: - bvecs_y = [ + bvecs_x = [ val for val in re.split('\s+', fbvecs.readline().strip()) ] - bvecs_z = [ + bvecs_y = [ val for val in re.split('\s+', fbvecs.readline().strip()) ] - bvecs_x = [ + bvecs_z = [ val for val in re.split('\s+', fbvecs.readline().strip()) ] From 0262588f910a9bc06fda245c573b7b3fa409fd38 Mon Sep 17 00:00:00 2001 From: Miguel Molina Date: Fri, 23 Feb 2018 17:36:18 +0100 Subject: [PATCH 2/2] Clean up suggested by @effigies --- nipype/interfaces/diffusion_toolkit/dti.py | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/nipype/interfaces/diffusion_toolkit/dti.py b/nipype/interfaces/diffusion_toolkit/dti.py index 7cf13070bb..436b8cd027 100644 --- a/nipype/interfaces/diffusion_toolkit/dti.py +++ b/nipype/interfaces/diffusion_toolkit/dti.py @@ -103,18 +103,9 @@ def _create_gradient_matrix(self, bvecs_file, bvals_file): with open(bvals_file) as fbvals: bvals = [val for val in re.split('\s+', fbvals.readline().strip())] with open(bvecs_file) as fbvecs: - bvecs_x = [ - val for val in re.split('\s+', - fbvecs.readline().strip()) - ] - bvecs_y = [ - val for val in re.split('\s+', - fbvecs.readline().strip()) - ] - bvecs_z = [ - val for val in re.split('\s+', - fbvecs.readline().strip()) - ] + bvecs_x = fbvecs.readline().split() + bvecs_y = fbvecs.readline().split() + bvecs_z = fbvecs.readline().split() with open(_gradient_matrix_file, 'w') as gradient_matrix_f: for i in range(len(bvals)):