Не удается прочитать большой файл FITS с помощью Astropy.io.fits

В настоящее время я пытаюсь прочитать данные из файла данных формата FITS с большими данными, используя astropy.io.fits для Python 3.4. Хотя я могу успешно открыть файл в режиме memmapper, я не могу получить доступ к данным в файле. Вот мой код

from astropy.io import fits

hdu_list = fits.open('large_file.fit', memmapper=True)
table = hdu_list[1].data

Во второй строке table = hdu_list[1].data я получаю OSError: [WinError 8] Not enough storage is available to process this command

Я думаю, что при присвоении данных переменной table делается попытка прочитать весь файл, что приводит к ошибке хранения. Есть ли какой-нибудь обходной путь или способ просто читать каждую строку данных таблицы за раз?


person Snyder005    schedule 29.04.2015    source источник
comment
Я думаю, вы имеете в виду memmap=True - нет опции memmapper.   -  person Iguananaut    schedule 30.04.2015
comment
Не могли бы вы опубликовать только заголовок файла FITS? Обычно он содержит всю наиболее полезную информацию для отладки подобных проблем. Я правильно понимаю, что вы работаете в Windows?   -  person Iguananaut    schedule 30.04.2015


Ответы (1)


Обнаружил, что пошло не так. Я попытался открыть файл FITS с помощью fitsio, а затем прочитать построчно. Однако программа некоторое время работала, а затем выдавала IOError. Я обнаружил, что одна из строк файла была повреждена, и это было причиной того, что astropy.io.fits не мог прочитать файл без возникновения ошибки. Я не уверен, как именно строка была повреждена или что именно с ней не так, я просто загрузил вторую копию файла FITS, и это решило проблему.

person Snyder005    schedule 01.05.2015