Loading [MathJax]/extensions/Safe.js
  • Xibabel documentation
  • Home
  • Basic read and slice with Xibabel
  • General linear model with Xibabel
  • Slice-timing correction
  • The Xi accessor
  • Published with MkDocs
  • Theme by GitBook

Basic read and slice with Xibabel¶

In [1]:
Copied!
from pathlib import Path

import xibabel as xib

import matplotlib.pyplot as plt
plt.rc('image', cmap='gray')
from pathlib import Path import xibabel as xib import matplotlib.pyplot as plt plt.rc('image', cmap='gray')

We can load images directly from web URLs:

In [2]:
Copied!
ximg = xib.load('https://s3.amazonaws.com/openneuro.org/ds000105/sub-1/func/sub-1_task-objectviewing_run-01_bold.nii.gz')
ximg
ximg = xib.load('https://s3.amazonaws.com/openneuro.org/ds000105/sub-1/func/sub-1_task-objectviewing_run-01_bold.nii.gz') ximg
Out[2]:
<xarray.DataArray 'sub-1_task-objectviewing_run-01_bold' (i: 40, j: 64, k: 64,
                                                          time: 121)> Size: 159MB
dask.array<array, shape=(40, 64, 64, 121), dtype=float64, chunksize=(40, 64, 64, 121), chunktype=numpy.ndarray>
Coordinates:
  * i        (i) int64 320B 0 1 2 3 4 5 6 7 8 9 ... 31 32 33 34 35 36 37 38 39
  * j        (j) int64 512B 0 1 2 3 4 5 6 7 8 9 ... 55 56 57 58 59 60 61 62 63
  * k        (k) int64 512B 0 1 2 3 4 5 6 7 8 9 ... 55 56 57 58 59 60 61 62 63
  * time     (time) float64 968B 0.0 2.5 5.0 7.5 ... 292.5 295.0 297.5 300.0
