Skip to content

collate_meta_tensor can't work with ImageDataset #4687

@Nic-Ma

Description

@Nic-Ma

Describe the bug
Thanks for @KumoLiu 's issue report, when using MetaTensor with ImageDataset, the decollate raised error:

  File "unet_training_array.py", line 167, in <module>
    main(tempdir)
  File "unet_training_array.py", line 137, in main
    val_outputs = [post_trans(i) for i in decollate_batch(val_outputs)]
  File "/workspace/data/medical/MONAI/monai/data/utils.py", line 586, in decollate_batch
    for t, m in zip(out_list, decollate_batch(batch.meta)):
  File "/workspace/data/medical/MONAI/monai/data/utils.py", line 598, in decollate_batch
    b, non_iterable, deco = _non_zipping_check(batch, detach, pad, fill_value)
  File "/workspace/data/medical/MONAI/monai/data/utils.py", line 499, in _non_zipping_check
    _deco = {key: decollate_batch(batch_data[key], detach, pad=pad, fill_value=fill_value) for key in batch_data}
  File "/workspace/data/medical/MONAI/monai/data/utils.py", line 499, in <dictcomp>
    _deco = {key: decollate_batch(batch_data[key], detach, pad=pad, fill_value=fill_value) for key in batch_data}
  File "/workspace/data/medical/MONAI/monai/data/utils.py", line 598, in decollate_batch
    b, non_iterable, deco = _non_zipping_check(batch, detach, pad, fill_value)
  File "/workspace/data/medical/MONAI/monai/data/utils.py", line 501, in _non_zipping_check
    _deco = [decollate_batch(b, detach, pad=pad, fill_value=fill_value) for b in batch_data]
TypeError: iteration over a 0-d array```

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions