]> Creatis software - clitk.git/blobdiff - itk/clitkMeshToBinaryImageFilter.txx
Add Extrude option to clitkMeshToBinaryImageFilter
[clitk.git] / itk / clitkMeshToBinaryImageFilter.txx
index be482f5232dc0320c61022943e4b2bc72e5d628e..94424b8631ca4e9fa7d7e1f3c4af3fbf90bf1d70 100644 (file)
@@ -30,7 +30,7 @@
 //--------------------------------------------------------------------
 template <class ImageType>
 clitk::MeshToBinaryImageFilter<ImageType>::
-MeshToBinaryImageFilter():itk::ImageSource<ImageType>()
+MeshToBinaryImageFilter() : itk::ImageSource<ImageType>(), m_Extrude(true)
 {
 }
 //--------------------------------------------------------------------
@@ -102,11 +102,16 @@ GenerateData()
   sts->SetInformationInput(binary_image);
     
   // Extrusion
-  vtkSmartPointer<vtkLinearExtrusionFilter> extrude=vtkSmartPointer<vtkLinearExtrusionFilter>::New();
-  extrude->SetInput(m_Mesh);
-  // We extrude in the -slice_spacing direction to respect the FOCAL convention 
-  extrude->SetVector(0, 0, -m_LikeImage->GetSpacing()[2]);
-  sts->SetInput(extrude->GetOutput());
+  if (m_Extrude)
+  {
+    vtkSmartPointer<vtkLinearExtrusionFilter> extrude=vtkSmartPointer<vtkLinearExtrusionFilter>::New();
+    extrude->SetInput(m_Mesh);
+    // We extrude in the -slice_spacing direction to respect the FOCAL convention 
+    extrude->SetVector(0, 0, -m_LikeImage->GetSpacing()[2]);
+    sts->SetInput(extrude->GetOutput());
+  }
+  else
+    sts->SetInput(m_Mesh);
 
   // Stencil
   vtkSmartPointer<vtkImageStencil> stencil=vtkSmartPointer<vtkImageStencil>::New();