Skip to content

Commit 15d3290

Browse files
committed
fix(itkwasm): convert metadata dict to json array
1 parent a6e1802 commit 15d3290

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

packages/core/python/itkwasm/itkwasm/pipeline.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,13 +235,18 @@ def run(
235235
data_ptr = ri.set_input_array(mv, index, 0)
236236
dv = array_like_to_bytes(image.direction)
237237
direction_ptr = ri.set_input_array(dv, index, 1)
238+
metadata = []
239+
if image.metadata:
240+
for key, value in image.metadata.items():
241+
metadata.append((key, value))
238242
image_json = {
239243
"imageType": asdict(image.imageType),
240244
"name": image.name,
241245
"origin": image.origin,
242246
"spacing": image.spacing,
243247
"direction": f"data:application/vnd.itk.address,0:{direction_ptr}",
244248
"size": image.size,
249+
"metadata": metadata,
245250
"data": f"data:application/vnd.itk.address,0:{data_ptr}",
246251
}
247252
ri.set_input_json(image_json, index)
@@ -427,6 +432,12 @@ def run(
427432
elif output.type == InterfaceTypes.Image:
428433
image_json = ri.get_output_json(index)
429434

435+
if 'metadata' in image_json and isinstance(image_json['metadata'], list):
436+
metadata = image_json['metadata']
437+
image_json['metadata'] = {}
438+
for key, value in metadata:
439+
image_json['metadata'][key] = value
440+
430441
image = Image(**image_json)
431442

432443
data_ptr = ri.get_output_array_address(0, index, 0)

0 commit comments

Comments
 (0)