import os
import tempfile
from IPython.display import Image, display
import nibabel as ni
import osmosis.viz.maya as viz
import osmosis.utils as ozu
import osmosis.model.dti as dti
import osmosis.model.analysis as oza
import os
import osmosis as oz
import osmosis.io as oio
oio.data_path = os.path.join(oz.__path__[0], 'data')
subject = 'SUB1'
data_1k_1, data_1k_2 = oio.get_dwi_data(1000, subject)
data_2k_1, data_2k_2 = oio.get_dwi_data(2000, subject)
data_4k_1, data_4k_2 = oio.get_dwi_data(4000, subject)
wm_mask = np.zeros(ni.load(data_1k_1[0]).shape[:3])
wm_nifti = ni.load(oio.data_path + '/%s/%s_wm_mask.nii.gz'%(subject, subject)).get_data()
wm_mask[np.where(wm_nifti==1)] = 1
TM_1k_1 = dti.TensorModel(*data_1k_1, mask=wm_mask, params_file='temp')
TM_1k_2 = dti.TensorModel(*data_1k_2, mask=wm_mask, params_file='temp')
TM_2k_1 = dti.TensorModel(*data_2k_1, mask=wm_mask, params_file='temp')
TM_2k_2 = dti.TensorModel(*data_2k_2, mask=wm_mask, params_file='temp')
TM_4k_1 = dti.TensorModel(*data_4k_1, mask=wm_mask, params_file='temp')
TM_4k_2 = dti.TensorModel(*data_4k_2, mask=wm_mask, params_file='temp')
Loading from file: /home/arokem/usr/lib/python2.7/site-packages/osmosis/data/FP/0009_01_DWI_2mm150dir_2x_b1000_aligned_trilin.bvals Loading from file: /home/arokem/usr/lib/python2.7/site-packages/osmosis/data/FP/0009_01_DWI_2mm150dir_2x_b1000_aligned_trilin.bvecs Loading from file: /home/arokem/usr/lib/python2.7/site-packages/osmosis/data/FP/0011_01_DWI_2mm150dir_2x_b1000_aligned_trilin.bvals Loading from file: /home/arokem/usr/lib/python2.7/site-packages/osmosis/data/FP/0011_01_DWI_2mm150dir_2x_b1000_aligned_trilin.bvecs Loading from file: /home/arokem/usr/lib/python2.7/site-packages/osmosis/data/FP/0005_01_DTI_2mm_150dir_2x_b2000_aligned_trilin.bvals Loading from file: /home/arokem/usr/lib/python2.7/site-packages/osmosis/data/FP/0005_01_DTI_2mm_150dir_2x_b2000_aligned_trilin.bvecs Loading from file: /home/arokem/usr/lib/python2.7/site-packages/osmosis/data/FP/0007_01_DTI_2mm_150dir_2x_b2000_aligned_trilin.bvals Loading from file: /home/arokem/usr/lib/python2.7/site-packages/osmosis/data/FP/0007_01_DTI_2mm_150dir_2x_b2000_aligned_trilin.bvecs Loading from file: /home/arokem/usr/lib/python2.7/site-packages/osmosis/data/FP/0005_01_DWI_2mm150dir_2x_b4000_aligned_trilin.bvals Loading from file: /home/arokem/usr/lib/python2.7/site-packages/osmosis/data/FP/0005_01_DWI_2mm150dir_2x_b4000_aligned_trilin.bvecs Loading from file: /home/arokem/usr/lib/python2.7/site-packages/osmosis/data/FP/0007_01_DWI_2mm150dir_2x_b4000_aligned_trilin.bvals Loading from file: /home/arokem/usr/lib/python2.7/site-packages/osmosis/data/FP/0007_01_DWI_2mm150dir_2x_b4000_aligned_trilin.bvecs
vol_anat = oio.get_t1(subject, resample=ni.load(oio.data_path + '/%s/%s_wm_mask.nii.gz'%(subject, subject)))
rrmse_data = [oza.cross_predict(TM_1k_1, TM_1k_2), oza.cross_predict(TM_2k_1, TM_2k_2), oza.cross_predict(TM_4k_1, TM_4k_2)]
Loading from file: /home/arokem/usr/lib/python2.7/site-packages/osmosis/data/FP/0009_01_DWI_2mm150dir_2x_b1000_aligned_trilin.nii.gz Loading from file: /home/arokem/usr/lib/python2.7/site-packages/osmosis/data/FP/0011_01_DWI_2mm150dir_2x_b1000_aligned_trilin.nii.gz Predicting signal from TensorModel Fitting TensorModel params using dipy Predicting signal from TensorModel Fitting TensorModel params using dipy Loading from file: /home/arokem/usr/lib/python2.7/site-packages/osmosis/data/FP/0005_01_DTI_2mm_150dir_2x_b2000_aligned_trilin.nii.gz Loading from file: /home/arokem/usr/lib/python2.7/site-packages/osmosis/data/FP/0007_01_DTI_2mm_150dir_2x_b2000_aligned_trilin.nii.gz Predicting signal from TensorModel Fitting TensorModel params using dipy Predicting signal from TensorModel Fitting TensorModel params using dipy Loading from file: /home/arokem/usr/lib/python2.7/site-packages/osmosis/data/FP/0005_01_DWI_2mm150dir_2x_b4000_aligned_trilin.nii.gz Loading from file: /home/arokem/usr/lib/python2.7/site-packages/osmosis/data/FP/0007_01_DWI_2mm150dir_2x_b4000_aligned_trilin.nii.gz Predicting signal from TensorModel Fitting TensorModel params using dipy Predicting signal from TensorModel Fitting TensorModel params using dipy
%gui wx
fn = []
for vol_rmse in rrmse_data:
fn.append('%s.png'%tempfile.NamedTemporaryFile().name)
viz.plot_cut_planes(vol_anat,
overlay=vol_rmse,
vmin=0.5,
vmax=1.5,
overlay_cmap="RdYlGn",
invert_cmap=True,
slice_coronal=40,
slice_saggital=15,
slice_axial=30,
view_azim=-40,
view_elev=60,
file_name=fn[-1])
Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x1e87a710> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x1ed2ca70> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x1ed33d70> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x1ed3efb0> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x1ed503b0> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x1ed5b6b0> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x15f39dd0> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x15f4f0b0> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x15f59410> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x15f62710> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x8305a10> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x8310d10> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x8338470> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x8342770> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x19b6ba70> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x19b76d70> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x19b83fb0> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x19b9a3b0>
for this_fn in fn:
i = Image(filename=this_fn, width=1280, height=1024)
display(i)
fn = []
for vol_rmse in rrmse_data:
fn.append('%s.png'%tempfile.NamedTemporaryFile().name)
viz.plot_cut_planes(vol_anat,
overlay=vol_rmse,
vmin=0.5,
vmax=1.5,
overlay_cmap="RdYlGn",
invert_cmap=True,
slice_coronal=40,
slice_saggital=15,
slice_axial=45,
view_azim=40,
view_elev=60,
file_name=fn[-1])
Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0xe1c4ad0> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x1d1f2e30> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x1bc113b0> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x198c8470> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x16de4110> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x159d4290> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0xb691410> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0xb67b650> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0xb66f3b0> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0xb19fef0> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x7f1b7d0> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x7cada70> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x7ef8d70> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0xb6c5fb0> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0xb6ae3b0> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0xb6b46b0> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0xb6789b0> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0xb64dcb0>
for this_fn in fn:
i = Image(filename=this_fn, width=1280, height=1024)
display(i)
viz.plot_cut_planes(vol_anat,
overlay=rrmse_data[-1],
vmin=0.5,
vmax=1.5,
overlay_cmap="RdYlGn",
invert_cmap=True,
slice_coronal=None,
slice_saggital=None,
slice_axial=45,
view_azim=0,
view_elev=0)
Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x16dd0950> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x16df3c50>
<mayavi.core.scene.Scene at 0x16ddc7d0>
%gui wx
viz.plot_cut_planes(vol_anat,
overlay=rrmse_data[-1],
vmin=0.5,
vmax=1.5,
overlay_cmap="RdYlGn",
invert_cmap=True,
slice_coronal=None,
slice_saggital=None,
slice_axial=30,
view_azim=0,
view_elev=0)
Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x16de93b0> Cannot set extents for <mayavi.modules.image_plane_widget.ImagePlaneWidget object at 0x16dc06b0>
<mayavi.core.scene.Scene at 0x16de7a70>