-
Notifications
You must be signed in to change notification settings - Fork 1.5k
switch_endianness assertion error with PILReader #1823
Copy link
Copy link
Closed
Description
Describe the bug
switch_endianness is not compatible with meta data items with None value
To Reproduce
import os
import numpy as np
from PIL import Image
import tempfile
from monai.data import PILReader
from monai.transforms import LoadImage
from monai.config import print_config
print_config()
tempdir = tempfile.mkdtemp()
test_image = np.random.randint(0, 256, size=[128, 256])
filename = os.path.join(tempdir, "test_image.png")
Image.fromarray(test_image.astype("uint8")).save(filename)
loader = LoadImage(PILReader(converter=lambda image: image.convert("LA")))
data, meta = loader(filename)
print(f"image data shape:{data.shape}")
print(f"meta data:{meta}")output:
MONAI version: 0.4.0+184.g5151b15a
Numpy version: 1.19.5
Pytorch version: 1.8.0
MONAI flags: HAS_EXT = False, USE_COMPILED = False
MONAI rev id: 5151b15aaadc90bf578729d85e8011faae5d1836
Optional dependencies:
Pytorch Ignite version: 0.4.4
Nibabel version: 3.2.1
scikit-image version: 0.18.1
Pillow version: 8.1.2
Tensorboard version: 2.4.1
gdown version: 3.12.2
TorchVision version: 0.9.0
ITK version: 5.1.2
tqdm version: 4.59.0
lmdb version: 1.1.1
psutil version: 5.8.0
For details about installing the optional dependencies, please visit:
https://docs.monai.io/en/latest/installation.html#installing-the-recommended-dependencies
Traceback (most recent call last):
File "../test.py", line 16, in <module>
data, meta = loader(filename)
File "/MONAI/monai/transforms/io/array.py", line 162, in __call__
meta_data = switch_endianness(meta_data, ">", "<")
File "/MONAI/monai/transforms/io/array.py", line 49, in switch_endianness
data = {k: switch_endianness(v, old, new) for k, v in data.items()}
File "/MONAI/monai/transforms/io/array.py", line 49, in <dictcomp>
data = {k: switch_endianness(v, old, new) for k, v in data.items()}
File "/MONAI/monai/transforms/io/array.py", line 53, in switch_endianness
raise AssertionError()
AssertionError
Expected behavior
load with the PILReader without error
context
(Pdb) print(data)
{'format': None, 'mode': 'LA', 'width': 256, 'height': 128, 'spatial_shape': array([256, 128]), 'original_channel_dim': -1,
'filename_or_obj': '/var/folders/6f/fdkl7m0x7sz3nj_t7p3ccgz00000gp/T/tmpadazr01l/test_image.png'}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels