一维阵列的三维图像构造

时间:2015-01-17 23:56:42

标签: imagej

我有一个插件,我在其中使用ImageJ图像堆栈(3d)并将其转换为1d浮点数组,以便通过使用JNA(Java本机接口)调用的本机代码进行进一步处理。现在,一旦我完成处理并返回修改后的1D图像阵列,我不知道如何将其转换回Image堆栈。仅针对二维图像回答了这个问题,但我想以最有效的方式将其转换回图像堆栈,然后显示图像。此外,像素以下列方式存储在1D阵列中。要访问图像中位置(x,y,z)的像素,您将转到元素:

一维数组中的

[(z * width * height) + (height * y) + y]

1 个答案:

答案 0 :(得分:1)

所以我找到了一种方法:

outputstack = ImageStack(x, y, z )  

for i in xrange(0, z):

    # Get the slice at index i and assign array elements corresponding to it.

    outputstack.setPixels(Array1D[int(i*x*y):int((i+1)*x*y)], i+1)

outputImp = ImagePlus("Output Image", outputstack) 

希望这有助于其他人。