32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
| 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'
 | |
| // import { utilities } from '@cornerstonejs/core'
 | |
| // const { getColormap } = utilities.colormap
 | |
| function setPetColorMapTransferFunctionForVolumeActor(
 | |
|   volumeInfo
 | |
| ) {
 | |
|   const { volumeActor, preset } = volumeInfo
 | |
|   const mapper = volumeActor.getMapper()
 | |
|   mapper.setSampleDistance(1.0)
 | |
| 
 | |
|   const cfun = vtkColorTransferFunction.newInstance()
 | |
|   const presetToUse = preset || vtkColorMaps.getPresetByName('hsv')
 | |
| 
 | |
|   cfun.applyColorMap(presetToUse)
 | |
| 
 | |
|   cfun.setMappingRange(0, 5)
 | |
| 
 | |
|   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)
 | |
| }
 | |
| 
 | |
| export { setPetColorMapTransferFunctionForVolumeActor }
 |