1 // =========================================================================
2 // @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co)
3 // =========================================================================
4 #ifndef __CTArteries__h__
5 #define __CTArteries__h__
8 #include <itkImageToVTKImageFilter.h>
10 #include <vtkSmartPointer.h>
12 #include <QMainWindow>
14 #include <ivq/ITK/Simple3DCurve.h>
16 #include <fpa/DataStructures/Image/Path.h>
29 class SeedWidgetOverImageActor;
40 typedef CTArteries Self;
41 typedef QMainWindow Superclass;
48 typedef double TScalar;
49 typedef itk::Image< TPixel, Dim > TImage;
50 typedef itk::Image< TScalar, Dim > TScalarImage;
52 typedef itk::ImageToVTKImageFilter< TImage > TVTKImage;
53 typedef itk::ImageToVTKImageFilter< TScalarImage > TVTKScalarImage;
54 typedef fpa::DataStructures::Image::Path< Dim > TAxis;
55 typedef ivq::ITK::Simple3DCurve< TScalar > TCurve;
59 int argc, char* argv[],
60 QWidget* parent = NULL
62 virtual ~CTArteries( );
65 template< class _TStrings >
66 void _openImage( const _TStrings& fnames );
67 void _openDicom( const std::string& dirname );
68 void _showInputImage( );
71 void _showProcessResults( );
82 QDialog* m_DlgParameters;
83 Ui::Parameters* m_UIParameters;
86 TImage::Pointer m_Image;
87 TVTKImage::Pointer m_VTKImage;
90 TScalarImage::Pointer m_Segmentation;
91 TVTKScalarImage::Pointer m_VTKSegmentation;
92 TAxis::Pointer m_Axis;
93 TCurve::Pointer m_Curve;
94 vtkSmartPointer< ivq::VTK::PolyDataActor > m_Surface;
97 vtkSmartPointer< ivq::VTK::SeedWidgetOverImageActor > m_Seeds;
100 #endif // __CTArteries__h__