DIPY can read and write many different file formats. In this example we give a short introduction on how to use it for loading or saving streamlines.
import numpy as np from dipy.data import get_fnames from dipy.io.streamline import load_trk, save_trk from dipy.tracking.streamline import Streamlines
fname = get_fnames('fornix') print(fname) # Read Streamlines streams, hdr = load_trk(fname) streamlines = Streamlines(streams) # Save Streamlines save_trk("my_streamlines.trk", streamlines=streamlines, affine=np.eye(4))
- direct indexing from the disk
- memory usage always low
- extensions to include different arrays in the same file
Here is a simple example.
from dipy.io.dpy import Dpy dpw = Dpy('fornix.dpy', 'w')
Write many streamlines at once.
Write one track
or one track each time.
for t in streamlines: dpw.write_track(t) dpw.close()
Read streamlines directly from the disk using their indices
dpr = Dpy('fornix.dpy', 'r') some_streamlines = dpr.read_tracksi([0, 10, 20, 30, 100]) dpr.close() print(len(streamlines)) print(len(some_streamlines))
Example source code
You can download
the full source code of this example. This same script is also included in the dipy source distribution under the