Code: Select all
#######################################################
## M E A S U R E M E N T A N D A N A L Y S I S
##
## Macro name: Show circle annotation in continous mode
## Required files: none
##
## ENTER CIRCLE DIAMETER
## SHOW CIRCLE IN CONTINOUS MODE
##
#######################################################
##
##
## Remove all open documents
Zen.Application.Documents.RemoveAll()
##
##
## Activate Zen.Windows
zw = Zen.Windows
##
## enter integer value in textbox
## show value in message box
diam = zw.ShowTextBox('Enter circle diameter:','200')
if diam != None:
## Show continous mode
Zen.Acquisition.StartContinuous()
image = Zen.Application.Documents.ActiveDocument
## Define start/end of circle bounding box
startX = (image.Bounds.SizeX/2) - int(diam)/2
startY = (image.Bounds.SizeY/2) - int(diam)/2
## show circle
circle = image.Graphics.Add(ZenGraphicCategory.Circle)
circle.SetBounds(startX,startY,int(diam),int(diam))
circle.IsMeasurementVisible = False
circle.Thickness = 8
## Get current scale unit
start = (image.Metadata.ScalingX.Length)-2
sUnit = image.Metadata.ScalingX.Substring(start,image.Metadata.ScalingX.Length-start)
## show diameter value and unit in upper left corner of image
textbox = image.Graphics.Add(ZenGraphicCategory.TextBox)
textbox.Text = diam + ' ' + sUnit
textbox.SetBounds(20, 20, 100, 50)
textbox.Thickness = 30
textbox.FillColor = ZenColors.White
textbox.StrokeColor = ZenColors.Red
textbox.TextColor = ZenColors.Red
textbox.IsMeasurementVisible = False
## Close continous mode
#Zen.Acquisition.StopContinuous()
else:
zw.Show('Cancel')
##
#######################################################