2014-11-20 3 views
0

Я пытаюсь обновить расширение таблицы FITS, добавив к нему несколько новых столбцов. Я следую методу, указанному в http://pyfits.readthedocs.org/en/latest/users_guide/users_table.html#merging-tables. Однако заголовок объединенной таблицы содержит только минимальную информацию, необходимую для идентификации столбца. В исходном файле заголовка мне нужна информация. Как я могу переносить все дополнительные ключевые слова из старой таблицы в другую?Добавление столбцов в таблицу при сохранении заголовка

Я уже пробовал

merged_table.header = old_table.header 

и добавление в необходимых записей для новых столбцов вручную, но это всегда портит заголовок и делает весь FITS файл нечитаемым.

Благодаря

ответ

1

Лучший ответ на этот вопрос частично зависит от того, как создается новая таблица, но в последней версии PyFITS (v3.3.0) или Astropy (v0.4.2) методом BinTableHDU.from_columns, который создает новую таблицу BINARY HDU из набора определений столбцов, принимает необязательный аргумент header, который может получать, например, заголовок из исходной таблицы HDU.

Это будет игнорировать любые ключевые слова, связанные со структурой таблицы, как это понимается в формате FITS, и сохранять только другие метаданные. Я считаю, что была ошибка для бит, где аргумент header был проигнорирован, но это должно быть исправлено.

+0

Намного лучше, чем мой путь, спасибо! – TheBigH

+1

Надеюсь, это сработает - удачи. Также рассмотрите возможность проверки интерфейса Astropy Table: http://docs.astropy.org/en/stable/table/index.html. Это гораздо лучший интерфейс для управления таблицами, который работает с большинством таблиц FITS. – Iguananaut

Смежные вопросы