Полосовой фильтр, похожий на фильтр нижних частот, который вы показываете в своей ссылке, будет белым кольцом на черном фоне для квадратных изображений. Внутренний и внешний радиусы кольца определяют частоты, которые будут передаваться. В ImageMagick вы можете сделать это следующим образом:
Введите:
Создать изображение кольца:
convert lena-1.png -fill black -colorize 100 \
-fill white -draw "translate 64,64 circle 0,0 0,50" \
-fill black -draw "translate 64,64 circle 0,0 0,20" \
-alpha off -blur 0x1 \
ring.png
Выполнить FFT-обработку с растяжением до полного динамического диапазона:
convert lena-1.png -fft \
\( -clone 0 ring.png -compose multiply -composite \) \
-swap 0 +delete -ift -auto-level \
lena_bp.png
Альтернативная обработка с коэффициентом усиления 10x:
convert lena-1.png -fft \
\( -clone 0 ring.png -compose multiply -composite \) \
-swap 0 +delete -ift -evaluate multiply 10 \
lena_bp.png
Поскольку я не знаю, что они закодировали в ImageJ или Фиджи, а вы не показали выходных данных, я могу только догадываться, что то, что может быть эквивалентно, будет иметь внутренний и внешний радиусы в 3 и 40 пикселях от центра. Также я добавил 10-кратное увеличение динамического диапазона, чтобы сделать его более заметным:
convert lena-1.png -fill black -colorize 100 \
-fill white -draw "translate 64,64 circle 0,0 0,40" \
-fill black -draw "translate 64,64 circle 0,0 0,3" \
-alpha off -blur 0x1 \
ring.png
convert lena-1.png -fft \
\( -clone 0 ring.png -compose multiply -composite \) \
-swap 0 +delete -ift -evaluate multiply 10 \
lena_bp.png
Обратите внимание, что я слегка размыл кольцо, чтобы уменьшить "звенящие" артефакты. (См. https://en.wikipedia.org/wiki/Ringing_artifacts). Многие фильтры нижних, верхних и полосовых фильтров имеют более сильный / более длинный конус, аналогично увеличению размытия. Существуют специально разработанные конусы, такие как Butterworth. (См. https://en.wikipedia.org/wiki/Butterworth_filter)
У меня есть расширенная версия документации FFT от ImageMagick по адресу http://www.fmwconcepts.com/imagemagick/fourier_transforms/fourier.html (обратите внимание, что некоторая фильтрация Jinc немного устарела. С тех пор, как я написал это, Imagemagick реализовал функцию Jinc в -fx)
Вот небольшой набор команд, которые делают все это в синтаксисе Unix. Удалите + write ring.png, если вы не хотите, чтобы он был создан. Этот код ограничен квадратными изображениями.
ImageMagick 6:
inner=3
outer=40
infile="lena-1.png"
cent=`convert "$infile" -format "%[fx:floor((w-1)/2)]" info:`
inname=`convert "$infile" -format "%t" info:`
suffix=`convert "$infile" -format "%e" info:`
convert "$infile" \
\( +clone -fill black -colorize 100 \
-fill white -draw "translate $cent,$cent circle 0,0 0,$outer" \
-fill black -draw "translate $cent,$cent circle 0,0 0,$inner" \
-alpha off -blur 0x1 +write ring.png \
-write mpr:bpass +delete \) \
-fft \( -clone 0 mpr:bpass -compose multiply -composite \) \
-swap 0 +delete -ift -evaluate multiply 10 \
${inname}_bandpass_${inner}_${outer}.$suffix
ImageMagick 7 (только одна командная строка):
inner=3
outer=40
infile="lena-1.png" \
magick "$infile" \
-set option:cent "%[fx:floor((w-1)/2)]" \
-set filename:fn "%t_bandpass_${inner}_${outer}.%e" \
\( +clone -fill black -colorize 100 \
-fill white -draw "translate "%[cent],%[cent]" circle 0,0 0,$outer" \
-fill black -draw "translate "%[cent],%[cent]" circle 0,0 0,$inner" \
-alpha off -blur 0x1 +write ring.png \
-write mpr:bpass +delete \) \
-fft \( -clone 0 mpr:bpass -compose multiply -composite \) \
-swap 0 +delete -ift -evaluate multiply 10 \
"%[filename:fn]"
Если вы имеете в виду усиление полосы (усиление полосы), а не пропуск полосы, то вы добавляете результат обратно с оригиналом (-compose плюс -composite). В ImageMagick 6 это будет:
inner=3
outer=40
infile="lena-1.png"
cent=`convert "$infile" -format "%[fx:floor((w-1)/2)]" info:`
inname=`convert "$infile" -format "%t" info:`
suffix=`convert "$infile" -format "%e" info:`
convert "$infile" \
\( +clone -fill black -colorize 100 \
-fill white -draw "translate $cent,$cent circle 0,0 0,$outer" \
-fill black -draw "translate $cent,$cent circle 0,0 0,$inner" \
-alpha off -blur 0x1 +write ring.png \
-write mpr:bpass +delete \) \
-fft \( -clone 0 mpr:bpass -compose multiply -composite \) \
-swap 0 +delete -ift "$infile" -compose plus -composite \
${inname}_bandenhance_${inner}_${outer}.$suffix
Это результаты, отличные от того, что я получаю с этими настройками в ImageJ. К сожалению, я не знаю, что они делают. Результаты ImageJ для меня больше напоминают фильтрацию нижних частот, чем то, что я знаю как усиление полосы / пропуск полосы. См https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=12&cad=rja&uact=8&ved=2ahUKEwjJvoWD6L7eAhXJslQKHf1jArgQFjALegQICBAC&url=https%3A%2F%2Fcanvas.instructure.com%2Ffiles%2F6907524%2Fdownload%3Fdownload_frd%3D1&usg=AOvVaw2ws15jPD6C2-yAkfHmHYMH и https://www.scribd.com/doc/51981950/Frequency-Domain-Bandpass-Filtering-for-Image-Processing
В ImageJ, возможно, они используют фильтр Баттерворта или большее размытие по Гауссу. Или, возможно, они только обрабатывают канал интенсивности от, скажем, HSI, HSV или LAB.