旋转时,ImageJ叠加层被移除

时间:2015-02-02 07:58:33

标签: rotation overlay imagej

我现在正在学习ImageJ,但我遇到了问题。

首先,我在图像上添加了一个叠加层(在菜单中使用了Image-Overlay-AddImage)。现在我想旋转图像并保持上部叠加作为参考。但是当我使用旋转命令(图像变换旋转)时,叠加层将被删除。

然而,旋转90度(图像变换 - 旋转90度左/右)和平移命令(图像变换 - 平移),此操作很好。这些正是我想要的,保持叠加层保持不变并使原始图像发生变化。

我想知道为什么这些不同,特别是'旋转'然后旋转90度'以及如何正确旋转而不移除叠加层。有人可以帮帮我吗?谢谢!

1 个答案:

答案 0 :(得分:0)

观察到的行为是由于不同的代码执行不同的旋转:

  

图片>变换>向左旋转90度→   ij.plugin.filter.Transformer("left")   图片>变换>向右旋转90度→   ij.plugin.filter.Transformer("right")

,而

  

图片>变换>旋转...... →   ij.plugin.filter.Rotator

(您可以通过按[L]或运行插件>实用程序>查找命令... 然后在搜索中键入旋转get this information in ImageJ场)

如果您查看ij.plugin.filter.Rotator class,您会看到它会调用ImageCanvas#setDisplayList(null),这会删除当前Overlay(另请参阅javadoc),即使预览中不显示网格线。

此行为有点不直观,如果您通过mailing listFiji's bugzilla进行报告,开发人员可能会更改此行为。