我有一个有点概念性的问题,所以对非特定性道歉。
我是一名生物学家,从事图像分析工作。我正在开发一个方法发布,其中包括使用我开发的ImageJ
脚本进行图像分析,并使用我们的R
包进行数据分析。理想情况下,我们希望发布我们的数据,分发宏并通过Web应用程序提供R
分析。目标是使该方法适用于计算机知识水平较低的人。
所以我试图理解我是否需要将我的宏开发成插件。到目前为止,据我所知,开发插件可能会加快大数据集的分析,编译安全并启用自动更新。
我的ImageJ
宏非常简单。它利用了几个已经可用插件的一堆ImageJ
命令。
创建了界面,以便用户不需要ImageJ
- 识字,使用对话框指定输入文件夹并设置一些参数。最终结果是一堆图像和.csv文件,可以在R
中进一步用于分析。它还记录了所做的分析并保存了一些中间文件。
它运行得非常好,我在Mac OS,Windows和Linux平台上尝试过它。但是对于大型数据集,宏可能变得非常慢。
我的Java
技能很差,所以开发一个插件会耗费大量时间并在我的学习中学习。
所以我正在考虑是否可以按原样发布脚本,或者如果发布可能导致错误的代码,运行缓慢并且不会自动更新,那将是一种不负责任的行为。或者是否有任何替代方法或更简单的方法将脚本转换为插件。
我真的很感激任何意见或建议!
答案 0 :(得分:1)
所以我正在考虑是否可以按原样发布脚本,或者是否可以 发布可能导致错误的代码会有点不负责任, 运行缓慢,不会自动更新。或者有没有 替代或者更简单的方法将脚本转换为 插件。
这个问题很可能是StackOverflow的主题。如果您还没有这样做,我建议将其发布在ImageJ Forum上,这正是针对这种讨论的。
如果有疑问,我会建议按原样发布您的代码,而不是坐在上面。 It is good enough!如果您感到尴尬,可以提供明确的免责声明,甚至使用CRAPL之类的许可来传达代码开发的背景信息。你正在考虑释放破解或错误代码的后果是好的,但它应该足以记录代码不足的方式。
我同意您的评估,即开发ImageJ宏比使用other supported scripting languages之一开发更容易,即使这些其他语言最终更强大。
请注意,您可以从脚本调用宏,反之亦然。所以你可以编写一个脚本,然后从中调用你的宏,如果这样可以让事情变得更容易。
另请注意,ImageJ执行include a JVM-based version of R called Renjin,但尚未提供有关使用它的文档。根据您使用的R软件包(并非所有R软件包都可用于Renjin),这可能会使您的生活更轻松,基于R的功能。
或者是否有任何替代方法或更简单的方法将脚本转换为插件。
您可以使用Macro Recorder以JavaScript等语言进行录制。这极大地方便了生成正确的代码行,以便在任何成熟的脚本语言中使用,通常根据您所针对的脚本语言对语法进行最少的更改或不进行更改。
最后,为了向最终用户分发您的功能,我强烈建议您仔细阅读Distribution page of the ImageJ wiki,其中介绍了执行此操作的最佳做法。
答案 1 :(得分:0)
我建议也许尝试在jython中编写,因为它比java更容易。如果您发布代码或电子邮件,它可以提供一些建议/我可以自己更改语言,如果它不太复杂。很难说它会跑得多快但应该更快(取决于你想要做的事情)