Я хочу использовать ImageJ для обработки нескольких тысяч изображений.
Есть ли способ взять какой-нибудь общий плагин imageJ и автоматически применить его к сотням изображений?
Например, скажем, я хочу взять свою тысячу изображений и применить полярное преобразование к каждому ---
Плагин полярного преобразования для ImageJ можно найти здесь:
http://rsbweb.nih.gov/ij/plugins/polar-transformer.html
Отлично! Давайте использовать это. От:
http://albert.rierol.net/imagej_programming_tutorials.html#How%20to%20automate%20an%20ImageJ%20dialog
Я считаю, что могу применить плагин, используя следующее:
(defn x-polar
[imageP]
(let [thread (Thread/currentThread)
options ""]
(.setName thread "Run$_polar-transform")
(Macro/setOptions thread options)
(IJ/runPlugIn imageP "Polar_Transformer" "")))
Это хорошо, потому что он подавляет диалог, который в противном случае выскочил бы для каждого изображения. Но выполнение этого всегда вызывает окно, содержащее преобразованное изображение, когда я просто хочу вернуть преобразованное изображение.
Самый глупый способ сделать то, что я хочу, это просто закрыть окно, которое появляется, и вернуть изображение, которое оно отображало.
Делает, что я хочу, но абсолютно отсталый:
(defn x-polar
[imageP]
(let [thread (Thread/currentThread)
options ""]
(.setName thread "Run$_polar-transform")
(Macro/setOptions thread options)
(IJ/runPlugIn imageP "Polar_Transformer" "")
(let [return-image (IJ/getImage)]
(.hide return-image)
return-image)))
Я явно что-то упускаю из-за того, как использовать плагины imageJ в контексте программирования.
Кто-нибудь знает правильный способ сделать это?
Спасибо,
Роберт Макинтайр