--- /dev/null
+#ifndef ITKVTKCOLORTRANSFERFUNCTION_H
+#define ITKVTKCOLORTRANSFERFUNCTION_H
+
+
+#include <itkProcessObject.h>
+
+#include <vtkColorTransferFunction.h>
+
+#include <itkRGBToLuminanceImageFilter.h>
+#include <itkImageRegionConstIterator.h>
+
+namespace itk{
+
+template< class TypeImage>
+class VTKColorTransferFunction :
+public ProcessObject
+{
+
+ public:
+
+ /** Standard class typedefs. */
+ typedef VTKColorTransferFunction Self;
+
+ /** Standard "Superclass" typedef */
+ typedef ProcessObject Superclass;
+
+ /** Smart pointer typedef support. */
+ typedef SmartPointer<Self> Pointer;
+ typedef SmartPointer<const Self> ConstPointer;
+
+ /** Method for creation through the object factory. */
+ itkNewMacro(Self);
+
+ /** Run-time type information (and related methods). */
+ itkTypeMacro( VTKColorTransferFunction, ProcessObject );
+
+ /** InputImageType typedef support. */
+ typedef TypeImage InputImageType;
+ typedef typename InputImageType::Pointer InputImagePointerType;
+ typedef typename InputImageType::PixelType PixelType;
+ typedef typename InputImageType::IndexType IndexType;
+
+
+ /**
+ * set the rgb image to create the transfer function
+ */
+ itkSetMacro(Input, InputImagePointerType)
+ /**
+ * set the rgb image to create the transfer function
+ */
+ itkGetConstMacro(Input, InputImagePointerType)
+
+ /**
+ get the color transfer created from the image
+ */
+ itkGetMacro(Output, vtkColorTransferFunction*)
+
+ virtual void Update();
+
+protected:
+ VTKColorTransferFunction();
+ ~VTKColorTransferFunction();
+
+ virtual void GenerateData ();
+
+ virtual void GenerateOutputInformation();
+
+private:
+ vtkColorTransferFunction* m_Output;
+ InputImagePointerType m_Input;
+};
+
+}
+
+#ifndef ITK_MANUAL_INSTANTIATION
+#include "itkvtkcolortransferfunction.txx"
+#endif
+
+#endif // ITKVTKCOLORTRANSFERFUNCTION_H