Имея несколько областей интереса на изображении, как я могу отправить область интереса на задний план?

Когда у меня есть несколько областей интереса на изображении, они могут перекрываться, и иногда меньшая теряется за большей. Однако один из них находится «вверху», а другой «внизу». У меня есть идентификатор ROI, но мне не хватает команды ROI_ID.ROISendToBack() или аналогичной.

Доступен какой-нибудь трюк? Спасибо!


person E Voelkl    schedule 13.04.2018    source источник


Ответы (1)


Порядок ROI на дисплее не может быть свойством отдельной ROI, но это свойство объекта, «содержащего» ROIс. Вот почему вы ищете команду не в том месте. Это команда не объекта ROI, а объекта ImageDisplay.

Каждый ImageDisplay содержит «список» своих ROI, и вы хотите изменить порядок в этом списке.

Команды для указания «порядка» ROI на ImageDisplay:

Команды заказа 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 )

Демо

person BmyGuest    schedule 14.04.2018
comment
Кстати, в справочной документации F1 более поздних версий GMS есть пример упорядочивания ROI. (Раздел: Примеры сценариев/ОИ --› Свойства ОИ --› Изменение z-порядка ОИ на дисплее) - person BmyGuest; 14.04.2018