]> Creatis software - cpPlugins.git/blob - appli/examples/example_MacheteFilter.cxx
...
[cpPlugins.git] / appli / examples / example_MacheteFilter.cxx
1 #include <itkImage.h>
2 #include <itkImageFileReader.h>
3 #include "itkImageFileWriter.h"
4 #include <itkRescaleIntensityImageFilter.h>
5
6 #include <iostream>
7
8 //#include "MacheteImageFilter.h"
9 #include "itkObjectFactory.h"
10 #include "itkImageRegionIterator.h"
11 #include "itkImageRegionConstIterator.h"
12
13 #include <cpExtensions/Algorithms/MacheteImageFilter.h>
14
15
16 int main(int, char*[])
17 {
18   std::cout << "Machete image filter";
19   
20   // 1. work with the filter
21   typedef itk::Image<unsigned char, 2>  ImageType;
22   ImageType::Pointer image;
23
24   typedef itk::ImageFileReader<ImageType> ReaderType;
25   ReaderType::Pointer reader = ReaderType::New();
26   reader->SetFileName("c://img//lung.jpg");
27   image = reader->GetOutput();
28
29   typedef cpExtensions::Algorithms::MacheteImageFilter<ImageType, ImageType>  FilterType;
30
31   FilterType::Pointer filter = FilterType::New();
32   filter->SetInput(image);
33   filter->SetRadius(151);
34
35   itk::Point<double, 3> p0;
36   p0[0] = 250.0;
37   p0[1] = 250.0;
38   p0[2] = 0.0;
39
40   filter->SetPoint(p0);
41   filter->Update();
42
43   // 2. write result
44
45   typedef  itk::ImageFileWriter< ImageType  > WriterType;
46   WriterType::Pointer writer = WriterType::New();
47   writer->SetFileName("c://img//out.jpg");
48   writer->SetInput(filter->GetOutput());
49   writer->Update();
50
51   // 3.display result visualization
52
53  /* vtkSmartPointer<vtkImageActor> actor =
54     vtkSmartPointer<vtkImageActor>::New();
55 #if VTK_MAJOR_VERSION <= 5
56   actor->SetInput(connector->GetOutput());
57 #else
58   connector->Update();
59   actor->GetMapper()->SetInputData(connector->GetOutput());
60 #endif
61   vtkSmartPointer<vtkRenderer> renderer =
62     vtkSmartPointer<vtkRenderer>::New();
63   renderer->AddActor(actor);
64   renderer->ResetCamera();
65
66   vtkSmartPointer<vtkRenderWindow> renderWindow =
67     vtkSmartPointer<vtkRenderWindow>::New();
68   renderWindow->AddRenderer(renderer);
69
70   vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
71     vtkSmartPointer<vtkRenderWindowInteractor>::New();
72   vtkSmartPointer<vtkInteractorStyleImage> style =
73     vtkSmartPointer<vtkInteractorStyleImage>::New();
74
75   renderWindowInteractor->SetInteractorStyle(style);
76
77   renderWindowInteractor->SetRenderWindow(renderWindow);
78   renderWindowInteractor->Initialize();
79
80   renderWindowInteractor->Start();*/
81
82   return 0;
83 }