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 unsigned int GetNumberOfImages( ) const;
28 const double& GetMaxWindow( ) const;
29 const double& GetMaxLevel( ) const;
30 const double& GetMinWindow( ) const;
31 const double& GetMinLevel( ) const;
32 const double& GetWindow( ) const;
33 const double& GetLevel( ) const;
35 void SetWindow( const double& w );
36 void SetLevel( const double& l );
37 void SetWindowLevel( const double& w, const double& l );
40 const unsigned int& i,
46 const unsigned int& i,
54 virtual ~ImageBlender( );
56 int RequestInformation(
57 vtkInformation* request,
58 vtkInformationVector** inputVector,
59 vtkInformationVector* outputVector
61 void ThreadedRequestData(
62 vtkInformation* request,
63 vtkInformationVector** inputVector,
64 vtkInformationVector* outputVector,
65 vtkImageData*** inData,
66 vtkImageData** outData,
67 int outExt[ 6 ], int id
69 int FillInputPortInformation( int i, vtkInformation* info );
72 vtkImageData** inDatas,
74 vtkImageData* outData,
80 // Purposely not implemented.
81 ImageBlender( const Self& other );
82 void operator=( const Self& other );
89 const double& r = double( 1 ),
90 const double& g = double( 0 ),
91 const double& b = double( 0 )
98 mutable std::map< unsigned int, TColor > m_Colors;
116 #endif // __CPEXTENSIONS__VISUALIZATION__IMAGEBLENDER__H__