Attributes:
    RepetitionTime:  2.5
    xib-affines:     {'scanner': [[-3.5, 0.0, 0.0, 68.25], [0.0, 3.75, 0.0, -...
xarray.DataArray
'sub-1_task-objectviewing_run-01_bold'
  • i: 40
  • j: 64
  • k: 64
  • time: 121
  • dask.array<chunksize=(40, 64, 64, 121), meta=np.ndarray>
    Array Chunk
    Bytes 151.25 MiB 151.25 MiB
    Shape (40, 64, 64, 121) (40, 64, 64, 121)
    Dask graph 1 chunks in 2 graph layers
    Data type float64 numpy.ndarray
    40 1 121 64 64
    • i
      (i)
      int64
      0 1 2 3 4 5 6 ... 34 35 36 37 38 39
      array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
             18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
             36, 37, 38, 39])
    • j
      (j)
      int64
      0 1 2 3 4 5 6 ... 58 59 60 61 62 63
      array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
             18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
             36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
             54, 55, 56, 57, 58, 59, 60, 61, 62, 63])
    • k
      (k)
      int64
      0 1 2 3 4 5 6 ... 58 59 60 61 62 63
      array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
             18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
             36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
             54, 55, 56, 57, 58, 59, 60, 61, 62, 63])
    • time
      (time)
      float64
      0.0 2.5 5.0 ... 295.0 297.5 300.0
      units :
      s
      array([  0. ,   2.5,   5. ,   7.5,  10. ,  12.5,  15. ,  17.5,  20. ,  22.5,
              25. ,  27.5,  30. ,  32.5,  35. ,  37.5,  40. ,  42.5,  45. ,  47.5,
              50. ,  52.5,  55. ,  57.5,  60. ,  62.5,  65. ,  67.5,  70. ,  72.5,
              75. ,  77.5,  80. ,  82.5,  85. ,  87.5,  90. ,  92.5,  95. ,  97.5,
             100. , 102.5, 105. , 107.5, 110. , 112.5, 115. , 117.5, 120. , 122.5,
             125. , 127.5, 130. , 132.5, 135. , 137.5, 140. , 142.5, 145. , 147.5,
             150. , 152.5, 155. , 157.5, 160. , 162.5, 165. , 167.5, 170. , 172.5,
             175. , 177.5, 180. , 182.5, 185. , 187.5, 190. , 192.5, 195. , 197.5,
             200. , 202.5, 205. , 207.5, 210. , 212.5, 215. , 217.5, 220. , 222.5,
             225. , 227.5, 230. , 232.5, 235. , 237.5, 240. , 242.5, 245. , 247.5,
             250. , 252.5, 255. , 257.5, 260. , 262.5, 265. , 267.5, 270. , 272.5,
             275. , 277.5, 280. , 282.5, 285. , 287.5, 290. , 292.5, 295. , 297.5,
             300. ])
    • i
      PandasIndex
      PandasIndex(Index([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
             18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
             36, 37, 38, 39],
            dtype='int64', name='i'))
    • j
      PandasIndex
      PandasIndex(Index([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
             18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
             36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
             54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
            dtype='int64', name='j'))
    • k
      PandasIndex
      PandasIndex(Index([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
             18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
             36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
             54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
            dtype='int64', name='k'))
    • time
      PandasIndex
      PandasIndex(Index([  0.0,   2.5,   5.0,   7.5,  10.0,  12.5,  15.0,  17.5,  20.0,  22.5,
             ...
             277.5, 280.0, 282.5, 285.0, 287.5, 290.0, 292.5, 295.0, 297.5, 300.0],
            dtype='float64', name='time', length=121))
  • RepetitionTime :
    2.5
    xib-affines :
    {'scanner': [[-3.5, 0.0, 0.0, 68.25], [0.0, 3.75, 0.0, -118.125], [0.0, 0.0, 3.75, -118.125], [0.0, 0.0, 0.0, 1.0]]}

Notice that loading automatically picks up BIDS data in corresponding JSON files:

In [3]:
Copied!
ximg.attrs
ximg.attrs
Out[3]:
{'RepetitionTime': 2.5,
 'xib-affines': {'scanner': [[-3.5, 0.0, 0.0, 68.25],
   [0.0, 3.75, 0.0, -118.125],
   [0.0, 0.0, 3.75, -118.125],
   [0.0, 0.0, 0.0, 1.0]]}}

Slicing can now use axis labels:

In [4]:
Copied!
mean_img = ximg.mean('time')
mean_img
mean_img = ximg.mean('time') mean_img
Out[4]:
<xarray.DataArray 'sub-1_task-objectviewing_run-01_bold' (i: 40, j: 64, k: 64)> Size: 1MB
dask.array<mean_agg-aggregate, shape=(40, 64, 64), dtype=float64, chunksize=(40, 64, 64), chunktype=numpy.ndarray>
Coordinates:
  * i        (i) int64 320B 0 1 2 3 4 5 6 7 8 9 ... 31 32 33 34 35 36 37 38 39
  * j        (j) int64 512B 0 1 2 3 4 5 6 7 8 9 ... 55 56 57 58 59 60 61 62 63
  * k        (k) int64 512B 0 1 2 3 4 5 6 7 8 9 ... 55 56 57 58 59 60 61 62 63
xarray.DataArray
'sub-1_task-objectviewing_run-01_bold'
  • i: 40
  • j: 64
  • k: 64
  • dask.array<chunksize=(40, 64, 64), meta=np.ndarray>
    Array Chunk
    Bytes 1.25 MiB 1.25 MiB
    Shape (40, 64, 64) (40, 64, 64)
    Dask graph 1 chunks in 4 graph layers
    Data type float64 numpy.ndarray
    64 64 40
    • i
      (i)
      int64
      0 1 2 3 4 5 6 ... 34 35 36 37 38 39
      array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
             18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
             36, 37, 38, 39])
    • j
      (j)
      int64
      0 1 2 3 4 5 6 ... 58 59 60 61 62 63
      array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
             18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
             36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
             54, 55, 56, 57, 58, 59, 60, 61, 62, 63])
    • k
      (k)
      int64
      0 1 2 3 4 5 6 ... 58 59 60 61 62 63
      array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
             18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
             36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
             54, 55, 56, 57, 58, 59, 60, 61, 62, 63])
    • i
      PandasIndex
      PandasIndex(Index([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
             18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
             36, 37, 38, 39],
            dtype='int64', name='i'))
    • j
      PandasIndex
      PandasIndex(Index([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
             18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
             36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
             54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
            dtype='int64', name='j'))
    • k
      PandasIndex
      PandasIndex(Index([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
             18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
             36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
             54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
            dtype='int64', name='k'))

Notice that we haven't yet fetched the data. We do so only when we need it - for example, when plotting the image data:

In [5]:
Copied!
plt.imshow(mean_img.sel(k=32))
plt.imshow(mean_img.sel(k=32))
Out[5]:
<matplotlib.image.AxesImage at 0x13d50e4c0>
No description has been provided for this image

We may also want to get a local in-memory copy of the image so we don't have to do repeated reads from the source:

In [6]:
Copied!
ximg_loaded = ximg.compute()
ximg_loaded
ximg_loaded = ximg.compute() ximg_loaded
Out[6]:
<xarray.DataArray 'sub-1_task-objectviewing_run-01_bold' (i: 40, j: 64, k: 64,
                                                          time: 121)> Size: 159MB
array([[[[ 0.,  0.,  0., ...,  0.,  0.,  0.],
         [ 0.,  0.,  0., ...,  0.,  0.,  0.],
         [ 0.,  0.,  0., ...,  0.,  0.,  0.],
         ...,
         [ 0.,  0.,  0., ...,  0.,  0.,  0.],
         [ 0.,  0.,  0., ...,  0.,  0.,  0.],
         [ 0.,  0.,  0., ...,  0.,  0.,  0.]],

        [[ 9.,  0.,  0., ..., 14., 11., 17.],
         [14.,  0.,  0., ..., 17.,  8., 15.],
         [27.,  0.,  0., ..., 10., 13., 10.],
         ...,
         [ 0.,  0.,  0., ...,  0.,  0.,  0.],
         [ 0.,  0.,  0., ...,  0.,  0.,  0.],
         [ 0.,  0.,  0., ...,  0.,  0.,  0.]],

        [[ 7.,  0.,  0., ..., 11.,  9., 11.],
         [14.,  0.,  0., ...,  9., 10., 17.],
         [29.,  0.,  0., ..., 13.,  9., 13.],
         ...,
...
         ...,
         [17., 15., 15., ..., 16., 11., 11.],
         [11., 15., 12., ..., 11., 13., 13.],
         [ 8., 10.,  6., ...,  7.,  9.,  7.]],

        [[ 0.,  0.,  0., ...,  0.,  0.,  0.],
         [13.,  5., 14., ..., 11., 11.,  9.],
         [15.,  8.,  9., ..., 12., 17., 17.],
         ...,
         [16., 17., 18., ..., 15., 11., 16.],
         [14., 13., 17., ..., 18.,  9., 10.],
         [10.,  8.,  8., ...,  9.,  9.,  5.]],

        [[ 0.,  0.,  0., ...,  0.,  0.,  0.],
         [14.,  7., 15., ..., 21., 15., 13.],
         [19., 12., 11., ..., 17., 21., 21.],
         ...,
         [ 0.,  0.,  0., ...,  0.,  0.,  0.],
         [ 0.,  0.,  0., ...,  0.,  0.,  0.],
         [ 0.,  0.,  0., ...,  0.,  0.,  0.]]]])
Coordinates:
  * i        (i) int64 320B 0 1 2 3 4 5 6 7 8 9 ... 31 32 33 34 35 36 37 38 39
  * j        (j) int64 512B 0 1 2 3 4 5 6 7 8 9 ... 55 56 57 58 59 60 61 62 63
  * k        (k) int64 512B 0 1 2 3 4 5 6 7 8 9 ... 55 56 57 58 59 60 61 62 63
  * time     (time) float64 968B 0.0 2.5 5.0 7.5 ... 292.5 295.0 297.5 300.0
Attributes:
    RepetitionTime:  2.5
    xib-affines:     {'scanner': [[-3.5, 0.0, 0.0, 68.25], [0.0, 3.75, 0.0, -...
xarray.DataArray
'sub-1_task-objectviewing_run-01_bold'
  • i: 40
  • j: 64
  • k: 64
  • time: 121
  • 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
    array([[[[ 0.,  0.,  0., ...,  0.,  0.,  0.],
             [ 0.,  0.,  0., ...,  0.,  0.,  0.],
             [ 0.,  0.,  0., ...,  0.,  0.,  0.],
             ...,
             [ 0.,  0.,  0., ...,  0.,  0.,  0.],
             [ 0.,  0.,  0., ...,  0.,  0.,  0.],
             [ 0.,  0.,  0., ...,  0.,  0.,  0.]],
    
            [[ 9.,  0.,  0., ..., 14., 11., 17.],
             [14.,  0.,  0., ..., 17.,  8., 15.],
             [27.,  0.,  0., ..., 10., 13., 10.],
             ...,
             [ 0.,  0.,  0., ...,  0.,  0.,  0.],
             [ 0.,  0.,  0., ...,  0.,  0.,  0.],
             [ 0.,  0.,  0., ...,  0.,  0.,  0.]],
    
            [[ 7.,  0.,  0., ..., 11.,  9., 11.],
             [14.,  0.,  0., ...,  9., 10., 17.],
             [29.,  0.,  0., ..., 13.,  9., 13.],
             ...,
    ...
             ...,
             [17., 15., 15., ..., 16., 11., 11.],
             [11., 15., 12., ..., 11., 13., 13.],
             [ 8., 10.,  6., ...,  7.,  9.,  7.]],
    
            [[ 0.,  0.,  0., ...,  0.,  0.,  0.],
             [13.,  5., 14., ..., 11., 11.,  9.],
             [15.,  8.,  9., ..., 12., 17., 17.],
             ...,
             [16., 17., 18., ..., 15., 11., 16.],
             [14., 13., 17., ..., 18.,  9., 10.],
             [10.,  8.,  8., ...,  9.,  9.,  5.]],
    
            [[ 0.,  0.,  0., ...,  0.,  0.,  0.],
             [14.,  7., 15., ..., 21., 15., 13.],
             [19., 12., 11., ..., 17., 21., 21.],
             ...,
             [ 0.,  0.,  0., ...,  0.,  0.,  0.],
             [ 0.,  0.,  0., ...,  0.,  0.,  0.],
             [ 0.,  0.,  0., ...,  0.,  0.,  0.]]]])
    • i
      (i)
      int64
      0 1 2 3 4 5 6 ... 34 35 36 37 38 39
      array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
             18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
             36, 37, 38, 39])
    • j
      (j)
      int64
      0 1 2 3 4 5 6 ... 58 59 60 61 62 63
      array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
             18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
             36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
             54, 55, 56, 57, 58, 59, 60, 61, 62, 63])
    • k
      (k)
      int64
      0 1 2 3 4 5 6 ... 58 59 60 61 62 63
      array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
             18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
             36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
             54, 55, 56, 57, 58, 59, 60, 61, 62, 63])
    • time
      (time)
      float64
      0.0 2.5 5.0 ... 295.0 297.5 300.0
      units :
      s
      array([  0. ,   2.5,   5. ,   7.5,  10. ,  12.5,  15. ,  17.5,  20. ,  22.5,
              25. ,  27.5,  30. ,  32.5,  35. ,  37.5,  40. ,  42.5,  45. ,  47.5,
              50. ,  52.5,  55. ,  57.5,  60. ,  62.5,  65. ,  67.5,  70. ,  72.5,
              75. ,  77.5,  80. ,  82.5,  85. ,  87.5,  90. ,  92.5,  95. ,  97.5,
             100. , 102.5, 105. , 107.5, 110. , 112.5, 115. , 117.5, 120. , 122.5,
             125. , 127.5, 130. , 132.5, 135. , 137.5, 140. , 142.5, 145. , 147.5,
             150. , 152.5, 155. , 157.5, 160. , 162.5, 165. , 167.5, 170. , 172.5,
             175. , 177.5, 180. , 182.5, 185. , 187.5, 190. , 192.5, 195. , 197.5,
             200. , 202.5, 205. , 207.5, 210. , 212.5, 215. , 217.5, 220. , 222.5,
             225. , 227.5, 230. , 232.5, 235. , 237.5, 240. , 242.5, 245. , 247.5,
             250. , 252.5, 255. , 257.5, 260. , 262.5, 265. , 267.5, 270. , 272.5,
             275. , 277.5, 280. , 282.5, 285. , 287.5, 290. , 292.5, 295. , 297.5,
             300. ])
    • i
      PandasIndex
      PandasIndex(Index([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
             18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
             36, 37, 38, 39],
            dtype='int64', name='i'))
    • j
      PandasIndex
      PandasIndex(Index([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
             18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
             36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
             54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
            dtype='int64', name='j'))
    • k
      PandasIndex
      PandasIndex(Index([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
             18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
             36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
             54, 55, 56, 57, 58, 59, 60, 61, 62, 63],
            dtype='int64', name='k'))
    • time
      PandasIndex
      PandasIndex(Index([  0.0,   2.5,   5.0,   7.5,  10.0,  12.5,  15.0,  17.5,  20.0,  22.5,
             ...
             277.5, 280.0, 282.5, 285.0, 287.5, 290.0, 292.5, 295.0, 297.5, 300.0],
            dtype='float64', name='time', length=121))
  • RepetitionTime :
    2.5
    xib-affines :
    {'scanner': [[-3.5, 0.0, 0.0, 68.25], [0.0, 3.75, 0.0, -118.125], [0.0, 0.0, 3.75, -118.125], [0.0, 0.0, 0.0, 1.0]]}

We can save the original image as Zarr format, written with the .ximg extension:

In [7]:
Copied!
xib.save(ximg_loaded, 'out.ximg')
xib.save(ximg_loaded, 'out.ximg')
Out[7]:
<xarray.backends.zarr.ZarrStore at 0x13fc566c0>

and load it back again:

In [8]:
Copied!
back = xib.load('out.ximg')
back = xib.load('out.ximg')

We can convert the Xibabel image to NIfTI in-memory thus:

In [9]:
Copied!
nib_img, attrs = xib.to_nifti(ximg_loaded)
nib_img
nib_img, attrs = xib.to_nifti(ximg_loaded) nib_img
Out[9]:
<nibabel.nifti1.Nifti1Image at 0x13fccc700>

We can also write the image out to BIDS (NIfTI / JSON):

In [10]:
Copied!
xib.save(ximg_loaded, 'out.nii.gz')
xib.save(ximg_loaded, 'out.nii.gz')

List files in this directory:

In [11]:
Copied!
sorted(str(p) for p in Path().glob('out*'))
sorted(str(p) for p in Path().glob('out*'))
Out[11]:
['out.json', 'out.nii.gz', 'out.ximg']