我正在尝试使用 Java SimpleITK 包装器进行医学图像处理。
在利用 ITK 分割过滤器之前和之后,我需要将图像作为普通数值数组进行一些操作。但是,我找不到将数值数组传输到 SITK Image 对象或将 Image 对象恢复回数值数组的有效方法。使用嵌套循环执行每像素 setPixelAs
或 getPixelAs
操作会花费大量时间。
我知道 getPixelContainer
方法现已弃用(?),并且应该被 getBufferAs
方法取代,我可以在 Doxygen Image 类列表中看到该方法,但是似乎在 Java 包装器 (v0.6.1) 中受到抑制。有办法解决这个问题吗?
最佳答案
这个问题现在正在这里讨论: http://itk-users.7.n7.nabble.com/Why-are-getBufferAs-methods-not-available-in-Java-td30969.html
看来Java还没有这么简单的包装器,而python可以使用SimpleITK.GetArrayFromImage(image_obj)。我在这里看到 2011 年的一个问题:https://issues.itk.org/jira/browse/SIMPLEITK-40 .
可能值得考虑是否需要用 Java 包装它,或者是否可以用其他方式包装它(C++?)
此外,请查看 this answer 中精心整理的各种文档来源。 .
关于java - 在数值数组和 SimpleITK Image 对象之间传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15394240/