如何读取和更新lineplot/dataplot的lowlimit和highlimit值?
How to read and update the lowlimit and highlimit value of lineplot/dataplot?
我尝试写一个代码,可以读取改变linePlot/dataPlot的highlimit值(Y轴的最高值)。如下所示,它不起作用。貌似我们不能通过“number highlimit= imgdisp.linePlotImageDisplaySetContrastLimits(highlimit)”读取线图的上限值,如何从线图中读取这个值?谢谢
number linelen=len(headerline)
number i, nocommas=0
for(i=0; i<linelen; i++)
{
string thischar=mid(headerline, i, 1)
if(asc(thischar)==44) nocommas=nocommas+1 // found a comma
}
number xsize, ysize
getsize(array, xsize, ysize)
image dataplot=realimage("", 4, xsize,1)
showimage(dataplot)
setname(dataplot, imgname)
imagedisplay imgdisp=dataplot.imagegetimagedisplay(0)
number highlimit= imgdisp.linePlotImageDisplaySetContrastLimits(highlimit)
if( highlimit<50){imgdisp.linePlotImageDisplaySetContrastLimits( 0, 400)
imgdisp.LinePlotImageDisplaySetDoAutoSurvey( 0, 0 )}
这里有几件事:
1)
通常,每个 "Set" 命令也有相应的 "Get" 命令。因此,读取当前显示限制的脚本命令就是
linePlotImageDisplayGetContrastLimits()
2)
设置对比度限制仅在自动测量关闭时有效。在 设置限制之前,您必须先将其关闭。 (如果您先设置限制,它们会立即被调查中的值替换,因此您看不到任何效果。)
3)
我不确定你真正想要什么set/get。是要获取数据的最大值,还是显示限制?
最大值由max( )
简单得到。
DisplayLimits 定义 y 轴上的范围,即它们设置您也可以在显示属性中指定的值,如下所示,它们独立于您在数据中的值:
显示限制设置为 0 - 500。(最大数据值 = 500)
显示限制设置为 0 - 1000。(最大数据值 = 500)
显示属性对话框。
下面是一些如何设置和读取显示限制的示例代码:
image spec := RealImage( "", 4, 500 )
spec = 20 + random() * icol
spec.ShowImage()
number maxV = max(spec)
imageDisplay LPID = spec.ImageGetImageDisplay(0)
LPID.LinePlotImageDisplaySetDoAutoSurvey( 0, 0 ) // switch survey off
LPID.LinePlotImageDisplaySetContrastLimits( 0, maxV*2 ) // Set the display
number lowL, highL
LPID.LinePlotImageDisplayGetContrastLimits( lowL, highL )
Result( "\n Maximum value in data:" + maxV )
Result( "\n Data display range:" + lowL + " to " + highL )
我尝试写一个代码,可以读取改变linePlot/dataPlot的highlimit值(Y轴的最高值)。如下所示,它不起作用。貌似我们不能通过“number highlimit= imgdisp.linePlotImageDisplaySetContrastLimits(highlimit)”读取线图的上限值,如何从线图中读取这个值?谢谢
number linelen=len(headerline)
number i, nocommas=0
for(i=0; i<linelen; i++)
{
string thischar=mid(headerline, i, 1)
if(asc(thischar)==44) nocommas=nocommas+1 // found a comma
}
number xsize, ysize
getsize(array, xsize, ysize)
image dataplot=realimage("", 4, xsize,1)
showimage(dataplot)
setname(dataplot, imgname)
imagedisplay imgdisp=dataplot.imagegetimagedisplay(0)
number highlimit= imgdisp.linePlotImageDisplaySetContrastLimits(highlimit)
if( highlimit<50){imgdisp.linePlotImageDisplaySetContrastLimits( 0, 400)
imgdisp.LinePlotImageDisplaySetDoAutoSurvey( 0, 0 )}
这里有几件事:
1)
通常,每个 "Set" 命令也有相应的 "Get" 命令。因此,读取当前显示限制的脚本命令就是
linePlotImageDisplayGetContrastLimits()
2)
设置对比度限制仅在自动测量关闭时有效。在 设置限制之前,您必须先将其关闭。 (如果您先设置限制,它们会立即被调查中的值替换,因此您看不到任何效果。)
3)
我不确定你真正想要什么set/get。是要获取数据的最大值,还是显示限制?
最大值由max( )
简单得到。
DisplayLimits 定义 y 轴上的范围,即它们设置您也可以在显示属性中指定的值,如下所示,它们独立于您在数据中的值:
下面是一些如何设置和读取显示限制的示例代码:
image spec := RealImage( "", 4, 500 )
spec = 20 + random() * icol
spec.ShowImage()
number maxV = max(spec)
imageDisplay LPID = spec.ImageGetImageDisplay(0)
LPID.LinePlotImageDisplaySetDoAutoSurvey( 0, 0 ) // switch survey off
LPID.LinePlotImageDisplaySetContrastLimits( 0, maxV*2 ) // Set the display
number lowL, highL
LPID.LinePlotImageDisplayGetContrastLimits( lowL, highL )
Result( "\n Maximum value in data:" + maxV )
Result( "\n Data display range:" + lowL + " to " + highL )