cornerstonejs / cornerstone

JavaScript library to display interactive medical images including but not limited to DICOM
https://docs.cornerstonejs.org/
MIT License
2.04k stars 596 forks source link

Rotatating vtk prop3d generated by cornerstone volume loader #620

Open danielfournier-tech opened 1 year ago

danielfournier-tech commented 1 year ago

I have been trying to rotate a vtkVolume that has been generated by the cornerstone volume loader (@cornerstonejs\core\dist\esm\loaders\volumeLoader.js) doesn't work unless I modify the function: function createInternalVTKRepresentation(volume) { const { dimensions, metadata, spacing, direction, origin } = volume; const { PhotometricInterpretation } = metadata; let numComponents = 1; if (PhotometricInterpretation === 'RGB') { numComponents = 3; } const imageData = vtkImageData.newInstance(); const dataArrayAttrs = { numberOfComponents: numComponents }; imageData.setDimensions(dimensions); imageData.setSpacing(spacing); imageData.setDirection(direction); imageData.setOrigin([0, 0, 0]); if (volume.isDynamicVolume()) { const scalarDataArrays = (volume).getScalarDataArrays(); addScalarDataArraysToImageData(imageData, scalarDataArrays, dataArrayAttrs); } else { const scalarData = volume.getScalarData(); addScalarDataToImageData(imageData, scalarData, dataArrayAttrs); } return imageData; }

Is there a way to create and utilize a custom volume loader with this change?