Как создать fit файл

Обновлено: 06.07.2024

Это может быть очень неприятно, когда у вас есть файл FIT, и вы не можете открыть его. Но не волнуйтесь, в большинстве случаев решение вашей проблемы очень простое. Следуйте инструкциям в шагах 1-4, перечисленным ниже, и вы сможете решить вашу проблему и легко открыть файл FIT.

  1. 1. FIT расширение файла
  2. 2. Что такое FIT файл?
  3. 3. Как открыть файл FIT?
    1. 3.1 Проверьте FIT файл на наличие ошибок
    2. 3.2 Как решить возникшие проблемы?
      1. 3.2.1 Программы, открывающие файлы FIT

      FIT расширение файла

      • Тип файла Flexible Image Transport System Format
      • Разработчик файлов N/A
      • Категория файла Файлы растровых изображений
      • Рейтинг популярности файлов

      Что такое FIT файл?

      Расширение .FIT содержит графические файлы, особенно используемые в астрономии и других областях науки. Он используется для хранения информации о спектрах, списках фотонов, кубах данных или многостоловых базах данных. Файл имеет заголовок ASCII, что позволяет быстро просматривать файлы неизвестного происхождения.

      Как открыть файл FIT?

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

      Проверьте FIT файл на наличие ошибок

      • В системе не установлена программа, которая поддерживает FIT файлы
      • С этим расширением не связано ни одной программы, поддерживающей файлы FIT (в системном реестре нет записей, связанных с программами, которые следует использовать для открытия файлов FIT)
      • Файл имеет неизвестное или непроверенное происхождение и, скорее всего, заражен. В этом случае пользователь должен проявлять крайнюю осторожность, чтобы вирус не распространялся на другие файлы в системе (следуйте инструкциям, отображаемым в диалоговом окне антивирусного программного обеспечения.
      • FIT файл может быть неполным, что не позволит системе открыть его (это может быть в случае с файлом, загруженным из Интернета или скопированным из других источников)
      • Файл поврежден

      Как решить возникшие проблемы?

      Чтобы решить следующие проблемы, следуйте инструкциям:

      Шаг 1. Выберите, загрузите и установите соответствующее программное обеспечение. Список программ, поддерживающих файлы с расширением FIT, можно найти ниже:

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

      Для чего нужен файловый формат .FIT?

      Основная роль расширения файлового имени .fit связана с типом файлов "Изображение FITS" (.fit, .fits, .fts), относящимся к "Гибкой системе передачи изображений" (Flexible Image Transport System, FITS). FITS — формат хранения и передачи изображений без потерь, разработанный Рабочей группой по FITS Международного Астрономического Союза (IAU) для применения в астрономии и космических исследованиях.

      Файл .fit представляет собой снимок астрономического наблюдения в формате FITS. Помимо детальных текстовых метаданных, такой файл может включать набор изображений, полученных из различных источников и в различных областях спектра, а также хранить многомерные массивы данных. Файлы FITS обычно обозначаются расширением .fit, хотя могут использоваться и другие расширения (.fits, .fts).

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

      Кроме того, расширение .fit служит обозначением типа файлов "Файл активности Garmin" (.fit) с привязкой к формату "Гибкой и совместимой передачи данных" (Flexible and Interoperable Data Transfer, FIT), используемому спортивными гаджетами Garmin Edge, Forerunner и Fenix. Здесь файл .fit ("Totals.fit", "Locations.fit" и др.) выступает в качестве журнала нескольких спортивных занятий (плавание, бег, езда на велосипеде и т.д.), сочетая GPS-слежение с данными скорости, ЧСС и затрат энергии спортсмена. Такие журналы можно извлекать из памяти устройства, используя фирменную программу Garmin Training Center для Майкрософт Windows/Apple Mac OS X.

      Подробная спецификация формата FIT и средства работы с файлами предоставляются в рамках инструментария разработчика FIT SDK (Dynastream Innovations Inc.). Кроме этого, несколько сторонних утилит позволяют восстанавливать поврежденные файлы FIT, манипулировать их записями и разделами данных, а также преобразовывать их в стандартные текстовые форматы (CSV), и наоборот.

      Математические пакеты (Matlab, Octave и т.п.) имеют средства для чтения/записи FITS-файлов (но тоже эти средства зачастую ограниченны); естественно, для астрофизиков есть и специальное ПО (например, MIDAS, Iraf и т.п.), позволяющее полноценно работать с разнообразным содержимым FITS-файлов.

      Для работы в своих проектах можно выбрать одну из множества библиотек, позволяющих работать с FITS-файлами (а можно и свой "велосипед" сделать). В языке C наиболее популярной (и полноценной) является библиотека CFITSIO, вкратце о ней я и расскажу.

      Краткое описание CFITSIO


      На основе примеров работы с cfitsio можно понять основные функции библиотеки. Для работы с файлами cfitsio представляет функции чтения и записи, позволяющие работать со сжатыми файлами, задавать маски файлов (а также - области, необходимые для считывания) в имени файла. Маской в имени файла можно также задать необходимые таблицы и/или ключи для импорта, а также выполнить элементарную правку ключей.

      При работе с FITS-файлами следует помнить, что наибольшее количество одновременно открытых файлов равно 25 (оно определяется значением константы NIOBUF при компиляции библиотеки). Максимальное количество расширений (блоков с данными - изображениями, таблицами, ключами), с которым может работать библиотека, составляет 1000 для одного файла (определяется константой MAXHDU). Библиотека не работает с файлами, чей размер превышает 2.1ГБ. Также библиотека не работает с данными, имеющими разрядность выше 32 бит (в принципе, это понятно: современные АЦП в светоприемной аппаратуре обычно имеют разрядность в лучшем случае 16 бит).

      Библиотека позволяет одновременно несколько раз открыть один и тот же файл (например, для параллельной работы с шапкой, таблицами и изображениями в файле). При работе с файлами, чья «шапка» содержит несколько разделов с ключами, cfitsio может работать лишь с одним из разделов, поэтому если одновременно нужно брать данные из нескольких, необходимо будет открыть файл нужное количество раз.

      При чтении и записи изображений cfitsio автоматически преобразует значения по значениям стандартных ключей BSCALE и BZERO:

      Работая с ключами, следует помнить, что стандарт FITS вносит ограничение на размеры ключа: весь ключ (имя, значение, комментарий) не может иметь длину больше 80 байт; имя ключа не может превышать 8 байт. Если необходимо вписать, например, более длинное имя ключа, или же имя ключа должно содержать непотребные нестандартные символы (пробелы, а также символы, не являющиеся латинскими буквами или символом подчеркивания), перед таким ключом ставится префикс HIERARCH. В этом случае максимальная длина ключа составляет 67 символов (однако, при этом некуда будет вписывать значение переменной и комментарий). CFITSIO прозрачно работает с ключами и читает/записывает даже такие нестандартные ключи. Если при записи ключа возникает какая-то ошибка (например, ключ+значение+комментарий не вписываются в 80 байт, cfitsio возвращает ошибку). Кстати, 80 байт - это ограничение на всю строку, а т.к. имя ключа обычно отделено от значения знаком равенства, окруженным пробелами, а комментарий — косой чертой, окруженной пробелами, полный ключ со значением и комментарием суммарно может занимать не более 74 байт. Т.к. 8 байт занимает сам ключ (кроме указанного выше исключения), на значение и комментарий остается 66 байт.

      Использование CFITSIO в своих проектах


      Не мудрствуя лукаво, опишу работу с библиотекой на примере своих «велосипедов»: takepic — CLI-интерфейс для работы с камерой FLI Proline 9000, а также многострадальной fitsview — смотрелки FITS-файлов с возможностями простейшего редактирования (все никак не допилю модуль обработки гартманнограмм, да и вообще что-то подзабыл я о нем).

      В takepic я взял за основу пример из SDK разработчиков камеры, добавив в него нужный мне функционал. Для упрощения диагностирования ошибок при работе с библиотекой cfitsio используются обертки:

      Сама функция записи FITS-файлов довольно проста: в качестве аргументов она принимает имя файла (filename), размеры полученного изображения (width, height) и указатель на массив с данными изображения (data). Так как изображение характеризуется двумя осями, необходимо создать массив из двух чисел, в который поместить ширину и высоту изображения (этот массив, naxes, мы передадим функции создания области с изображением в FITS-файле). Итак, предварительная подготовка:

      Я создаю область изображения с типом unsigned short (т.к. для работы с камерой FLI его вполне хватает), однако, можно указать и другой тип изображения — cfitsio автоматически осуществит преобразование типов (главное — помнить, что преобразование из int в uint скорее всего, закончится ошибкой, если входная интенсивность будет превышать допустимый уровень в выходной).

      Далее можно заполнить «шапку» файла необходимыми данными, например:

      и т.д., и т.п. (помимо основных сведений я вписываю в «шапку» еще сведения о погодных условиях, координатах объекта и т.п.).

      После заполнения «шапки» мы записываем изображение и закрываем файл: все готово!

      В fitsview мне нужно было не только записывать, но и читать файлы. Я использовал все те же макросы-обертки, что и в takepic, но добавил еще одну:

      чтобы в некритических случаях не завершать работу вызывавшей функции.

      Функция записи файла практически ничем не отличается от takepic, разве что ключи пишутся в формате «карты» — уже готовой строки (т.к. ключи имеют разные форматы и хранятся в GtkTree).

      Чтение файла производится с параллельной обработкой ключей (т.к. некоторая информация из ключей используется в характеристиках изображения), кроме того, ключи сохраняются в GtkTree для возможности редактирования.
      Итак, основные функции для чтения файла включают в себя открытие файла, получение количества «шапок» в файле, перемещение к первой, считывание и обработка ключей

      Функция guess_type пытается определить тип данных: анализируется вид данных и последовательно вызываются функции преобразования строки в разные типы (double, long long). Если данные не подходят к типам double или long long, проверяется еще — не являются ли они комплексным числом. Если и комплексным не является, тип считается строковым.

      Если файл содержит больше одной «шапки», считываются ключи и из других. При записи cfitsio автоматически разобьет ключи на нужное количество «шапок» (если ключей будет слишком много).
      Далее мы получаем параметры изображения, считываем его (сразу преобразуя средствами cfitsio в тип float) и закрываем файл.

      Продолжая свое знакомство с Octave решил я попробовать выполнить элементарные операции с FITS-файлами. Как оказалось, в «умолчательном» Octave средств для работы с FITS'ами нет. Но гугл мне помог. Итак, гугл вывел меня на страничку Octave на sourceforge. Я скачал нужный мне пакет FITS, распаковал его и попробовал скомпилировать. Но не тут-то было! При запуске ./configure ничего не произошло. Заглянув в директорию src я не увидел ничего интересного, только элементарный Makefile. Содержимое его подсказало мне, что нужно установить еще и компилятор пакетов Octave — mkoctfile. В мандриве он находится в пакете octave-devel.Установив нужный пакет я запустил make и получил три файла: Куда их поместить, я понятия не имел, но вывел меня на директорию куда (от имени рута, естественно) файлы были скопированы.Запустив Octave я первым делом проверил, работают ли эти команды. Работают. Чтобы считать файл filename.fits в переменную var необходимо сделать:Главное — не забыть точку с запятой в конце команды, дабы не получить потоки цифр!Про точку с запятой я «вспомнил», как раз когда забыл ее поставить. Меня приятно удивило то, что, в отличие от матлаба, заваливающего пользователя бесконечным потоком данных, Octave разбивает вывод по страницам (судя по всему, для вывода на экран используется less).Чтобы считать еще и шапку файла, выполним:Команда whos показывает, что head — это строковый массив с длиной строк 80 символов (вспоминаем ограничения формата FITS), в который просто построчно переписана вся шапка файла без разбиения на имя/значение/комментарий (т.е. если в Octave планируется работать с шапкой, все это придется сделать самому, либо дописать нужные функции в пакет FITS, благо средства для этого есть).Отобразить файл на экране я пытался при помощи imshow. О нет! Я увидел… ровным счетом ничего. Зато imagesc показал мне картинку и даже менял цветовую карту на команды colormap.Если вывести картинку в логарифмическом масштабе:Отображение будет более приятным.Вспоминая свою fitsview, я с сожалением отметил, что использование gnuplot в качестве «чертилки» сильно действует на нервы: приходится довольно долго ждать, пока Octave передаст гнуплоту необходимые данные, а затем — пока гнуплот их отобразит на экране.Ну и напоследок простенькая программка для суммирования файлов в директории, имеющих вид object_XXXX.fit (где XXXX — номер), начиная с номера first и заканчивая номером last:И пример для изображений, полученных для определения координат центра вращения поля:Получаем такую картинку:
      Да, чуть не забыл: у Octave есть еще и матлабоподобные интерфейсы, например, QtOctave:В общем оформление интерфейса довольно приличное, однако, сильно напрягает то, что командная строка вынесена отдельно и в нее нужно тыкнуть мышкой, чтобы начать что-то писать.Так что, CLI у Octave намного лучше и удобнее.

      Читайте также: