我有一些大小变化的数据,并希望在同一窗口中显示它们。命令
void ImageResize( BasicImage im, Number num_dim, Number... )
似乎很适合,但语法根本不清楚。
假设我有512x5数据集,现在需要是367x5。
答案 0 :(得分:2)
, Number...)
表示此命令采用不同数量的参数,所有参数均解释为number
参数。执行此操作的命令通常使用其他参数之一来指定要遵循的参数数量。
一个典型的示例就是SliceN
命令。
在这种情况下,该命令不仅允许您更改图像中尺寸的大小,而且还可以更改尺寸数。这对f.e.将2D图像更改为3D堆栈等。
命令
ImageResize( BasicImage im, Number num_dim, Number... )
执行以下操作:
- 它就地替换了
im
,因此元数据,显示和窗口保持不变- 更改尺寸大小后,调整尺寸校准。在这里,假设的是,之前和之后的视野 调整大小后相同。 (该命令可用于轻松扩展 图片,如下例所示。)
- 图像
im
的所有值都设置为零。 (如果需要保留这些值,则需要对图像克隆执行操作!)
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()
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()