1 #ifndef __CPEXTENSIONS__VISUALIZATION__IMAGEBLENDER__H__
2 #define __CPEXTENSIONS__VISUALIZATION__IMAGEBLENDER__H__
4 #include <cpExtensions/cpExtensions_Export.h>
7 #include <vtkThreadedImageAlgorithm.h>
11 namespace Visualization
15 class cpExtensions_EXPORT ImageBlender
16 : public vtkThreadedImageAlgorithm
19 typedef ImageBlender Self;
20 vtkTypeMacro( ImageBlender, vtkThreadedImageAlgorithm );
24 void PrintSelf( std::ostream& os, vtkIndent indent );
26 const double& GetMaxWindow( ) const;
27 const double& GetMaxLevel( ) const;
28 const double& GetMinWindow( ) const;
29 const double& GetMinLevel( ) const;
30 const double& GetWindow( ) const;
31 const double& GetLevel( ) const;
33 void SetWindow( const double& w );
34 void SetLevel( const double& l );
35 void SetWindowLevel( const double& w, const double& l );
38 const unsigned int& i,
44 const unsigned int& i,
52 virtual ~ImageBlender( );
54 int RequestInformation(
55 vtkInformation* request,
56 vtkInformationVector** inputVector,
57 vtkInformationVector* outputVector
59 void ThreadedRequestData(
60 vtkInformation* request,
61 vtkInformationVector** inputVector,
62 vtkInformationVector* outputVector,
63 vtkImageData*** inData,
64 vtkImageData** outData,
65 int outExt[ 6 ], int id
67 int FillInputPortInformation( int i, vtkInformation* info );
70 vtkImageData** inDatas,
72 vtkImageData* outData,
78 // Purposely not implemented.
79 ImageBlender( const Self& other );
80 void operator=( const Self& other );
87 const double& r = double( 1 ),
88 const double& g = double( 0 ),
89 const double& b = double( 0 )
96 mutable std::map< unsigned int, TColor > m_Colors;
110 #endif // __CPEXTENSIONS__VISUALIZATION__IMAGEBLENDER__H__