1 #ifndef __CPEXTENSIONS__VISUALIZATION__MPRACTORS__H__
2 #define __CPEXTENSIONS__VISUALIZATION__MPRACTORS__H__
4 #include <cpExtensions/cpExtensions_Export.h>
5 #include <cpExtensions/Visualization/ImageSliceActors.h>
8 #include <vtkImageMapToColors.h>
10 // -------------------------------------------------------------------------
11 class vtkAlgorithmOutput;
14 class vtkScalarsToColors;
15 class vtkWindowLevelLookupTable;
17 // -------------------------------------------------------------------------
18 namespace cpExtensions
20 namespace Visualization
24 class cpExtensions_EXPORT MPRActors
25 : public vtkPropCollection
28 typedef MPRActors Self;
31 vtkTypeMacro( MPRActors, vtkPropCollection );
33 cpPlugins_ImageSliceActors( ImageOutline, vtkImageActor );
37 static MPRActors* New( );
39 ImageSliceActors* GetSliceActors( const int& i ) const;
40 void SetInputConnection( vtkAlgorithmOutput* aout );
41 void SetInputData( vtkImageData* image );
56 // Lookup table methods
57 vtkScalarsToColors* GetLookupTable( ) const;
58 void SetLookupTable( vtkScalarsToColors* lut );
60 // Grayscale window/level lookup
61 vtkWindowLevelLookupTable* GetLookupTableAsWindowLevel( ) const;
62 void SetLookupTableToWindowLevel( );
63 double GetMinWindow( ) const;
64 double GetMaxWindow( ) const;
65 double GetMinLevel( ) const;
66 double GetMaxLevel( ) const;
67 double GetWindow( ) const;
68 double GetLevel( ) const;
69 void SetWindow( const double& w );
70 void SetLevel( const double& l );
71 void SetWindowLevel( const double& w, const double& l );
72 void ResetWindowLevel( );
75 int GetSliceNumberMinValue( const int& axis ) const;
76 int GetSliceNumberMaxValue( const int& axis ) const;
77 int GetSlice( const int& axis ) const;
78 void SetSlice( const int& axis, const int& slice );
79 void SetSlice( const int& axis, const double& slice );
83 void GetImageBounds( double bounds[ 6 ] ) const;
87 virtual ~MPRActors( );
89 vtkImageData* _InputImage( ) const;
90 void _UpdateSlices( );
93 // Purposely not implemented
94 MPRActors( const Self& );
95 Self& operator=( const Self& );
98 vtkSmartPointer< vtkImageMapToColors > ImageMapToColors;
99 vtkSmartPointer< vtkActor > ImageOutlineActor;
102 cpExtensions::Visualization::ImageSliceActors
104 vtkSmartPointer< _TSlice > Slices[ 3 ];
106 unsigned int ImageOutlineActorIndex;
113 #endif // __CPEXTENSIONS__VISUALIZATION__MPRACTORS__H__