[Insight-users] itk::ImageToVTKImageFilter throwing error about "Input scalar type"
Dženan Zukić
dzenanz at gmail.com
Thu Jan 26 04:25:36 EST 2012
This examples<http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/PolyDataToImageData>shows
the usage of PolyDataToImageStencil. However, vtkImageData has no
support for direction cosines.
2012/1/24 Dženan Zukić <dzenanz at gmail.com>
> Hi guys,
>
> I hope you can help me with this. I have the following implementation of voxelization
> using ITK
> typedef itk::Image<unsigned char, 3> VisualizingImageType;
> VisualizingImageType::Pointer Vertebra::getMask()
> {
> MeshType::Pointer mesh=qe2itkMesh(qe);
> typedef itk::TriangleMeshToBinaryImageFilter<MeshType,VisualizingImageType>
> MeshFilterType;
> MeshFilterType::Pointer meshFilter = MeshFilterType::New();
> meshFilter->SetInfoImage(logic.visualizing);
> meshFilter->SetInput(mesh);
> meshFilter->Update();
> mask=meshFilter->GetOutput();
> return mask;
> }
>
> Since there is a bug <https://itk.icts.uiowa.edu/jira/browse/ITK-2882> in TriangleMeshToBinaryImageFilter,
> I created the following implementation using VTK voxelization method:
> VisualizingImageType::Pointer Vertebra::getMask()
> {
> typedef itk::ImageToVTKImageFilter<VisualizingImageType>
> itkVtkConverter;
> itkVtkConverter::Pointer conv=itkVtkConverter::New();
> conv->SetInput(logic.visualizing);
> conv->Update();
>
> vtkImageStencil *stencil=vtkImageStencil::New();
> vtkPolyDataToImageStencil *voxelizer=vtkPolyDataToImageStencil::New();
> voxelizer->SetInput(qe2vtk(qe));
> voxelizer->SetInformationInput(conv->GetOutput());
> stencil->SetStencil(voxelizer->GetOutput());
> stencil->Update();
>
> typedef itk::VTKImageToImageFilter<VisualizingImageType>
> vtk2itkConverter;
> vtk2itkConverter::Pointer conv2=vtk2itkConverter::New();
> conv2->SetInput(stencil->GetOutput());
> conv2->Update();
> mask=conv2->GetOutput();
> return mask;
> }
>
> However this alternative implementation causes 2 errors. The first one:
> ERROR: In vtkDemandDrivenPipeline.cxx, line 727
> vtkStreamingDemandDrivenPipeline (00000000321AEB50): Input port 0 of
> algorithm vtkImageStencil(0000000003947240) has 0 connections but is not
> optional.
>
> and the second one:
> d:\sdk\itk4\modules\bridge\vtk\include\itkVTKImageImport.hxx:251:
> itk::ERROR: VTKImageToImageFilter(000000000394CF50): Input scalar type is
> double but should be unsigned char
>
> What am I doing wrong?
>
> Regards,
> Dženan
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20120126/5e6b815b/attachment.htm>
More information about the Insight-users
mailing list