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') | 
