【发布时间】:2013-07-17 04:10:43
【问题描述】:
我想重新打开已使用 show() 调用的 ImagePlus 文件。
也就是说,我已经打过电话了
imp.show()
我关闭了包含图像的窗口,但现在我想在另一个窗口中重新打开 ImagePlus 文件(通过代码)。不幸的是,再次调用 imp.show() 不起作用。关于如何在新的 ImageJ 窗口中重新打开它的任何想法?
【问题讨论】:
我想重新打开已使用 show() 调用的 ImagePlus 文件。
也就是说,我已经打过电话了
imp.show()
我关闭了包含图像的窗口,但现在我想在另一个窗口中重新打开 ImagePlus 文件(通过代码)。不幸的是,再次调用 imp.show() 不起作用。关于如何在新的 ImageJ 窗口中重新打开它的任何想法?
【问题讨论】:
在ImageJ mailing list 中搜索会为您提供答案(作者:Michael Schmid):
关闭
ImageWindow(ImageWindow.close) 调用imp.flush(),
删除 imp 的许多类变量(基本上是所有
需要大量内存设置为空)。
并提出可能的解决方案:
如果您没有堆栈,解决方案是保留对
的引用 在 imp 中的 ImageProcessor 并保留它而不是 imp (也是
投资回报率)。如果您没有堆栈,您也可以尝试克隆 ImagePlus
获取可以再次显示的副本 - 内存消耗
克隆会相当低(“浅克隆”)。
【讨论】: