将XY校准从2D图像复制到3D图像

问题描述

如何将图像的2D轴校准复制到相同大小的3D数据集中,除了具有附加的深度尺寸?

解决方法

下面的脚本将执行此操作。为此,您使用ImageGet/SetDimension....

image img2d := GetFrontImage()
if ( 2 != img2d.ImageGetNumDimensions() ) Throw( "Not 2D")
number sx = img2D.ImageGetDimensionSize(0)
number sy = img2D.ImageGetDimensionSize(1)

image img3d := RealImage("3D",4,sx,sy,10)
for( number i=0; i<2; i++ ){
    img3d.ImageSetDimensionScale( i,img2d.ImageGetDimensionScale(i) )
    img3d.ImageSetDimensionOrigin( i,img2d.ImageGetDimensionOrigin(i) )
    img3d.ImageSetDimensionUnitString( i,img2d.ImageGetDimensionUnitString(i) )
}
img3d.ShowImage()

但是,根据您需要的3D图像,最好克隆2D图像并将其制成3D图像。这将保留所有元数据,但将数据值设置为0。

image img2d := GetFrontImage()
if ( 2 != img2d.ImageGetNumDimensions() ) Throw( "Not 2D")

number sx = img2D.ImageGetDimensionSize(0)
number sy = img2D.ImageGetDimensionSize(1)
number sz = 10
    

image img3d := img2d.ImageClone()
img3d.ImageResize(3,sz)
img3d.ShowImage()