Взломать заголовок изображения FITs - PullRequest
2 голосов
/ 08 февраля 2010

Мне нужно изменить несколько значений в паре заголовков изображений FIT, чтобы они соответствовали некоторым имеющимся у меня тестовым данным.Поэтому я пытаюсь взломать заголовок изображения FIT в минуту, чтобы запустить его вместе с приложением.

Однако в данный момент - я даже не вижу заголовок, не говоря уже о том, чтобы взломать его.Я запускаю Ubuntu.

Может кто-нибудь посоветовать какое-нибудь программное обеспечение для просмотра FIT - возможно, даже взломать его?

Ответы [ 6 ]

4 голосов
/ 12 января 2016

Если вы знакомы с языком программирования python, вы можете использовать модуль astropy для просмотра и управления файлами соответствия. Скажем, вы хотите просмотреть заголовок файла 'image.fits', тогда вы делаете:

from astropy.io.fits import getheader

header = getheader('image.fits') # Load the data
print header                     # Print the header to screen

Если вы хотите изменить определенный ключ заголовка, вы делаете:

header['key'] = 'new_key' 
2 голосов
/ 15 июля 2016

В некотором роде, но я думаю, что ответ может использовать некоторые обновления и дополнительную информацию.

Просмотр файла .fits

Мой личный любимый графический интерфейс для просмотра файлов .fits: DS9 . После установки вы можете просмотреть файл, набрав ds9 /path/to/file.fits. В качестве альтернативы вы можете просто использовать меню в графическом интерфейсе для загрузки изображения. Загрузив изображение в средство просмотра, вы можете просмотреть информацию заголовка, используя самую верхнюю строку меню и выбрав «Файл -> Показать заголовок». К сожалению, я не верю, что вы можете изменить заголовок в DS9.

Изменить подходит заголовок

Для изменения заголовка Fits я обнаружил, что проще всего использовать astropy (пакет Python). Поскольку вы используете Ubuntu, вы сможете загрузить его через apt-get, так что, надеюсь, довольно легко. Чтобы фактически отредактировать заголовок Fits, вы можете сделать следующее в скрипте Python или из интерпретатора ( вот дополнительная справка ):

# Import the astropy fits tools
from astropy.io import fits

# Open the file header for viewing and load the header
hdulist = fits.open('yourfile.fits')
header = hdulist[0].header

# Print the header keys from the file to the terminal
header.keys

# Modify the key called 'NAXIS1' to have a value of 100
header['NAXIS1'] = '100'

# Modify the key called 'NAXIS1' and give it a comment
header['NAXIS1'] = ('100','This value has been modified!')

# Add a new key to the header
header.set('NEWKEY','50.5')

# Save the new file
hdulist.writeto('MyNewFile.fits')

# Make sure to close the file
hdulist.close()

Вы также можете добавить это в цикл для манипулирования несколькими файлами.

1 голос
/ 23 июня 2010

Поскольку ответили только на 1/2 вопроса (редактирование заголовков FITS), для просмотра изображений я обычно использую DS9 (он же SAOImage).

Кроме того, если вы собираетесь редактировать много заголовков FITS, я склонен использовать либо CFITSIO или Astro :: FITS :: Header

... и можно редактировать заголовки FITS в любом текстовом редакторе, если вы соблюдаете несколько простых правил - карточки (наборы ключей / значений / комментариев) всегда имеют длину 80 символов, а заголовок FITS всегда кратное 2880 байтов. В зависимости от файла может быть несколько заголовков, так как первый заголовок может объявлять файл, содержащий несколько изображений или таблиц.

1 голос
/ 12 февраля 2010

edhead , кажется, делает работу очень хорошо. Единственный найденный мной программный продукт, позволяющий редактировать заголовок в командной строке.

1 голос
/ 08 февраля 2010

Является ли этот формат гибкой системой передачи изображений астрономами?

Этот сайт имеет некоторую справочную информацию и дополнительные ссылки, но объясняет, что

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

Тем не менее, вы можете использовать его для своих собственных целей.

0 голосов
/ 10 февраля 2010

На сайте разработчика Sloan Digital Sky Survey есть некоторые библиотеки, которые должны соответствовать вашим потребностям .

FitsLib - библиотека для чтения и обработки файлов FITS на платформе Microsoft .Net. FITS означает гибкую систему транспортировки изображений. Цель FitsLib - предоставить интерфейс для файла FITS на платформе Dot Net. Он построен как объектно-ориентированная оболочка вокруг интерфейса библиотеки CFITSIO к файлам FITS.

Хотя FitsLib и предназначен для C # и .NET Framework, вы можете использовать его под Mono в своей системе Ubuntu. Или, возможно, вы можете использовать библиотеку CFITSIO напрямую, которая написана на C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...