我想使用 ImageJ 对几千张图像进行一些处理。
有没有办法使用任何通用的 imageJ 插件并将其自动应用于数百张图像?
例如,假设我想拍摄我的一千张图像并对每张图像应用极坐标变换——
ImageJ 的极坐标变换插件可以在这里找到:
http://rsbweb.nih.gov/ij/plugins/polar-transformer.html
伟大的!让我们使用它。从:
我发现我可以使用以下方法应用插件:
(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 插件的信息。有谁知道这样做的正确方法?
谢谢,--罗伯特·麦金太尔