comparison dmri.py @ 21:53671fcb9507 draft

Uploaded
author greg
date Sun, 05 Nov 2017 07:33:21 -0500
parents 3938c3299e7b
children 814082359f36
comparison
equal deleted inserted replaced
20:fcdb8f5e9c8f 21:53671fcb9507
8 from dipy.data import fetch_sherbrooke_3shell 8 from dipy.data import fetch_sherbrooke_3shell
9 from dipy.io import read_bvals_bvecs 9 from dipy.io import read_bvals_bvecs
10 from matplotlib import pyplot 10 from matplotlib import pyplot
11 11
12 parser = argparse.ArgumentParser() 12 parser = argparse.ArgumentParser()
13 parser.add_argument('--input', dest='input', help='Input dataset') 13 parser.add_argument('--drmi_dataset', dest='drmi_dataset', help='Input dataset')
14 parser.add_argument('--output_nifti1', dest='output_nifti1', help='Output Nifti1 dataset') 14 parser.add_argument('--output_nifti1', dest='output_nifti1', help='Output Nifti1 dataset')
15 parser.add_argument('--output_png', dest='output_png', help='Output dataset') 15 parser.add_argument('--output_png', dest='output_png', help='Output dataset')
16 16
17 args = parser.parse_args() 17 args = parser.parse_args()
18 18
19 input_dir = 'sherbrooke_3shell'
20 # Get input data. 19 # Get input data.
21 fetch_sherbrooke_3shell() 20 input_dir = args.drmi_dataset
21 if args.drmi_dataset == 'sherbrooke_3shell':
22 fetch_sherbrooke_3shell()
23 elif args.drmi_dataset == 'stanford_hardi':
24 fetch_stanford_hardi()
22 fdwi = os.path.join(input_dir, 'HARDI193.nii.gz') 25 fdwi = os.path.join(input_dir, 'HARDI193.nii.gz')
23 fbval = os.path.join(input_dir, 'HARDI193.bval') 26 fbval = os.path.join(input_dir, 'HARDI193.bval')
24 fbvec = os.path.join(input_dir, 'HARDI193.bvec') 27 fbvec = os.path.join(input_dir, 'HARDI193.bvec')
25 # Load the dMRI datasets. 28 # Load the dMRI datasets.
26 img = nibabel.load(fdwi) 29 img = nibabel.load(fdwi)
28 # data is a 4D array where the first 3 dimensions are the i, j, 31 # data is a 4D array where the first 3 dimensions are the i, j,
29 # k voxel coordinates and the last dimension is the number of 32 # k voxel coordinates and the last dimension is the number of
30 # non-weighted (S0s) and diffusion-weighted volumes. 33 # non-weighted (S0s) and diffusion-weighted volumes.
31 # Visualize the results using matplotlib. 34 # Visualize the results using matplotlib.
32 axial_middle = data.shape[2] // 2 35 axial_middle = data.shape[2] // 2
33 pyplot.figure('Showing the datasets')
34 pyplot.subplot(1, 2, 1).set_axis_off() 36 pyplot.subplot(1, 2, 1).set_axis_off()
35 pyplot.imshow(data[:, :, axial_middle, 0].T, cmap='gray', origin='lower') 37 pyplot.imshow(data[:, :, axial_middle, 0].T, cmap='gray', origin='lower')
36 pyplot.subplot(1, 2, 2).set_axis_off() 38 pyplot.subplot(1, 2, 2).set_axis_off()
37 pyplot.imshow(data[:, :, axial_middle, 10].T, cmap='gray', origin='lower') 39 pyplot.imshow(data[:, :, axial_middle, 10].T, cmap='gray', origin='lower')
38 pyplot.savefig('data.png', bbox_inches='tight') 40 pyplot.savefig('data.png', bbox_inches='tight')