如何从Python 3.4.2控制ImageJ

时间:2015-09-01 12:38:32

标签: python opencv python-3.x imagej

我正在尝试使用Python 3.4.2来控制ImageJ

我想要做的是从python代码,我想发送命令到imageJ到analayse一些图像,检测边缘,对比度,噪音等 这里有一个类似的问题 How to connect ImageJ to python? 但是没有答案,比如“安装它,并使用此命令控制Find Edges按钮”

我想知道我怎么能这样做,有人可以帮助我

我找到了这个link和这个link,他们说可以使用“import ij”,但是没有我可以使用或安装的ij库。

还有ImageJ website在“如何从我的软件中调用ImageJ?”中说明了这一点。 “如果您的软件是用其他语言编写的,例如C或Python,那么有很多方法可以集成Java功能。您必须选择哪种方法最适合您的特定需求。”但没有具体细节

这个Google webpage说用“py4ij”我可以用python“Py4IJ - 用于ImageJ的Python - 插件和IDE来控制imagej,它允许Python和Jython访问ImageJ”

但我不确定如何运行它,帮助

作为Imagej的替代品是斐济,但我不确定python是否可以控制它,或者我必须使用FijiFiji tutorial

我的最后一个选择是使用OpenCV进行图像处理,但实际上我需要使用ImageJ或斐济,所以OpenCV不是一个有效的答案

感谢

修改

根据第一个答案,它建议编写一个CellProfiler的RunImageJ模块,但我的问题是我应该安装CellProfiler吗?来自here,按照示例herehere并运行module

或者我应该遵循this link

中的原生Python想法

无论如何第一个回答链接谈到Jython,但是我不能使用Jython,它的最新版本是基于python2.7而我使用的是3.4,并且jython 3.x没有开发

帮助

1 个答案:

答案 0 :(得分:1)

最近在新的ImageJ论坛上讨论了Python与ImageJ的集成;请参阅Python scripting主题。

虽然它专注于从ImageJ调用本机代码包装的Python模块(如NumPy),但反向(从Python调用ImageJ)也可以通过一些解决方案来解决,特别是CellProfiler的RunImageJ模块。正如那里所讨论的那样,专门的程序员可以从那里开始并为社区的利益提供更通用的解决方案。

一般情况下,Python页面上的ImageJ wiki会讨论此问题,尤其是section on limitations