我在使用ImageJ宏时遇到麻烦。函数selectImage(id)和selectWindow(名称)导致ImageJ完全崩溃,甚至使我不得不完全重置Unity (我在Ubuntu12.04上),因为所有的GUI输入都是冻结的。
发生这种情况的宏相当长。当我在简单和简单的宏中使用上述函数时,什么都不会发生。我首先打开图像,然后执行数千次操作,然后请求窗口开关。就在那时整件事都结冰了。
是否有人对这些问题有足够的了解,从而提出可能的问题?
发布于 2013-09-27 16:09:16
如果以setBatchMode(true)作为宏的前缀,则ImageJ将在后台执行宏,在宏完成之前(或在调用setBatchMode(false)之前)不会显示或更新任何窗口。这将防止selectWindow和selectImage调用实际上将窗口带到前台,而在您的示例中则会导致Unity崩溃。您的宏也将更快地达到数量级。
发布于 2013-09-26 18:02:37
我在写问题的时候找到了解决办法。问题是,我在循环中调用了selectImage()和selectWindow(),这导致每秒有数千次窗口切换请求。我想联合不能处理得很好。
底线:不要在长循环中调用这些函数。
https://stackoverflow.com/questions/19035412
复制相似问题