This code demonstrates how to create an image view on disk and write/read data to/from it.
This code demonstrates how to create an image view on disk and write/read data to/from it. The code creates a 3D image of size 100x100x100 without allocating any CPU memory, and writes a line of data in each slice. Finally, it then reads and prints the value of the last written sample.
1import iolink
2
3import numpy as np
4
5
11 shape = iolink.VectorXu64(100, 100, 100)
12 dt = iolink.DataTypeId.DOUBLE
13
14 image = iolink.ImageViewFactory.create_on_disk(shape, dt)
15
16 print("Writing some data slice by slice, line by line")
17
18 lineSize = iolink.VectorXu64(shape[0], 1, 1)
19 valueInit = 0
20 for i in range(0, shape[2]):
21 for j in range(0, shape[1]):
22 lineRegion = iolink.RegionXu64((0, j, i), lineSize)
23
24
25 lineBuffer = np.full((shape[0], 1), valueInit, dtype=float)
26 image.write_region(lineRegion, lineBuffer)
27 valueInit+=1
28
29 print("Writing completed")
30
31 return image
32
33
35
36print("Reading last sample")
37lastSampleValue = image.read((99, 99, 99))
38print("Last sample value:", lastSampleValue)
39
40print("SUCCESS")
Definition diskImageView.py:1