#ifndef __cpExtensions__Algorithms__ImageBlender__h__ #define __cpExtensions__Algorithms__ImageBlender__h__ #include #include #include namespace cpExtensions { namespace Algorithms { /** * @note: Based on vtkImageWeightedSum */ class cpExtensions_EXPORT ImageBlender : public vtkThreadedImageAlgorithm { public: typedef ImageBlender Self; vtkTypeMacro( ImageBlender, vtkThreadedImageAlgorithm ); public: static Self* New( ); unsigned int GetNumberOfInputs( ); protected: ImageBlender( ); virtual ~ImageBlender( ); int RequestInformation( vtkInformation* request, vtkInformationVector** inputVector, vtkInformationVector* outputVector ); int RequestData( vtkInformation* request, vtkInformationVector** inputVector, vtkInformationVector* outputVector ); void ThreadedRequestData( vtkInformation* request, vtkInformationVector** inputVector, vtkInformationVector* outputVector, vtkImageData*** inData, vtkImageData** outData, int outExt[ 6 ], int id ); int FillInputPortInformation( int i, vtkInformation* info ); private: // Purposely not implemented. ImageBlender( const Self& other ); void operator=( const Self& other ); protected: std::vector< double > m_Ranges; }; } // ecapseman } // ecapseman #endif // __cpExtensions__Algorithms__ImageBlender__h__ // eof - $RCSfile$