0

我有一个概念性的问题,所以很抱歉没有具体说明。

我是一名生物学家,从事图像分析工作。我正在编写方法出版物,其中包括使用ImageJ我开发的脚本进行图像分析和使用我们的R包进行数据分析。理想情况下,我们希望发布我们的数据、分发宏并R通过 Web 应用程序提供分析。目标是使该方法适用于计算机知识很少的人。

因此,我试图了解是否需要将宏开发为插件。到目前为止,据我了解,开发插件可能会加快对大型数据集的分析,编译安全并启用自动更新。

我的ImageJ宏很简单。ImageJ它利用了来自几个已经可用插件的一系列命令。

该界面的制作使用户不需要ImageJ识字,并带有对话框来指定输入文件夹并设置一些参数。最终结果是一堆图像和 .csv 文件,可以进一步用于分析R. 它还记录了所做的分析并保存了一些中间文件。

它运行得非常好,我已经在 Mac OS、Windows 和 Linux 平台上尝试过。但是,对于大型数据集,宏可能会变得非常慢。

我的Java技能很差,所以开发一个插件需要很多时间和学习。

所以我正在考虑是否可以按原样发布脚本,或者发布可能导致错误、运行缓慢且不会自动更新的代码是否有点不负责任。或者是否有任何替代方案或者更简单的方法可以将脚本转换为插件。

我真的很感激任何意见或建议!

4

2 回答 2

1

所以我正在考虑是否可以按原样发布脚本,或者发布可能导致错误、运行缓慢且不会自动更新的代码是否有点不负责任。或者是否有任何替代方案或者更简单的方法可以将脚本转换为插件。

这个问题可能与 StackOverflow 无关。如果您还没有这样做,我建议您将其发布在ImageJ 论坛上,该论坛正是为此类讨论而设计的。

如有疑问,我总是建议按原样发布您的代码,而不是坐在上面。这已经足够好了!如果您感到尴尬,您可以包含一个明确的免责声明,甚至使用CRAPL之类的许可证来传达代码开发的上下文。您正在考虑发布损坏或错误代码的后果是一件好事,但它应该足以记录代码不足的方式。

我同意您的评估,即开发 ImageJ 宏比使用其他受支持的脚本语言之一进行开发更容易,即使这些其他语言最终更强大。

请注意,您可以从脚本调用宏,反之亦然。因此,您可以编写一个脚本,然后从中调用您的宏,如果这会使事情变得更容易的话。

另请注意,ImageJ 确实包含一个名为 Renjin 的基于 JVM 的 R 版本,尽管还没有关于使用它的文档。对于基于 R 的功能,这可能会使您的生活更轻松,具体取决于您使用的 R 包(并非所有这些包都可用于 Renjin)。

或者是否有任何替代方案或者更简单的方法可以将脚本转换为插件。

您可以使用宏录制器以 JavaScript 等语言进行录制。这极大地促进了生成用于任何成熟脚本语言的正确代码行,根据您所针对的脚本语言,通常对语法的更改很少或没有更改。

最后,为了将您的功能分发给最终用户,我强烈建议您仔细阅读ImageJ wiki 的分发页面,其中涵盖了这样做的最佳实践。

于 2017-08-29T18:20:43.103 回答
0

我建议也许尝试用 jython 编写,因为它比 java 更容易一些。如果您发布代码或电子邮件,它可以提供一些建议/如果它不太复杂,我可以自己更改语言。很难说它会运行多快,但应该更快(取决于你想要做什么)

于 2017-08-23T20:51:44.763 回答