]> Creatis software - cpPlugins.git/blobdiff - appli/examples/example_MacheteFilter.cxx
Machete filter example added
[cpPlugins.git] / appli / examples / example_MacheteFilter.cxx
diff --git a/appli/examples/example_MacheteFilter.cxx b/appli/examples/example_MacheteFilter.cxx
new file mode 100644 (file)
index 0000000..983c0f8
--- /dev/null
@@ -0,0 +1,83 @@
+#include <itkImage.h>
+#include <itkImageFileReader.h>
+#include "itkImageFileWriter.h"
+#include <itkRescaleIntensityImageFilter.h>
+
+#include <iostream>
+
+//#include "MacheteImageFilter.h"
+#include "itkObjectFactory.h"
+#include "itkImageRegionIterator.h"
+#include "itkImageRegionConstIterator.h"
+
+#include <cpExtensions/Algorithms/MacheteImageFilter.h>
+
+
+int main(int, char*[])
+{
+  std::cout << "Machete image filter";
+  
+  // 1. work with the filter
+  typedef itk::Image<unsigned char, 2>  ImageType;
+  ImageType::Pointer image;
+
+  typedef itk::ImageFileReader<ImageType> ReaderType;
+  ReaderType::Pointer reader = ReaderType::New();
+  reader->SetFileName("c://img//lung.jpg");
+  image = reader->GetOutput();
+
+  typedef cpExtensions::Algorithms::MacheteImageFilter<ImageType, ImageType>  FilterType;
+
+  FilterType::Pointer filter = FilterType::New();
+  filter->SetInput(image);
+  filter->SetRadius(151);
+
+  itk::Point<double, 3> p0;
+  p0[0] = 250.0;
+  p0[1] = 250.0;
+  p0[2] = 0.0;
+
+  filter->SetPoint(p0);
+  filter->Update();
+
+  // 2. write result
+
+  typedef  itk::ImageFileWriter< ImageType  > WriterType;
+  WriterType::Pointer writer = WriterType::New();
+  writer->SetFileName("c://img//out.jpg");
+  writer->SetInput(filter->GetOutput());
+  writer->Update();
+
+  // 3.display result visualization
+
+ /* vtkSmartPointer<vtkImageActor> actor =
+    vtkSmartPointer<vtkImageActor>::New();
+#if VTK_MAJOR_VERSION <= 5
+  actor->SetInput(connector->GetOutput());
+#else
+  connector->Update();
+  actor->GetMapper()->SetInputData(connector->GetOutput());
+#endif
+  vtkSmartPointer<vtkRenderer> renderer =
+    vtkSmartPointer<vtkRenderer>::New();
+  renderer->AddActor(actor);
+  renderer->ResetCamera();
+
+  vtkSmartPointer<vtkRenderWindow> renderWindow =
+    vtkSmartPointer<vtkRenderWindow>::New();
+  renderWindow->AddRenderer(renderer);
+
+  vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
+    vtkSmartPointer<vtkRenderWindowInteractor>::New();
+  vtkSmartPointer<vtkInteractorStyleImage> style =
+    vtkSmartPointer<vtkInteractorStyleImage>::New();
+
+  renderWindowInteractor->SetInteractorStyle(style);
+
+  renderWindowInteractor->SetRenderWindow(renderWindow);
+  renderWindowInteractor->Initialize();
+
+  renderWindowInteractor->Start();*/
+
+  return 0;
+}
\ No newline at end of file