1 #ifndef __cpExtensions__QT__ImageWidget__h__
2 #define __cpExtensions__QT__ImageWidget__h__
4 #include <cpExtensions/QT/RendererWidget.h>
6 #ifdef cpExtensions_QT4
8 // -------------------------------------------------------------------------
11 // -------------------------------------------------------------------------
12 namespace cpExtensions
14 namespace Visualization
18 class WindowLevelImageActor;
21 namespace Interaction { class ImageSliceStyle; }
27 class cpExtensions_EXPORT ImageWidget
28 : public RendererWidget
33 typedef ImageWidget Self;
34 typedef RendererWidget Superclass;
36 typedef cpExtensions::Visualization::OutlineSource TOutline;
37 typedef cpExtensions::Visualization::MeshActor TActor;
38 typedef cpExtensions::Visualization::LUTImageActor TLUTActor;
39 typedef cpExtensions::Visualization::WindowLevelImageActor TWLActor;
40 typedef cpExtensions::Interaction::ImageSliceStyle TStyle;
43 explicit ImageWidget( QWidget* parent = NULL, Qt::WindowFlags f = 0 );
44 virtual ~ImageWidget( );
48 vtkImageData* image, int orientation, const std::string& name
50 void Add( vtkDataSet* data, const std::string& name );
51 virtual void ResetCamera( ) cpExtensions_OVERRIDE;
53 TWLActor* GetImageActor( );
54 const TWLActor* GetImageActor( ) const;
56 void SetColor( const std::string& name, double r, double g, double b );
57 void SetLineWidth( const std::string& name, double w );
61 vtkImageData* image, int orientation, const std::string& name
64 // TODO: std::vector< vtkProp* > GetActors( const std::string& name ) const;
65 int GetOrientation( ) const;
66 void SetSliceNumber( int slice );
69 void GetScalarRange( double r[ 2 ] ) const;
70 void GetWindowLevel( double wl[ 2 ] ) const;
71 double GetImageOpacity( ) const;
72 unsigned char GetImageInterpolation( ) const;
74 void SetScalarRange( double r[ 2 ] );
75 void SetWindowLevel( double wl[ 2 ] );
76 void SetImageOpacity( double o );
77 void SetImageInterpolation( unsigned char i );
79 vtkProp* GetImageActor( );
80 const vtkProp* GetImageActor( ) const;
84 std::string m_ImageName;
86 vtkSmartPointer< TWLActor > m_WLActor;
87 vtkSmartPointer< TLUTActor > m_LUTActor;
88 vtkSmartPointer< TOutline > m_Outline;
89 TActor* m_OutlineActor;
90 std::vector< TActor* > m_Actors;
92 vtkSmartPointer< TStyle > m_Style;
96 vtkSmartPointer< cpExtensions::Visualization::ImageViewerActors >
98 vtkSmartPointer< cpExtensions::Interaction::ImageSliceStyle >
100 std::string m_ImageName;
108 #endif // cpExtensions_QT4
110 #endif // __cpExtensions__QT__ImageWidget__h__