Mercurial > repos > greg > drmi
comparison dmri.py @ 0:94f6b3e28c36 draft
Uploaded
author | greg |
---|---|
date | Fri, 03 Nov 2017 08:52:47 -0400 |
parents | |
children | 6fe81fec6cb9 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:94f6b3e28c36 |
---|---|
1 #!/usr/bin/env python | |
2 import argparse | |
3 import os | |
4 import nibabel | |
5 import shutil | |
6 | |
7 from dipy.data import fetch_sherbrooke_3shell | |
8 | |
9 parser = argparse.ArgumentParser() | |
10 parser.add_argument('--input', dest='input', help='Input dataset') | |
11 parser.add_argument('--output', dest='output', help='Output dataset') | |
12 | |
13 args = parser.parse_args() | |
14 | |
15 def move_directory_files(source_dir, destination_dir, copy=False, remove_source_dir=False): | |
16 source_directory = os.path.abspath(source_dir) | |
17 destination_directory = os.path.abspath(destination_dir) | |
18 if not os.path.isdir(destination_directory): | |
19 os.makedirs(destination_directory) | |
20 for dir_entry in os.listdir(source_directory): | |
21 source_entry = os.path.join(source_directory, dir_entry) | |
22 if copy: | |
23 shutil.copy(source_entry, destination_directory) | |
24 else: | |
25 shutil.move(source_entry, destination_directory) | |
26 if remove_source_dir: | |
27 os.rmdir(source_directory) | |
28 | |
29 input_dir = 'input_dir' | |
30 # Get input data. | |
31 fetch_sherbrooke_3shell() | |
32 # MNove inputs to working directory. | |
33 move_directory_files('/home/greg/.dipy', input_dir) | |
34 fdwi = join(input_dir, 'HARDI193.nii.gz') | |
35 fbval = join(input_dir, 'HARDI193.bval') | |
36 fbvec = join(input_dir, 'HARDI193.bvec') | |
37 # Load the dMRI datasets. | |
38 img = nibabel.load(fdwi) | |
39 data = img.get_data() | |
40 # data is a 4D array where the first 3 dimensions are the i, j, | |
41 # k voxel coordinates and the last dimension is the number of | |
42 # non-weighted (S0s) and diffusion-weighted volumes. | |
43 # Visualize the results using matplotlib. | |
44 axial_middle = data.shape[2] // 2 | |
45 plt.figure('Showing the datasets') | |
46 plt.subplot(1, 2, 1).set_axis_off() | |
47 plt.imshow(data[:, :, axial_middle, 0].T, cmap='gray', origin='lower') | |
48 plt.subplot(1, 2, 2).set_axis_off() | |
49 plt.imshow(data[:, :, axial_middle, 10].T, cmap='gray', origin='lower') | |
50 plt.show() | |
51 plt.savefig(args.output, bbox_inches='tight') |