0

我想重新打开已使用 show() 调用的 ImagePlus 文件。

也就是说,我已经打电话了

imp.show() 

我关闭了包含图像的窗口,但现在我想在另一个窗口中重新打开 ImagePlus 文件(通过代码)。不幸的是,再次调用 imp.show() 不起作用。关于如何在新的 ImageJ 窗口中重新打开它的任何想法?

4

1 回答 1

1

ImageJ 邮件列表中进行搜索会为您提供答案(由 Michael Schmid 撰写):

关闭一个ImageWindow( ImageWindow.close) 调用imp.flush(),这
会删除 imp 的许多类变量(基本上所有
需要大量内存的东西都设置为 null)。

并提出一个可能的解决方案:

如果您没有堆栈,解决方案是
在 imp 中保留对 ImageProcessor 的引用并保留它而不是 imp(也是
roi)。如果您没有堆栈,您也可以尝试克隆 ImagePlus
以获得可以再次显示的副本 -
克隆的内存消耗会相当低(“浅克隆”)。

于 2013-07-16T20:10:43.353 回答