我想用java来虚拟化一个3D数组。但是,没有太多的使用java的演示代码,所以我以一些C ++演示代码为例。这里是一个使用C ++的例子,它在内存中实现3D数据的3D重建,代表3D Image。首先,它在内存中创建一个3D数组,如下所示:
unsigned short data[dim][dim][dim];
for (int i=0;i<dim;i++)
for (int j=0;j<dim;j++)
for (int k=0;k<dim;k++)
data[i][j][k]=1000;
然后将此数组的指针传递给vtkImageData,后者可以在以后处理3D数组数据,如下所示:
vtkUnsignedShortArray *array=vtkUnsignedShortArray::New();
array->SetVoidArray(data,dim*dim*dim,1);
vtkImageData *imageData=vtkImageData::New();
imageData->GetPointData()->SetScalars(array);
根据这个程序,我用java写了一个类似的代码,像这样: enter image description here
但我找不到合适的方法来传输我的3D图像数据数组(imageArr
从指定的tiff文件中读取像素数据。)
在这里我的问题是,如何使用基于vtk的java将3D iamge数据阵列重建为3D图像。
我是中国学生,不擅长使用英语,我会很高兴你的答复。