]> Creatis software - creaMaracasVisu.git/blobdiff - lib/Kernel/ITKVTK/itkvtkcolortransferfunction.h
addition of files
[creaMaracasVisu.git] / lib / Kernel / ITKVTK / itkvtkcolortransferfunction.h
diff --git a/lib/Kernel/ITKVTK/itkvtkcolortransferfunction.h b/lib/Kernel/ITKVTK/itkvtkcolortransferfunction.h
new file mode 100644 (file)
index 0000000..aaba3b4
--- /dev/null
@@ -0,0 +1,79 @@
+#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