Closed kbressem closed 3 years ago
This problem may be caused by ITKv5's new threading models utilized in SimpleITK 2.0 (see i.e. https://github.com/SimpleITK/SimpleITK/issues/1239).
set sitk's global default number of threads to 1 before setting the dataloader
sitk.ProcessObject_SetGlobalDefaultNumberOfThreads(1)
leave global default number of threads unchanged and change sitk's global default threader to 'PLATFORM' before setting the dataloader:
sitk.ProcessObject_SetGlobalDefaultThreader('PLATFORM')
Implemented in TensorDicom3D.load
func
if fn.is_dir():
sitk.ProcessObject_SetGlobalDefaultThreader('PLATFORM')
im = TensorDicom3D.read_dicom_series(str(fn))
Seems to work and Series are read in similar speed to NIfTI.
Learner get stuck at the beginning of training if training images are loaded from a DICOM series. Training is still possible if
num_workers
argument in the dataloader is set to 0, but is very slow. Problem does not occur if training images are loaded from 3D NIfTI volumes.