import vtkColorMaps from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction/ColorMaps' import vtkColorTransferFunction from '@kitware/vtk.js/Rendering/Core/ColorTransferFunction' import vtkPiecewiseFunction from '@kitware/vtk.js/Common/DataModel/PiecewiseFunction' var currentPreset = 'hsv' var upper = 6 function setPetColorMapTransferFunctionForVolumeActor( volumeInfo ) { const { volumeActor, preset } = volumeInfo const mapper = volumeActor.getMapper() mapper.setSampleDistance(1.0) // const range = volumeActor // .getProperty() // .getRGBTransferFunction(0) // .getRange() // console.log(range) const cfun = vtkColorTransferFunction.newInstance() const presetToUse = preset || vtkColorMaps.getPresetByName(currentPreset) cfun.applyColorMap(presetToUse) console.log(upper) cfun.setMappingRange(0, upper) // const range1 = volumeActor // .getProperty() // .getRGBTransferFunction(0) // .getRange() // console.log(range1) volumeActor.getProperty().setRGBTransferFunction(0, cfun) // Create scalar opacity function const ofun = vtkPiecewiseFunction.newInstance() ofun.addPoint(0, 0.0) ofun.addPoint(0.1, 0.9) ofun.addPoint(5, 1.0) volumeActor.getProperty().setScalarOpacity(0, ofun) } function setColorPreset(preset) { currentPreset = preset } function setRangeUper(v) { upper = v } export { setPetColorMapTransferFunctionForVolumeActor, setColorPreset, setRangeUper }