首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改线条轮廓的约束?

如何更改线条轮廓的约束?
EN

Stack Overflow用户
提问于 2017-06-28 23:54:24
回答 1查看 95关注 0票数 1

有没有可能更改LinePlot display by script函数中切片的约束?

为了分离我想要的所有行,我目前必须逐个单击每一行,然后从菜单中选择选项。

我在DM-script文档中没有找到这样的命令。我怎么能通过脚本来做这样的事情呢?

EN

回答 1

Stack Overflow用户

发布于 2017-06-29 01:08:20

您寻找的命令可能会在“LinePlotDisplays”一节中介绍:

一个简单的例子是:

代码语言:javascript
复制
image spectrum := RealImage( "Test", 4, 512 )
spectrum = icol * sin( icol/iwidth * 10 * Pi() ) 
spectrum.ShowImage()

imageDisplay disp = spectrum.ImageGetImageDisplay(0)
disp.LinePlotImageDisplaySetDoAutoSurvey( 0, 0 )            // Switch auto-survey off!
disp.LinePlotImageDisplaySetContrastLimits( -50, 100 )      // Set limits (uncalibrated)
disp.LinePlotImageDisplaySetDisplayedChannels( 100, 200 )   // Set X-range in display (uncalibrated)

但是,如果您指的是从图例上的右键单击菜单获得的设置,即

那恐怕我也帮不了你了。

在当前的DigitalMicrograph中似乎不存在对此功能的脚本访问。

但是,您可以通过脚本命令相对于彼此“移动和缩放”LinePlot的各个切片。实际上在帮助文档中有一个示例脚本,我只是在这里复制粘贴它:

代码语言:javascript
复制
number deltaX = 10
number deltaY = 20

number kLinePlotType = 3
image spec := GetFrontImage()
if ( !spec.ImageIsValid() ) Throw( "Invalid image" )
if ( 0 == spec.ImageCountImageDisplays() ) Throw( "No Image Display" )

imageDisplay disp = spec.ImageGetImageDisplay(0)
if ( kLinePlotType != disp.ImageDisplayGetDisplayType() ) Throw( "Not a LinePlot." )

number nSlices = disp.LinePlotImageDisplayCountSlices()

// get current reference slice index and its ID
number refSlice_idx = disp.LinePlotImageDisplayGetSlice()
object slice_ref = disp.ImageDisplayGetSliceIDByIndex( refSlice_idx )

for ( number i = 1; i < nSlices; i++ )
{
    object slice_src = disp.ImageDisplayGetSliceIDByIndex( i )
    number int_offset, int_scale
    number pos_offset, pos_scale

    // get current transform factors between slice and reference slice
    disp.LinePlotImageDisplayGetImageToGroupTransform( slice_src, slice_ref, int_offset, int_scale, pos_offset, pos_scale )
    pos_offset = ( i / nSlices ) * deltaX
    int_offset = ( i / nSlices ) * deltaY

    // set new transform factors between slice and reference slice
    disp.LinePlotImageDisplaySetImageToGroupTransform( slice_src, slice_ref, int_offset, int_scale, pos_offset, pos_scale )
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44807390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档