我们只需要用到itk中的
readImageArrayBuffer
从这个api我们可以看出,我们需要的是一个ArrayBuffer的数据,那么,我们通过
vtk.js中的vtkHttpDataAccessHelper的方法把数据转换成ArrayBuffer后进行处理,即下面的
import vtkHttpDataAccessHelper from "vtk.js/Sources/IO/Core/DataAccessHelper/HttpDataAccessHelper";
const { fetchBinary } = vtkHttpDataAccessHelper;
fetchBinary(res).then((binary) => {})
主要代码为如下设置
vtkITKImageReader.setReadImageArrayBufferFromITK(readImageArrayBuffer);
const niftiReader = vtkITKImageReader.newInstance();
const mapperNifti = vtkImageMapper.newInstance();
const actorNifti = vtkImageSlice.newInstance();
niftiReader.setFileName("image.nii");
niftiReader.parseAsArrayBuffer(res).then(() => {
const source = niftiReader.getOutputData();
console.log(niftiReader.getFileName());

该博客介绍如何使用vtk.js库和ITK模块来读取并渲染nii.gz格式的医学图像数据。首先,通过vtkHttpDataAccessHelper获取数据并转换为ArrayBuffer,然后利用vtkITKImageReader的parseAsArrayBuffer方法解析数据。接着,设置颜色转移函数和分段函数以定制图像的色彩表现,并使用vtkVolumeMapper和vtkVolume进行体积渲染。最后,在全屏渲染窗口中展示图像。
最低0.47元/天 解锁文章
1596





