Skip to content

Commit

Permalink
fix(ITKHelper): Add ITK to VTK js image converter
Browse files Browse the repository at this point in the history
  • Loading branch information
floryst committed Feb 12, 2018
1 parent c99f7ff commit fcdae19
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 0 deletions.
30 changes: 30 additions & 0 deletions Sources/Common/DataModel/ITKHelper/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import vtkImageData from 'vtk.js/Sources/Common/DataModel/ImageData';
import vtkDataArray from 'vtk.js/Sources/Common/Core/DataArray';

/**
* Converts an itk.js image to a vtk.js image.
*
* Requires an itk.js image as input.
*/
function convertItkToVtkImage(itkImage) {
// create VTK image data
const imageData = vtkImageData.newInstance({
origin: itkImage.origin.slice(),
spacing: itkImage.spacing.slice(),
});
const scalars = vtkDataArray.newInstance({
name: 'Scalars',
values: itkImage.data,
numberOfComponents: itkImage.imageType.components,
});

imageData.setDirection(itkImage.direction.data);
imageData.setDimensions(...itkImage.size);
imageData.getPointData().setScalars(scalars);

return imageData;
}

export default {
convertItkToVtkImage,
};
2 changes: 2 additions & 0 deletions Sources/Common/DataModel/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import vtkCone from './Cone';
import vtkCylinder from './Cylinder';
import vtkDataSet from './DataSet';
import vtkDataSetAttributes from './DataSetAttributes';
import vtkITKHelper from './ITKHelper';
import vtkImageData from './ImageData';
import vtkImplicitBoolean from './ImplicitBoolean';
import vtkLine from './Line';
Expand All @@ -25,6 +26,7 @@ export default {
vtkCylinder,
vtkDataSet,
vtkDataSetAttributes,
vtkITKHelper,
vtkImageData,
vtkImplicitBoolean,
vtkLine,
Expand Down

0 comments on commit fcdae19

Please sign in to comment.