Любителю астрономии
***
Хочу представить свою небольшую разработку - пакетный конвертер RAW файловых цифровых фотокамер в формат FITS.
Может  быть полезно тем, у кого есть только фотоаппарат, а хочется делать  что-то интересное (например искать переменные звезды в соответствующем  ПО). С помощью этого конвертера можно быстро обработать большую серию кадров, записав в каждый FITS однотипный заголовок.
Программа имеет простой однооконный интерфейс:

Указываете каталог с RAW файлами, указываете каталог куда сохранять FITS, указываете необходимые опции и жмете Start.
Лог  конвертации будет выводится в текстовой области в нижей части окна.  Программа раскидывает обработку на несколько потоков в зависимости от  количества ядер/процессоров.
Обработку можно в любой момент  остановить, а потом снова продолжить - программа пропустит уже созданные  файлы (конечно если не стоит флаг Overwrite). После остановки так же  можно задать иные параметры конвертации или даже другие каталоги  источника и назначения, перезапускать всю программу для этого не нужно.
Данные введенные в поля окна попадают в заголовок FITS, в соответствии со стандартом. Часть данных можно не указывать - тогда будут подгружены соответствующие сведения из RAW файла (если они конечно доступны), например выдержку, модель камеры (Instrument), дату и время съемки. В случае некоторых RAW доступен так же автор снимков/владелец камеры - это имя попадет в поле OBSERVER.
Пример заголовка FITS файла созданного программой:

В программе предусмотрено несколько режимов преобразования цветного изображения:
 - конвертация RGB в градации серого методом усреднения
 -  сохранение всех цветовых каналов в качестве отдельных изображений в  одном FITS файле, каждому изображению назначается индивидуальный  заголовок с указанием какой цветовой канал тут представлен
 -  сохранение цветовых каналов в индивидуальные FITS, каждый созданный файл  при этом будет имя вида *_RED.fits, *_GREEN.fits и *_BLUE.fits
К изображению можно применить минимальную обработку - автоматически откорректировать яркость по гистограмме. Так же можно отключить интерполяцию и получить исходное мозаичное изображение.
При сохранении так же возможны несколько вариантов генерации имен файлов:
 - имя исходного RAW (минус расширение) + цветовой режим + .fits
 - имя объекта + дата + цветовой режим + .fits
 - имя объекта + фильтр + дата + цветовой режим + .fits
 - имя исходного RAW (минус расширение) + дата + .fits
Исходный RAW:

Результат работы программы:

Программа полностью свободна и распространяется в виде исходных кодов под лицензией GNU GPLv2, 
загрузить можно на github: https://github.com/olegkutkov/Raw2Fits
Для сборки нужны следующие библиотеки:
 libraw (лучше всего взять на официальном сайте и собрать самостоятельно: https://www.libraw.org/download версии старее 0.17 могут некорректно извлекать метаданные)
cfitsio - можно использовать версию из дистрибутива
libgtk-3
Для сборки консольного приложения надо выполнить команду:
make cli
Зависимости:
* libraw (требования такие же как и у оконного приложения - лучше руками собрать свежую версию
с офф сайта)
* cfitsio
* libconfig (подойдет любая версия из современных дистрибутивов)
Для своей работы консольное приложение требует конфигурационный файл. Например: https://raw.githubusercontent.com/olegkutkov/Raw2Fits/master/config/samp... .  Он поддерживает больше параметров, нежели окно графической версии. Все остальное в целом аналогично и подчиняется тем же правилам, что и в оконном приложении.
Комментарии можно писать в  любом удобном формате, в примере представлены три различных варианта. Можно использовать любое количество пробелов и табуляций, это не важно, главное не ломать общий синтаксис.
Запускается консольная версия очень просто:
raw2fits-cli -c file.configПути чтения RAW и сохранения FITS можно переопределить, для текущей сессии, аргументами -i и -o:
raw2fits-cli -c config/sample.config -i /disk/new_raw_dir -o /disk/new_fits_dirПосле запуска программы происходит аналогичное разделение на потоки обработчика и программа ждет завершения их работы, обработку можно в любой момент остановить нажатием Ctrl-C.
Существует так же дополнительный аргумент командной строки: -q или --quiet
Если  он задан - программа пишет меньше сообщений и при обработке выводится  лишь прогресс бар из символов =, а так же общий процент выполнения.
Что запланировано в следующих версиях:
 *  Фильтр RAW файлов в конфигурационном файле, можно будет задать  маску/расширения файлов, которые нужно обработать (на случай если в  исходном каталоге много разных файлов), все остальные файлы будут  проигнорированы.
* Произвольный формат имени FITS файла. В текущей  версии имя FITS генерируется лишь по 4 возможным шаблонам. В дальнейшем  можно будет описать правило вида "%OBJ_%DT_my_fits_%OBS.fits", где  вместо "%OBJ, %DT и %OBS будут подствлены имя объекта, дата съемки, имя  наблюдателя соответственно. Будет много различных вариантов шаблонов.
*  Поддержка астрометрии. По желанию пользователя, перед запуском  конвертации, можно будет отправить запрос на сервис astrometry.net и  получить в каждом FITS файле полные астрометрические данные. Эта  возможность будет добавлена как в консольное, так и в оконное  приложение.
Кутков Олег, КрАО, 2017