VTKio 0.1.0.dev9__tar.gz → 0.1.0.dev11__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/.gitignore +0 -0
  2. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/CITATION.cff +0 -0
  3. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/LICENSE +0 -0
  4. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/PKG-INFO +1 -1
  5. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/README.md +0 -0
  6. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/examples/ImageData.py +267 -267
  7. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/examples/PolyData.py +418 -418
  8. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/examples/RectilinearData.py +267 -267
  9. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/examples/StructuredGrid.py +442 -442
  10. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/examples/UnstructuredGrid.py +401 -401
  11. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/examples/benchmarking.py +0 -0
  12. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/examples/new_reader_testing.py +48 -40
  13. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/examples/new_vtkhdf_test.py +231 -231
  14. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/examples/read_vtk_files.py +0 -0
  15. vtkio-0.1.0.dev11/examples/test_blank_vtp.vtp +17 -0
  16. vtkio-0.1.0.dev11/examples/test_points_polydata.vtp +146 -0
  17. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/pyproject.toml +163 -163
  18. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/__init__.py +0 -0
  19. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/config.py +437 -374
  20. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/helpers.py +0 -0
  21. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/reader/__init__.py +0 -0
  22. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/reader/api.py +425 -426
  23. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/reader/base_reader.py +707 -716
  24. vtkio-0.1.0.dev11/src/vtkio/reader/compression.py +392 -0
  25. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/reader/data_processors.py +482 -384
  26. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/reader/exceptions.py +38 -38
  27. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/reader/hdf5.py +0 -0
  28. vtkio-0.1.0.dev11/src/vtkio/reader/readers.py +1547 -0
  29. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/reader/xml.py +0 -0
  30. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/simplified.py +0 -0
  31. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/utilities.py +248 -248
  32. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/version.py +78 -78
  33. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/vtk_cell_types.py +0 -0
  34. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/vtk_structures.py +0 -0
  35. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/writer/__init__.py +16 -16
  36. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/writer/pvd_writer.py +0 -0
  37. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/writer/vtkhdf.py +1278 -1256
  38. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/writer/writers.py +408 -408
  39. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/src/vtkio/writer/xml_writer.py +1605 -1598
  40. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/__init__.py +0 -0
  41. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/conftest.py +151 -151
  42. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_api.py +86 -86
  43. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_base_reader.py +65 -65
  44. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_concrete_readers.py +100 -100
  45. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_config.py +38 -38
  46. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_data_processors.py +67 -67
  47. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_exceptions.py +21 -21
  48. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_integration.py +98 -98
  49. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_read_vtkhdf_vti.py +0 -0
  50. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_read_xml_vti.py +0 -0
  51. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_read_xml_vtp.py +0 -0
  52. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_read_xml_vtr.py +0 -0
  53. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_read_xml_vts.py +0 -0
  54. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_read_xml_vtu.py +0 -0
  55. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_vtkhdf_writer.py +0 -0
  56. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_write_vtkhdf_vts.py +0 -0
  57. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_write_xml_vti.py +0 -0
  58. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_write_xml_vtp.py +0 -0
  59. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_write_xml_vtr.py +0 -0
  60. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_write_xml_vts.py +0 -0
  61. {vtkio-0.1.0.dev9 → vtkio-0.1.0.dev11}/tests/test_write_xml_vtu.py +0 -0
  62. vtkio-0.1.0.dev9/src/vtkio/reader/compression.py +0 -326
  63. vtkio-0.1.0.dev9/src/vtkio/reader/readers.py +0 -735
File without changes
File without changes
File without changes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: VTKio
3
- Version: 0.1.0.dev9
3
+ Version: 0.1.0.dev11
4
4
  Summary: A simple package for converting data between VTK files (XML and HDF5) and NumPy arrays.
5
5
  Project-URL: Homepage, https://jpmorr.gitlab.io/vtkio
6
6
  Project-URL: Documentation, https://jpmorr.gitlab.io/vtkio
