ImageResize()的语法是什么

时间:2018-10-15 19:51:19

标签: image syntax dm-script

我有一些大小变化的数据,并希望在同一窗口中显示它们。命令

void ImageResize( BasicImage im, Number num_dim, Number... ) 

似乎很适合,但语法根本不清楚。
假设我有512x5数据集,现在需要是367x5。

1 个答案:

答案 0 :(得分:2)

, Number...)表示此命令采用不同数量的参数,所有参数均解释为number参数。执行此操作的命令通常使用其他参数之一来指定要遵循的参数数量。 一个典型的示例就是SliceN命令。

在这种情况下,该命令不仅允许您更改图像中尺寸的大小,而且还可以更改尺寸数。这对f.e.将2D图像更改为3D堆栈等。

  

命令ImageResize( BasicImage im, Number num_dim, Number... )执行以下操作:

     
      
  • 它就地替换了im,因此元数据,显示和窗口保持不变
  •   
  • 更改尺寸大小后,调整尺寸校准。在这里,假设的是,之前和之后的视野   调整大小后相同。 (该命令可用于轻松扩展   图片,如下例所示。)
  •   
  • 图像im的所有值都设置为零。 (如果需要保留这些值,则需要对图像克隆执行操作!)
  •   

示例1:通过胆管插值调整图像大小

image before := GetFrontImage()
number sx, sy
before.GetSize(sx,sy)
number factor = 1.3
image after := before.ImageClone()  
after.ImageResize( 2, factor*sx, factor*sy )    // Adjusts the empty container with meta-data 
after = warp(before, icol/factor, irow/factor ) // interpolate data
after.ShowImage()

示例2:将2D图像扩展到3D堆栈中

number sx = 100
number sy = 100
image img := RealImage("2D",4,sx,sy)
img = iradius* Random()
img.ShowImage()
OKDialog("Now into a stack...")
number sz = 10
img.ImageResize(3,sx,sy,sz) // All values are zero now!
img = iradius * Random()