Поэтому я пытаюсь преобразовать несколько сотен файлов .svs размером 120 МБ-2 ГБ (микроскопические фотографии с высоким разрешением при 40-кратном увеличении) в плитки JPEG, и я продолжаю получать MemoryError на этапе, когда мой сценарий выделяет большое количество файлов. данные в оперативную память. Мне просто нужно больше оперативной памяти или есть другие приемы, которые я могу попробовать?
Мой ноутбук оснащен 64-разрядным процессором i3 и 4 ГБ ОЗУ (обычно доступно 3,8 ГБ). Я бегу Python 3.8.2. Даже когда я ввожу только 1 из меньших слайдов одновременно, эта ошибка возникает (см. Ниже), поэтому я предполагаю, что меньшие партии невозможны. Понижение частоты будет влиять на разрешение сканирования, поэтому это не вариант.
output_jpeg_tiles('D:/TCGA slides/TCGA-O1-A52J-01A.svs', 'D:/JPEG tiles')
converting D:/TCGA slides/TCGA-O1-A52J-01A.svs with width 66640 and height 25155
Traceback (most recent call last):
File "<pyshell#29>", line 1, in <module>
output_jpeg_tiles('D:/TCGA slides/TCGA-O1-A52J-01A.svs', 'D:/JPEG tiles')
File "<pyshell#23>", line 22, in output_jpeg_tiles
patch = img.read_region((begin_x, begin_y), 0, (patch_width, patch_height))
File "C:\Users\...\site-packages\openslide\__init__.py", line 222, in read_region
return lowlevel.read_region(self._osr, location[0], location[1],
File "C:\Users\...\site-packages\openslide\lowlevel.py", line 258, in read_region
buf = (w * h * c_uint32)()
MemoryError
Есть предложения? :)