当我在图像中有多个ROI时,它们可以重叠,有时较小的ROI会在较大的ROI后面丢失。然而,其中一个是" top"另一个是下面的#34;"我有ROI的ID,但我错过了ROI_ID.ROISendToBack()或类似的命令。
有什么技巧吗? 谢谢!
答案 0 :(得分:1)
显示器上 ROI 的顺序不能是单个 ROI 的属性,但它是“包含”的东西的属性ROI 秒。这就是你在错误的地方搜索命令的原因。它不是 ROI 对象的命令,而是 ImageDisplay 对象的命令。
每个 ImageDisplay 都包含 ROI 的“列表”,您想要更改该列表中的顺序。
在 ImageDisplay 上指定 ROI 的“顺序”的命令是
没有“移动”ROI的命令,但您可以简单地删除并重新添加它。
image img := RealImage( "Dummy",4, 350, 350)
img = iradius
img.ShowImage()
imageDisplay disp = img.ImageGetImageDisplay(0)
ROI roi1 = NewROI()
roi1.ROISetRectangle( 100, 100, 200, 200 )
roi1.ROISetVolatile(0)
roi1.ROISetColor(1,0,0)
roi1.ROISetDrawFilled(1)
roi1.ROISetFillProperties(0.2,0.1,0,0)
ROI roi2 = NewROI()
roi2.ROISetRectangle( 125, 125, 225, 225 )
roi2.ROISetVolatile(0)
roi2.ROISetColor(0,1,0)
roi2.ROISetDrawFilled(1)
roi2.ROISetFillProperties(0.2,0,0.1,0)
ROI roi3 = NewROI()
roi3.ROISetRectangle( 150, 150, 250, 250 )
roi3.ROISetVolatile(0)
roi3.ROISetColor(0,0,1)
roi3.ROISetDrawFilled(1)
roi3.ROISetFillProperties(0.2,0,0,0.1)
disp.ImageDisplayAddROI( roi1 )
disp.ImageDisplayAddROI( roi2 )
disp.ImageDisplayAddROI( roi3 )
OKDialog( "Now send blue to the bottom" )
disp.ImageDisplayDeleteROI( roi3 )
disp.ImageDisplayAddROIAtBeginning( roi3 )
OKDialog( "Now send red to front" )
disp.ImageDisplayDeleteROI( roi1 )
disp.ImageDisplayAddROIAtEnd( roi1 )