1 #ifndef __CPEXTENSIONS__VISUALIZATION__IMAGEBLENDER__H__
2 #define __CPEXTENSIONS__VISUALIZATION__IMAGEBLENDER__H__
4 #include <cpExtensions/cpExtensions_Export.h>
9 #include <vtkThreadedImageAlgorithm.h>
11 namespace cpExtensions
13 namespace Visualization
17 class cpExtensions_EXPORT ImageBlender
18 : public vtkThreadedImageAlgorithm
21 typedef ImageBlender Self;
22 vtkTypeMacro( ImageBlender, vtkThreadedImageAlgorithm );
26 void PrintSelf( std::ostream& os, vtkIndent indent );
28 unsigned int GetNumberOfImages( ) const;
30 const double& GetMaxWindow( ) const;
31 const double& GetMaxLevel( ) const;
32 const double& GetMinWindow( ) const;
33 const double& GetMinLevel( ) const;
34 const double& GetWindow( ) const;
35 const double& GetLevel( ) const;
37 void SetWindow( const double& w );
38 void SetLevel( const double& l );
39 void SetWindowLevel( const double& w, const double& l );
42 const unsigned int& i,
48 const unsigned int& i,
56 virtual ~ImageBlender( );
58 int RequestInformation(
59 vtkInformation* request,
60 vtkInformationVector** inputVector,
61 vtkInformationVector* outputVector
63 void ThreadedRequestData(
64 vtkInformation* request,
65 vtkInformationVector** inputVector,
66 vtkInformationVector* outputVector,
67 vtkImageData*** inData,
68 vtkImageData** outData,
69 int outExt[ 6 ], int id
71 int FillInputPortInformation( int i, vtkInformation* info );
74 vtkImageData** inDatas,
76 vtkImageData* outData,
82 // Purposely not implemented.
83 ImageBlender( const Self& other );
84 void operator=( const Self& other );
91 const double& r = double( 1 ),
92 const double& g = double( 0 ),
93 const double& b = double( 0 )
99 this->N = std::sqrt( ( r * r ) + ( g * g ) + ( b * b ) );
102 mutable std::map< unsigned int, TColor > m_Colors;
120 #endif // __CPEXTENSIONS__VISUALIZATION__IMAGEBLENDER__H__