详细描述ImageJ2的36页技术手稿现在arXiv上提供:
本手稿提供了ImageJ2的技术概述,包括对architecture的深入描述,其中包括关于SciJava Common、ImageJ Common、SCIFIO、ImageJ Ops、ImageJ Legacy和ImageJ Updater的部分,以及关于ImageJ2如何改进关键功能领域的讨论, extensibility、reproducibility、能力、性能、compatibility 和 community。
摘要
背景。 ImageJ 是一个广泛评估生物科学领域的图像分析程序。由于其易用性、可记录的宏语言和可扩展的插件架构,ImageJ 得到了非专业人员、专业人员和专业开发人员的贡献,可以说这一壮举是其他图像分析套件(无论是商业的还是开源的)尚未实现的。如此一来,多样化的贡献者形成了一个类似生物和物理科学的独特社区,使然而,ImageJ 增长的用户群、不同的插件套件和技术限制表明,显然需要协调一致的软件工程工作来支持新兴的逻辑模型,以确保软件能够满足现代科学的要求。
结果我们的目标雄心勃勃:在不牺牲现有社区的情况下创建一个面向未来的工具。我们从头开始重建ImageJ,设计了一个强大的插件机制,促进各个级别的可扩展性。 ImageJ在名为“/software/imagej2”的重要处,提供了许多新功能。将关注点分离,将数据模型与用户界面完全解耦。它强调与外部应用程序的集成,以最大限度地提高互操作性。尽管其强大的区别的新插点作品框架允许社区扩展从图像格式到脚本语言到可视化的所有。重新设计的数据模型内容支持大部分的N维数据集,这在图像采集中越来越常见。发生了这些变化,但仍然保留了这些变化,该新功能可以与经典相ImageJ界面无缝集成,从而允许用户和开发人员按照自己的节奏迁移到这些新方法。
结论。科学理论受益于开源,这些项目促进了新方法的开发和向不同集中人群项目的部署。ImageJ在这方面表现出色;然而,由于新出现的挑战,它正处于关键的发展十字路口。所描述的改进提供了一个适应未来需求的框架,从而实现持续的成功和创新。未来的工作在此框架中实施新算法,并扩大与其他流行科学软件套件的合作。