Replies: 1 comment 5 replies
-
Hi @halo34, It appears that the error is related to an improper reader for files with the .img extension; perhaps you can convert your data to nii? |
Beta Was this translation helpful? Give feedback.
5 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi, I try to run the deep atlas on Colab. I installed all requirements of monai. But I got an error at:
`dataset_seg_available_train = monai.data.CacheDataset(
data=data_seg_available_train, transform=transform_seg_available, cache_num=16
)
dataset_seg_available_valid = monai.data.CacheDataset(
data=data_seg_available_valid, transform=transform_seg_available, cache_num=16
)`
Can someone help me?
The error is:
Loading dataset: 0%| | 0/8 [00:00<?, ?it/s]
RuntimeError Traceback (most recent call last)
/usr/local/lib/python3.10/dist-packages/monai/transforms/transform.py in apply_transform(transform, data, map_items, unpack_items, log_stats, lazy, overrides)
140 return [_apply_transform(transform, item, unpack_items, lazy, overrides, log_stats) for item in data]
--> 141 return _apply_transform(transform, data, unpack_items, lazy, overrides, log_stats)
142 except Exception as e:
13 frames
/usr/local/lib/python3.10/dist-packages/monai/transforms/transform.py in _apply_transform(transform, data, unpack_parameters, lazy, overrides, logger_name)
97
---> 98 return transform(data, lazy=lazy) if isinstance(transform, LazyTrait) else transform(data)
99
/usr/local/lib/python3.10/dist-packages/monai/transforms/io/dictionary.py in call(self, data, reader)
161 for key, meta_key, meta_key_postfix in self.key_iterator(d, self.meta_keys, self.meta_key_postfix):
--> 162 data = self._loader(d[key], reader)
163 if self._loader.image_only:
/usr/local/lib/python3.10/dist-packages/monai/transforms/io/array.py in call(self, filename, reader)
273 msg = "\n".join([f"{e}" for e in err])
--> 274 raise RuntimeError(
275 f"{self.class.name} cannot find a suitable reader for file: {filename}.\n"
RuntimeError: LoadImage cannot find a suitable reader for file: /tmp/tmp1l1xclsh/OASIS-1/disc1/OAS1_0034_MR1/PROCESSED/MPRAGE/T88_111/OAS1_0034_MR1_mpr_n3_anon_111_t88_masked_gfc.img.
Please install the reader libraries, see also the installation instructions:
https://docs.monai.io/en/latest/installation.html#installing-the-recommended-dependencies.
The current registered: [<monai.data.image_reader.PydicomReader object at 0x797802e1bac0>, <monai.data.image_reader.ITKReader object at 0x797802e1b1c0>, <monai.data.image_reader.NrrdReader object at 0x797802e1b250>, <monai.data.image_reader.NumpyReader object at 0x797802e1b1f0>, <monai.data.image_reader.PILReader object at 0x797802e1a680>, <monai.data.image_reader.NibabelReader object at 0x797802e1b8b0>].
The above exception was the direct cause of the following exception:
RuntimeError Traceback (most recent call last)
in <cell line: 1>()
----> 1 dataset_seg_available_train = monai.data.CacheDataset(
2 data=data_seg_available_train, transform=transform_seg_available, cache_num=16
3 )
4
5 dataset_seg_available_valid = monai.data.CacheDataset(
/usr/local/lib/python3.10/dist-packages/monai/data/dataset.py in init(self, data, transform, cache_num, cache_rate, num_workers, progress, copy_cache, as_contiguous, hash_as_key, hash_func, runtime_cache)
821 self._cache: list | ListProxy = []
822 self._hash_keys: list = []
--> 823 self.set_data(data)
824
825 def set_data(self, data: Sequence) -> None:
/usr/local/lib/python3.10/dist-packages/monai/data/dataset.py in set_data(self, data)
848
849 if self.runtime_cache in (False, None): # prepare cache content immediately
--> 850 self._cache = self._fill_cache(indices)
851 return
852 if isinstance(self.runtime_cache, str) and "process" in self.runtime_cache:
/usr/local/lib/python3.10/dist-packages/monai/data/dataset.py in _fill_cache(self, indices)
877 with ThreadPool(self.num_workers) as p:
878 if self.progress and has_tqdm:
--> 879 return list(tqdm(p.imap(self._load_cache_item, indices), total=len(indices), desc="Loading dataset"))
880 return list(p.imap(self._load_cache_item, indices))
881
/usr/local/lib/python3.10/dist-packages/tqdm/std.py in iter(self)
1180
1181 try:
-> 1182 for obj in iterable:
1183 yield obj
1184 # Update and possibly print the progressbar.
/usr/lib/python3.10/multiprocessing/pool.py in next(self, timeout)
871 if success:
872 return value
--> 873 raise value
874
875 next = next # XXX
/usr/lib/python3.10/multiprocessing/pool.py in worker(inqueue, outqueue, initializer, initargs, maxtasks, wrap_exception)
123 job, i, func, args, kwds = task
124 try:
--> 125 result = (True, func(*args, **kwds))
126 except Exception as e:
127 if wrap_exception and func is not _helper_reraises_exception:
/usr/local/lib/python3.10/dist-packages/monai/data/dataset.py in _load_cache_item(self, idx)
890 lambda t: isinstance(t, RandomizableTrait) or not isinstance(t, Transform)
891 )
--> 892 item = self.transform(item, end=first_random, threading=True)
893
894 if self.as_contiguous:
/usr/local/lib/python3.10/dist-packages/monai/transforms/compose.py in call(self, input_, start, end, threading, lazy)
333 def call(self, input_, start=0, end=None, threading=False, lazy: bool | None = None):
334 _lazy = self.lazy if lazy is None else lazy
--> 335 result = execute_compose(
336 input,
337 transforms=self.transforms,
/usr/local/lib/python3.10/dist-packages/monai/transforms/compose.py in execute_compose(data, transforms, map_items, unpack_items, start, end, lazy, overrides, threading, log_stats)
109 if threading:
110 _transform = deepcopy(_transform) if isinstance(_transform, ThreadUnsafe) else _transform
--> 111 data = apply_transform(
112 _transform, data, map_items, unpack_items, lazy=lazy, overrides=overrides, log_stats=log_stats
113 )
/usr/local/lib/python3.10/dist-packages/monai/transforms/transform.py in apply_transform(transform, data, map_items, unpack_items, log_stats, lazy, overrides)
169 else:
170 _log_stats(data=data)
--> 171 raise RuntimeError(f"applying transform {transform}") from e
172
173
RuntimeError: applying transform <monai.transforms.io.dictionary.LoadImaged object at 0x797802e1b6a0>Loading dataset: 0%| | 0/8 [00:00<?, ?it/s]
RuntimeError Traceback (most recent call last)
/usr/local/lib/python3.10/dist-packages/monai/transforms/transform.py in apply_transform(transform, data, map_items, unpack_items, log_stats, lazy, overrides)
140 return [_apply_transform(transform, item, unpack_items, lazy, overrides, log_stats) for item in data]
--> 141 return _apply_transform(transform, data, unpack_items, lazy, overrides, log_stats)
142 except Exception as e:
13 frames
/usr/local/lib/python3.10/dist-packages/monai/transforms/transform.py in _apply_transform(transform, data, unpack_parameters, lazy, overrides, logger_name)
97
---> 98 return transform(data, lazy=lazy) if isinstance(transform, LazyTrait) else transform(data)
99
/usr/local/lib/python3.10/dist-packages/monai/transforms/io/dictionary.py in call(self, data, reader)
161 for key, meta_key, meta_key_postfix in self.key_iterator(d, self.meta_keys, self.meta_key_postfix):
--> 162 data = self._loader(d[key], reader)
163 if self._loader.image_only:
/usr/local/lib/python3.10/dist-packages/monai/transforms/io/array.py in call(self, filename, reader)
273 msg = "\n".join([f"{e}" for e in err])
--> 274 raise RuntimeError(
275 f"{self.class.name} cannot find a suitable reader for file: {filename}.\n"
RuntimeError: LoadImage cannot find a suitable reader for file: /tmp/tmp1l1xclsh/OASIS-1/disc1/OAS1_0034_MR1/PROCESSED/MPRAGE/T88_111/OAS1_0034_MR1_mpr_n3_anon_111_t88_masked_gfc.img.
Please install the reader libraries, see also the installation instructions:
https://docs.monai.io/en/latest/installation.html#installing-the-recommended-dependencies.
The current registered: [<monai.data.image_reader.PydicomReader object at 0x797802e1bac0>, <monai.data.image_reader.ITKReader object at 0x797802e1b1c0>, <monai.data.image_reader.NrrdReader object at 0x797802e1b250>, <monai.data.image_reader.NumpyReader object at 0x797802e1b1f0>, <monai.data.image_reader.PILReader object at 0x797802e1a680>, <monai.data.image_reader.NibabelReader object at 0x797802e1b8b0>].
The above exception was the direct cause of the following exception:
RuntimeError Traceback (most recent call last)
in <cell line: 1>()
----> 1 dataset_seg_available_train = monai.data.CacheDataset(
2 data=data_seg_available_train, transform=transform_seg_available, cache_num=16
3 )
4
5 dataset_seg_available_valid = monai.data.CacheDataset(
/usr/local/lib/python3.10/dist-packages/monai/data/dataset.py in init(self, data, transform, cache_num, cache_rate, num_workers, progress, copy_cache, as_contiguous, hash_as_key, hash_func, runtime_cache)
821 self._cache: list | ListProxy = []
822 self._hash_keys: list = []
--> 823 self.set_data(data)
824
825 def set_data(self, data: Sequence) -> None:
/usr/local/lib/python3.10/dist-packages/monai/data/dataset.py in set_data(self, data)
848
849 if self.runtime_cache in (False, None): # prepare cache content immediately
--> 850 self._cache = self._fill_cache(indices)
851 return
852 if isinstance(self.runtime_cache, str) and "process" in self.runtime_cache:
/usr/local/lib/python3.10/dist-packages/monai/data/dataset.py in _fill_cache(self, indices)
877 with ThreadPool(self.num_workers) as p:
878 if self.progress and has_tqdm:
--> 879 return list(tqdm(p.imap(self._load_cache_item, indices), total=len(indices), desc="Loading dataset"))
880 return list(p.imap(self._load_cache_item, indices))
881
/usr/local/lib/python3.10/dist-packages/tqdm/std.py in iter(self)
1180
1181 try:
-> 1182 for obj in iterable:
1183 yield obj
1184 # Update and possibly print the progressbar.
/usr/lib/python3.10/multiprocessing/pool.py in next(self, timeout)
871 if success:
872 return value
--> 873 raise value
874
875 next = next # XXX
/usr/lib/python3.10/multiprocessing/pool.py in worker(inqueue, outqueue, initializer, initargs, maxtasks, wrap_exception)
123 job, i, func, args, kwds = task
124 try:
--> 125 result = (True, func(*args, **kwds))
126 except Exception as e:
127 if wrap_exception and func is not _helper_reraises_exception:
/usr/local/lib/python3.10/dist-packages/monai/data/dataset.py in _load_cache_item(self, idx)
890 lambda t: isinstance(t, RandomizableTrait) or not isinstance(t, Transform)
891 )
--> 892 item = self.transform(item, end=first_random, threading=True)
893
894 if self.as_contiguous:
/usr/local/lib/python3.10/dist-packages/monai/transforms/compose.py in call(self, input_, start, end, threading, lazy)
333 def call(self, input_, start=0, end=None, threading=False, lazy: bool | None = None):
334 _lazy = self.lazy if lazy is None else lazy
--> 335 result = execute_compose(
336 input,
337 transforms=self.transforms,
/usr/local/lib/python3.10/dist-packages/monai/transforms/compose.py in execute_compose(data, transforms, map_items, unpack_items, start, end, lazy, overrides, threading, log_stats)
109 if threading:
110 _transform = deepcopy(_transform) if isinstance(_transform, ThreadUnsafe) else _transform
--> 111 data = apply_transform(
112 _transform, data, map_items, unpack_items, lazy=lazy, overrides=overrides, log_stats=log_stats
113 )
/usr/local/lib/python3.10/dist-packages/monai/transforms/transform.py in apply_transform(transform, data, map_items, unpack_items, log_stats, lazy, overrides)
169 else:
170 _log_stats(data=data)
--> 171 raise RuntimeError(f"applying transform {transform}") from e
172
173
RuntimeError: applying transform <monai.transforms.io.dictionary.LoadImaged object at 0x797802e1b6a0>
Beta Was this translation helpful? Give feedback.
All reactions