Поиск

Допиливание FITS-обработчика


Итак, я продолжаю допиливать свой велосипед для работы с фитсами. Теперь добавлены еще кое-какие полезные штуки. Глядишь, до нового года хотя бы процентов 10 предполагаемого функционала запилю. А там еще немного — и будет автомат для технических ночей (а то и не только).

Чтобы перечислить возможности, просто сделаю:

./fitsread -h

Использование: fitsread [аргументы] [префикс выходного файла]

	Где аргументы:

  -4, --conn4=arg      label 4-connected components with giventhreshold
  -8, --conn8=arg      label 8-connected components with giventhreshold
  -B, --binarize=arg   binarize image by threshold (in %%from dynamic range)
  -D, --del-rec        удалить все записи с указанной подстрокой
  -a, --add-rec        добавить запись в FITS-шапку
  -b, --bottom=arg     the lowest value, all data less than 'bottom' vould be set to it
  -d, --del-key        удалить указанный ключ
  -h, --help           отобразить эту справку
  -i, --infile=arg     входной файл
  -o, --outfile=arg    выходной файл
  -p, --pipeline       установить параметры конвейера, аргументы: type:[help]:...
		type - тип преобразования (help для справки)
		help - список доступных для данного 'type' опций
  -s, --stat           отобразить статистические параметры входного и выходного изображения
  -t, --top=arg        the lowest value, all data more than 'top' vould be set to it
  -v, --verbose        уровень подробностей вывода (каждый -v увеличивает его)
  --inplace            записать изменения в тот же файл
  --mean               вычислить среднее арифметическое всех перечисленных изображений
  --median             вычислить медиану всех перечисленных изображений
  --rewrite            перезаписать выходной файл, если он существует (только с опцией -i)
  --sum                вычислить сумму всех перечисленных изображений


Итак, добавлены: работа с FITS-шапкой (добавление, изменение и удаление записей); обрезка по заданным уровням (нужно иной раз бывает при конвейерной обработке); пакетная обработка изображений (среднее арифметическое, медиана и сумма всех перечисленных в параметрах изображений); бинаризация изображения по заданному (в доле от динамического диапазона) уровню, если уровень указан как отрицательное число, бинаризованное изображение инвертируется; маркировка 4- и 8-связных областей (на выходе получается файл с нумерованными областями вроде картинок ниже).

Конечно, этого мало. Как минимум нужно еще добавить вычисление параметров пятен по найденным маскам с 4- или 8-связностью, а для этого нужно будет еще автоматом вычислять фон и вычитать из изображения. Кроме того, неплохо было бы еще добавить автоматическое «выпрямление» длиннощелевых спектров для большего удобства дальнейшей обработки (это я на будущее для применения со снимками с IRBIS), ну и работу с «пачками» изображений (когда в одном файле находится несколько изображений).

2015.12.22_17:24:50
Пронумерованные пятна на гартманнограмме

2015.12.22_17:27:06
Нумеруя связанные области инвертированного изображения легко вытащить фон для дальнейшего извлечения

eddy-em.livejournal.com

Добавить комментарий