File without changes
@@ -1,267 +1,267 @@
1
- #!/usr/bin/env python
2
- """
3
- VTK ImageDtata examples.
4
-
5
- Created at 20:22, 26 Apr, 2022
6
- """
7
-
8
- __author__ = 'J.P. Morrissey'
9
- __copyright__ = 'Copyright 2022-2025'
10
- __maintainer__ = 'J.P. Morrissey'
11
- __email__ = 'morrissey.jp@gmail.com'
12
- __status__ = 'Development'
13
-
14
- # Standard Library
15
-
16
- # Imports
17
- import numpy as np
18
-
19
- # Local Sources
20
- from vtkio.writer import write_vti
21
-
22
-
23
- #%% Image data example
24
- print("Running ImageData Examples...")
25
-
26
- # write blank skeleton file
27
- write_vti('test_blank_vti_new', whole_extent=[0, 1, 0, 1, 0, 1], piece_extent=[0, 1, 0, 1, 0, 1],
28
- spacing=[1, 1, 1], point_data=None, cell_data=None, field_data=None, encoding='ascii')
29
-
30
- # --8<-- [start:create_grid_data]
31
-
32
- # set numpy seed value so that all arrays contain repeatable numbers
33
- np.random.seed(77)
34
-
35
- # Grid Dimensions / Topology
36
- nx, ny, nz = 6, 6, 2
37
- ncells = nx * ny * nz
38
- npoints = (nx + 1) * (ny + 1) * (nz + 1)
39
-
40
- origin = np.array([0, 0, 0])
41
- num_cells = np.array([nx, ny, nz])
42
- spacing = np.array([1, 1, 1])
43
- max_extent = spacing * num_cells
44
-
45
- whole_extent = np.array([origin, max_extent]).T.flatten()
46
- piece_extent = np.array([origin, max_extent]).T.flatten()
47
-
48
- # Variables
49
- temp = np.random.random(npoints)
50
- multi_component2 = np.random.random((npoints, 2))
51
- multi_component3 = np.random.random((npoints, 3))
52
- multi_component4 = np.random.random((npoints, 4))
53
- force = np.random.random((npoints, 3)) * 20
54
- stress = np.random.random([npoints, 9]) * 1000
55
- norms = np.random.random([npoints, 3])
56
- norms /= np.linalg.norm(norms, axis=1)[:, np.newaxis]
57
-
58
- # data for writing for each point or cell is defined in a dict of dicts
59
- # where the keys represent the DataArray type and the nested keys the
60
- # DataArray name
61
- point_data = {"scalars": {"temp": temp,
62
- "2-components": multi_component2,
63
- "3-components": multi_component3,
64
- "4-components": multi_component4},
65
- "vectors": {"force": force},
66
- "tensors": {"stress": stress},
67
- "normals": {"normals": norms},
68
- }
69
-
70
- pressure = np.arange(ncells)
71
-
72
- field_data = {'TimeValue': 0.122654987}
73
-
74
- # --8<-- [end:create_grid_data]
75
-
76
-
77
- ## new version
78
- # --8<-- [start:write_imagedata_writer_ascii]
79
- from vtkio.writer.xml_writer import XMLImageDataWriter
80
-
81
-
82
- file = XMLImageDataWriter('test_uniform_image_data.vti',
83
- origin=origin, spacing=spacing,
84
- whole_extent=whole_extent,
85
- piece_extent=piece_extent,
86
- cell_data={"scalars": {"pressure": pressure}},
87
- field_data=field_data,
88
- point_data=point_data)
89
-
90
- file.write_xml_file()
91
-
92
- # --8<-- [end:write_imagedata_writer_ascii]
93
-
94
- # --8<-- [start:write_imagedata_writer_binary]
95
-
96
- file = XMLImageDataWriter('test_uniform_image_data.vti',
97
- origin=origin, spacing=spacing,
98
- whole_extent=whole_extent,
99
- piece_extent=piece_extent,
100
- cell_data={"scalars": {"pressure": pressure}},
101
- field_data=field_data,
102
- point_data=point_data,
103
- encoding='binary')
104
-
105
- file.write_xml_file()
106
-
107
- # --8<-- [end:write_imagedata_writer_binary]
108
-
109
- # --8<-- [start:write_imagedata_writer_appended_encoded]
110
-
111
- file = XMLImageDataWriter('test_uniform_image_data.vti',
112
- origin=origin, spacing=spacing,
113
- whole_extent=whole_extent,
114
- piece_extent=piece_extent,
115
- cell_data={"scalars": {"pressure": pressure}},
116
- field_data=field_data,
117
- point_data=point_data,
118
- encoding='appended')
119
-
120
- file.write_xml_file()
121
-
122
- # --8<-- [end:write_imagedata_writer_appended_encoded]
123
-
124
- # --8<-- [start:write_imagedata_writer_appended_raw]
125
-
126
- file = XMLImageDataWriter('test_uniform_image_data.vti', origin=origin, spacing=spacing,
127
- whole_extent=whole_extent,
128
- piece_extent=piece_extent,
129
- cell_data={"scalars": {"pressure": pressure}},
130
- field_data=field_data,
131
- point_data=point_data,
132
- encoding='appended',
133
- appended_encoding='raw')
134
-
135
- file.write_xml_file()
136
-
137
- # --8<-- [end:write_imagedata_writer_appended_raw]
138
-
139
- # --8<-- [start:write_grid_data_writer_api]
140
- from vtkio.writer import write_vti
141
-
142
- write_vti('test_image_data_grid_new',
143
- whole_extent=whole_extent,
144
- piece_extent=piece_extent,
145
- origin=origin, spacing=spacing,
146
- point_data=point_data,
147
- cell_data={"scalars": {"pressure": pressure}},
148
- field_data=None,
149
- encoding='ascii')
150
-
151
- write_vti('test_image_data_grid_binary_new',
152
- whole_extent=whole_extent,
153
- piece_extent=piece_extent,
154
- origin=origin, spacing=spacing,
155
- point_data=point_data,
156
- cell_data={"scalars": {"pressure": pressure}},
157
- field_data=None,
158
- encoding='binary')
159
-
160
- write_vti('test_image_data_grid_raw_appended_new',
161
- whole_extent=whole_extent,
162
- piece_extent=piece_extent,
163
- origin=origin, spacing=spacing,
164
- point_data=point_data,
165
- cell_data={"scalars": {"pressure": pressure}},
166
- field_data=None,
167
- encoding='appended',
168
- appended_encoding='raw')
169
-
170
- write_vti('test_image_data_grid_appended_new',
171
- whole_extent=whole_extent,
172
- piece_extent=piece_extent,
173
- origin=origin, spacing=spacing,
174
- point_data=point_data,
175
- cell_data={"scalars": {"pressure": pressure}},
176
- field_data=None, encoding='appended')
177
-
178
- # --8<-- [end:write_grid_data_writer_api]
179
-
180
-
181
- # --8<-- [start:write_grid_data_writer_api_vtkhdf]
182
- write_vti('test_image_data_grid_appended_new',
183
- whole_extent=whole_extent,
184
- origin=origin, spacing=spacing,
185
- point_data=point_data,
186
- cell_data={"scalars": {"pressure": pressure}},
187
- field_data=None, file_format='vtkhdf')
188
-
189
- # --8<-- [end:write_grid_data_writer_api_vtkhdf]
190
-
191
-
192
- # --8<-- [start:write_grid_data_hl]
193
- from vtkio.simplified import uniform_grid
194
-
195
- uniform_grid('test_uniform_image_data',
196
- num_cells=num_cells, spacing=spacing,
197
- cell_data={"scalars": {"pressure": pressure}},
198
- point_data=point_data)
199
-
200
- uniform_grid('test_uniform_image_data_binary',
201
- num_cells=num_cells, spacing=spacing,
202
- cell_data={"scalars": {"pressure": pressure}},
203
- point_data=point_data, encoding='binary')
204
-
205
- uniform_grid('test_uniform_image_data_appended',
206
- num_cells=num_cells, spacing=spacing,
207
- cell_data={"scalars": {"pressure": pressure}},
208
- point_data=point_data, encoding='appended')
209
-
210
- uniform_grid('test_uniform_image_data_2',
211
- num_cells=num_cells, spacing=spacing * 0.45,
212
- origin=origin + 0.7312,
213
- cell_data={"scalars": {"pressure": pressure}},
214
- point_data=point_data,
215
- field_data=field_data)
216
-
217
- # --8<-- [end:write_grid_data_hl]
218
-
219
- #%% test vtkhdf writing with writer
220
-
221
- # --8<-- [start:write_imagedata_writer_vtkhdf]
222
- from vtkio.writer.vtkhdf import VTKHDFImageDataWriter
223
-
224
- imagedata_test = VTKHDFImageDataWriter('test_image_data_grid_hdf5',
225
- whole_extent=whole_extent,
226
- origin=origin, spacing=spacing,
227
- field_data=field_data,
228
- point_data=point_data,
229
- cell_data={"scalars": {"pressure": pressure}})
230
-
231
- imagedata_test.write_vtkhdf_file()
232
- # --8<-- [end:write_imagedata_writer_vtkhdf]
233
-
234
- #%% test vtkhdf writing with hl api
235
-
236
- # whole_extent = [0, 3, 0, 3, 0, 3]
237
- # origin = [0, 0, 0]
238
- # spacing = [0.1, 0.1, 0.1]
239
- # direction = [1, 0, 0, 0, 1, 0, 0, 0, 1]
240
-
241
- write_vti('test_uniform_image_data_2', whole_extent, origin=origin+0.7312, spacing=spacing*0.45,
242
- cell_data={"scalars": {"pressure": pressure}}, point_data=point_data, field_data=field_data)
243
-
244
- #%% VTKHDFImageDataWriter example
245
- imagedata_test = VTKHDFImageDataWriter('test_image_data_grid_hdf5_new', whole_extent=whole_extent, origin=origin,
246
- spacing=spacing, field_data=None, point_data=point_data,
247
- cell_data={"scalars": {"pressure": pressure}})
248
-
249
- imagedata_test.write_vtkhdf_file()
250
-
251
-
252
- #%% write vtkhdf file with additional metadata
253
- from vtkio.reader import read_vtkxml_data
254
-
255
- regular_grid_example_data = read_vtkxml_data('../TestData/vti/regular_grid_example.vti')
256
- structured_points_data = read_vtkxml_data('../TestData/vti/structured_points.vti')
257
- vase_data = read_vtkxml_data('../TestData/vti/vase.vti')
258
-
259
- # --8<-- [start:write_points_writer_api_vtkhdf_additional_metadata]
260
- from vtkio.writer.vtkhdf import VTKHDFMultiBlockWriter
261
-
262
- blocks = {'block1': regular_grid_example_data, 'block2': structured_points_data, 'block3': vase_data,}
263
-
264
- writer = VTKHDFMultiBlockWriter('hdf_multiblock_test_imagedata', blocks)
265
- writer.write_vtkhdf_file()
266
-
267
- # --8<-- [end:write_points_writer_api_vtkhdf_additional_metadata]
1
+ #!/usr/bin/env python
2
+ """
3
+ VTK ImageDtata examples.
4
+
5
+ Created at 20:22, 26 Apr, 2022
6
+ """
7
+
8
+ __author__ = 'J.P. Morrissey'
9
+ __copyright__ = 'Copyright 2022-2025'
10
+ __maintainer__ = 'J.P. Morrissey'
11
+ __email__ = 'morrissey.jp@gmail.com'
12
+ __status__ = 'Development'
13
+
14
+ # Standard Library
15
+
16
+ # Imports
17
+ import numpy as np
18
+
19
+ # Local Sources
20
+ from vtkio.writer import write_vti
21
+
22
+
23
+ #%% Image data example
24
+ print("Running ImageData Examples...")
25
+
26
+ # write blank skeleton file
27
+ write_vti('test_blank_vti_new', whole_extent=[0, 1, 0, 1, 0, 1], piece_extent=[0, 1, 0, 1, 0, 1],
28
+ spacing=[1, 1, 1], point_data=None, cell_data=None, field_data=None, encoding='ascii')
29
+
30
+ # --8<-- [start:create_grid_data]
31
+
32
+ # set numpy seed value so that all arrays contain repeatable numbers
33
+ np.random.seed(77)
34
+
35
+ # Grid Dimensions / Topology
36
+ nx, ny, nz = 6, 6, 2
37
+ ncells = nx * ny * nz
38
+ npoints = (nx + 1) * (ny + 1) * (nz + 1)
39
+
40
+ origin = np.array([0, 0, 0])
41
+ num_cells = np.array([nx, ny, nz])
42
+ spacing = np.array([1, 1, 1])
43
+ max_extent = spacing * num_cells
44
+
45
+ whole_extent = np.array([origin, max_extent]).T.flatten()
46
+ piece_extent = np.array([origin, max_extent]).T.flatten()
47
+
48
+ # Variables
49
+ temp = np.random.random(npoints)
50
+ multi_component2 = np.random.random((npoints, 2))
51
+ multi_component3 = np.random.random((npoints, 3))
52
+ multi_component4 = np.random.random((npoints, 4))
53
+ force = np.random.random((npoints, 3)) * 20
54
+ stress = np.random.random([npoints, 9]) * 1000
55
+ norms = np.random.random([npoints, 3])
56
+ norms /= np.linalg.norm(norms, axis=1)[:, np.newaxis]
57
+
58
+ # data for writing for each point or cell is defined in a dict of dicts
59
+ # where the keys represent the DataArray type and the nested keys the
60
+ # DataArray name
61
+ point_data = {"scalars": {"temp": temp,
62
+ "2-components": multi_component2,
63
+ "3-components": multi_component3,
64
+ "4-components": multi_component4},
65
+ "vectors": {"force": force},
66
+ "tensors": {"stress": stress},
67
+ "normals": {"normals": norms},
68
+ }
69
+
70
+ pressure = np.arange(ncells)
71
+
72
+ field_data = {'TimeValue': 0.122654987}
73
+
74
+ # --8<-- [end:create_grid_data]
75
+
76
+
77
+ ## new version
78
+ # --8<-- [start:write_imagedata_writer_ascii]
79
+ from vtkio.writer.xml_writer import XMLImageDataWriter
80
+
81
+
82
+ file = XMLImageDataWriter('test_uniform_image_data.vti',
83
+ origin=origin, spacing=spacing,
84
+ whole_extent=whole_extent,
85
+ piece_extent=piece_extent,
86
+ cell_data={"scalars": {"pressure": pressure}},
87
+ field_data=field_data,
88
+ point_data=point_data)
89
+
90
+ file.write_xml_file()
91
+
92
+ # --8<-- [end:write_imagedata_writer_ascii]
93
+
94
+ # --8<-- [start:write_imagedata_writer_binary]
95
+
96
+ file = XMLImageDataWriter('test_uniform_image_data.vti',
97
+ origin=origin, spacing=spacing,
98
+ whole_extent=whole_extent,
99
+ piece_extent=piece_extent,
100
+ cell_data={"scalars": {"pressure": pressure}},
101
+ field_data=field_data,
102
+ point_data=point_data,
103
+ encoding='binary')
104
+
105
+ file.write_xml_file()
106
+
107
+ # --8<-- [end:write_imagedata_writer_binary]
108
+
109
+ # --8<-- [start:write_imagedata_writer_appended_encoded]
110
+
111
+ file = XMLImageDataWriter('test_uniform_image_data.vti',
112
+ origin=origin, spacing=spacing,
113
+ whole_extent=whole_extent,
114
+ piece_extent=piece_extent,
115
+ cell_data={"scalars": {"pressure": pressure}},
116
+ field_data=field_data,
117
+ point_data=point_data,
118
+ encoding='appended')
119
+
120
+ file.write_xml_file()
121
+
122
+ # --8<-- [end:write_imagedata_writer_appended_encoded]
123
+
124
+ # --8<-- [start:write_imagedata_writer_appended_raw]
125
+
126
+ file = XMLImageDataWriter('test_uniform_image_data.vti', origin=origin, spacing=spacing,
127
+ whole_extent=whole_extent,
128
+ piece_extent=piece_extent,
129
+ cell_data={"scalars": {"pressure": pressure}},
130
+ field_data=field_data,
131
+ point_data=point_data,
132
+ encoding='appended',
133
+ appended_encoding='raw')
134
+
135
+ file.write_xml_file()
136
+
137
+ # --8<-- [end:write_imagedata_writer_appended_raw]
138
+
139
+ # --8<-- [start:write_grid_data_writer_api]
140
+ from vtkio.writer import write_vti
141
+
142
+ write_vti('test_image_data_grid_new',
143
+ whole_extent=whole_extent,
144
+ piece_extent=piece_extent,
145
+ origin=origin, spacing=spacing,
146
+ point_data=point_data,
147
+ cell_data={"scalars": {"pressure": pressure}},
148
+ field_data=None,
149
+ encoding='ascii')
150
+
151
+ write_vti('test_image_data_grid_binary_new',
152
+ whole_extent=whole_extent,
153
+ piece_extent=piece_extent,
154
+ origin=origin, spacing=spacing,
155
+ point_data=point_data,
156
+ cell_data={"scalars": {"pressure": pressure}},
157
+ field_data=None,
158
+ encoding='binary')
159
+
160
+ write_vti('test_image_data_grid_raw_appended_new',
161
+ whole_extent=whole_extent,
162
+ piece_extent=piece_extent,
163
+ origin=origin, spacing=spacing,
164
+ point_data=point_data,
165
+ cell_data={"scalars": {"pressure": pressure}},
166
+ field_data=None,
167
+ encoding='appended',
168
+ appended_encoding='raw')
169
+
170
+ write_vti('test_image_data_grid_appended_new',
171
+ whole_extent=whole_extent,
172
+ piece_extent=piece_extent,
173
+ origin=origin, spacing=spacing,
174
+ point_data=point_data,
175
+ cell_data={"scalars": {"pressure": pressure}},
176
+ field_data=None, encoding='appended')
177
+
178
+ # --8<-- [end:write_grid_data_writer_api]
179
+
180
+
181
+ # --8<-- [start:write_grid_data_writer_api_vtkhdf]
182
+ write_vti('test_image_data_grid_appended_new',
183
+ whole_extent=whole_extent,
184
+ origin=origin, spacing=spacing,
185
+ point_data=point_data,
186
+ cell_data={"scalars": {"pressure": pressure}},
187
+ field_data=None, file_format='vtkhdf')
188
+
189
+ # --8<-- [end:write_grid_data_writer_api_vtkhdf]
190
+
191
+
192
+ # --8<-- [start:write_grid_data_hl]
193
+ from vtkio.simplified import uniform_grid
194
+
195
+ uniform_grid('test_uniform_image_data',
196
+ num_cells=num_cells, spacing=spacing,
197
+ cell_data={"scalars": {"pressure": pressure}},
198
+ point_data=point_data)
199
+
200
+ uniform_grid('test_uniform_image_data_binary',
201
+ num_cells=num_cells, spacing=spacing,
202
+ cell_data={"scalars": {"pressure": pressure}},
203
+ point_data=point_data, encoding='binary')
204
+
205
+ uniform_grid('test_uniform_image_data_appended',
206
+ num_cells=num_cells, spacing=spacing,
207
+ cell_data={"scalars": {"pressure": pressure}},
208
+ point_data=point_data, encoding='appended')
209
+
210
+ uniform_grid('test_uniform_image_data_2',
211
+ num_cells=num_cells, spacing=spacing * 0.45,
212
+ origin=origin + 0.7312,
213
+ cell_data={"scalars": {"pressure": pressure}},
214
+ point_data=point_data,
215
+ field_data=field_data)
216
+
217
+ # --8<-- [end:write_grid_data_hl]
218
+
219
+ #%% test vtkhdf writing with writer
220
+
221
+ # --8<-- [start:write_imagedata_writer_vtkhdf]
222
+ from vtkio.writer.vtkhdf import VTKHDFImageDataWriter
223
+
224
+ imagedata_test = VTKHDFImageDataWriter('test_image_data_grid_hdf5',
225
+ whole_extent=whole_extent,
226
+ origin=origin, spacing=spacing,
227
+ field_data=field_data,
228
+ point_data=point_data,
229
+ cell_data={"scalars": {"pressure": pressure}})
230
+
231
+ imagedata_test.write_vtkhdf_file()
232
+ # --8<-- [end:write_imagedata_writer_vtkhdf]
233
+
234
+ #%% test vtkhdf writing with hl api
235
+
236
+ # whole_extent = [0, 3, 0, 3, 0, 3]
237
+ # origin = [0, 0, 0]
238
+ # spacing = [0.1, 0.1, 0.1]
239
+ # direction = [1, 0, 0, 0, 1, 0, 0, 0, 1]
240
+
241
+ write_vti('test_uniform_image_data_2', whole_extent, origin=origin+0.7312, spacing=spacing*0.45,
242
+ cell_data={"scalars": {"pressure": pressure}}, point_data=point_data, field_data=field_data)
243
+
244
+ #%% VTKHDFImageDataWriter example
245
+ imagedata_test = VTKHDFImageDataWriter('test_image_data_grid_hdf5_new', whole_extent=whole_extent, origin=origin,
246
+ spacing=spacing, field_data=None, point_data=point_data,
247
+ cell_data={"scalars": {"pressure": pressure}})
248
+
249
+ imagedata_test.write_vtkhdf_file()
250
+
251
+
252
+ #%% write vtkhdf file with additional metadata
253
+ from vtkio.reader import read_vtkxml_data
254
+
255
+ regular_grid_example_data = read_vtkxml_data('../TestData/vti/regular_grid_example.vti')
256
+ structured_points_data = read_vtkxml_data('../TestData/vti/structured_points.vti')
257
+ vase_data = read_vtkxml_data('../TestData/vti/vase.vti')
258
+
259
+ # --8<-- [start:write_points_writer_api_vtkhdf_additional_metadata]
260
+ from vtkio.writer.vtkhdf import VTKHDFMultiBlockWriter
261
+
262
+ blocks = {'block1': regular_grid_example_data, 'block2': structured_points_data, 'block3': vase_data,}
263
+
264
+ writer = VTKHDFMultiBlockWriter('hdf_multiblock_test_imagedata', blocks)
265
+ writer.write_vtkhdf_file()
266
+
267
+ # --8<-- [end:write_points_writer_api_vtkhdf_additional_metadata]