Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | 75x 75x 75x 75x 75x 75x 75x 75x | import { vtkSharedVolumeMapper } from '../vtkClasses'; /** * Given an imageData and a vtkOpenGLTexture, it creates a "shared" vtk volume mapper * from which various volume actors can be created. * * @param imageData - the vtkImageData object that contains the data to * render. * @param vtkOpenGLTexture - The vtkOpenGLTexture that will be used to render * the volume. * @returns The volume mapper. */ export default function createVolumeMapper( imageData: any, vtkOpenGLTexture: any ): any { const volumeMapper = vtkSharedVolumeMapper.newInstance(); volumeMapper.setInputData(imageData); const spacing = imageData.getSpacing(); // Set the sample distance to half the mean length of one side. This is where the divide by 6 comes from. // https://github.com/Kitware/VTK/blob/6b559c65bb90614fb02eb6d1b9e3f0fca3fe4b0b/Rendering/VolumeOpenGL2/vtkSmartVolumeMapper.cxx#L344 const sampleDistance = (spacing[0] + spacing[1] + spacing[2]) / 6; // This is to allow for good pixel level image quality. volumeMapper.setMaximumSamplesPerRay(4000); volumeMapper.setSampleDistance(sampleDistance); volumeMapper.setScalarTexture(vtkOpenGLTexture); return volumeMapper; } |