This is the relevant js I imported
import “@kitware/vtk.js/Rendering/Profiles/All”;
import vtkVolume from “@kitware/vtk.js/Rendering/Core/Volume”;
import vtkVolumeMapper from “@kitware/vtk.js/Rendering/Core/VolumeMapper”;
import vtkGenericRenderWindow from “@kitware/vtk.js/Rendering/Misc/GenericRenderWindow”;
import vtkPiecewiseFunction from “@kitware/vtk.js/Common/DataModel/PiecewiseFunction”;
import vtkColorTransferFunction from “@kitware/vtk.js/Rendering/Core/ColorTransferFunction”;
import vtkActor from “@kitware/vtk.js/Rendering/Core/Actor”;
import vtkMapper from “@kitware/vtk.js/Rendering/Core/Mapper”;
import vtkPolyData from “@kitware/vtk.js/Common/DataModel/PolyData”;
import { BlendMode } from “@kitware/vtk.js/Rendering/Core/VolumeMapper/Constants”;
import vtkImageData from ‘@kitware/vtk.js/Common/DataModel/ImageData’
Here’s how I wrote it.
cornerstone.loadAndCacheImage(imageId).then(
function (image) {
console.log(‘image’, image)
if (index !== 0) {
const pixelData = image.getPixelData()
console.log(“pixelData”,pixelData)
const dataArray = vtkDataArray.newInstance({
name: 'DICOM_PixelData',
values: pixelData
})
const imageData = vtkImageData.newInstance()
imageData.getPointData().setScalars(dataArray)
_this.view = vtkGenericRenderWindow.newInstance({
background: [0, 0, 0]
})
_this.renderer = _this.view.getRenderer()
_this.renderWindow = _this.view.getRenderWindow()
_this.volMapper = vtkVolumeMapper.newInstance()
_this.vol = vtkVolume.newInstance()
_this.volMapper.setInputData(imageData)
_this.vol.setMapper(_this.volMapper)
_this.view.setContainer(canvas)
_this.loadPreset(_this.vol, _this.volMapper);
_this.view.resize()
_this.renderer.addVolume(_this.vol)
_this.addVtkLinePoly(imageData)
_this.renderer.resetCamera()
_this.renderer.resetCameraClippingRange()
_this.renderWindow.render()
}
},
function (err) {
console.log(err)
}
)