Как уже отмечалось в комментариях, io.fits
имеет функциональность для проверки правильности заголовков и даже исправит мелкие тривиальные ошибки форматирования (старается изо всех сил писать только правильные файлы FITS как можно лучше возможно).
Хотя существуют варианты выполнения проверки во время записи файла, также есть некоторые случаи, когда он выполняет автоматическую проверку также во время чтения, особенно при синтаксическом анализе заголовков. Это давно открытый вопрос (это всего лишь один связанный пример; их несколько), который в настоящее время не является отличным способом управления проверкой / исправлениями во время чтения. Было бы неплохо иметь более простой способ заставить это замолчать или вообще отключить его. Я думаю, что это не будет слишком сложно исправить, просто никто не был достаточно мотивирован, я думаю. Хотя в настоящее время, если вы хотите заставить замолчать предупреждения, вы можете сделать это с помощью стандартной системы предупреждений Python .
Имея это в виду, что касается значений самих предупреждений, я думаю, что это вероятно использование e
вместо E
в научной нотации (стандарт FITS восходит к временам FORTRAN, где последние было более распространенным, я думаю). Было бы хорошо, если бы сообщение лучше объяснило, что именно оно исправляет.
Примечание «Примечание: astropy.io.fits использует индексацию с нуля». технически это только часть первого предупреждающего сообщения, и это происходит в основном по историческим причинам. Тот факт, что оно было добавлено к этому сообщению, даже немного ошибочно, поскольку в сообщении даже упоминаются какие-либо индексы (в прошлом оно могло бы что-то сказать о «Ошибка в карточке [N]», где N
было бы указатель карты). Причиной этого сообщения послужило напоминание пользователям, которые более привыкли к FORTRAN и / или IRAF, которые используют индексацию на основе 1, тогда как PyFITS / astropy.io.fits дает номера HDU и номера карт заголовков с использованием индексации на основе 0 как используется C и Python. В этот момент он, вероятно, может быть удален или, по крайней мере, исправлен, чтобы быть добавленным только к предупреждающим сообщениям, к которым это действительно имеет отношение.