]> Creatis software - bbtk.git/blobdiff - packages/itk/src/bbitkTypedImageToAnyImage.h
*** empty log message ***
[bbtk.git] / packages / itk / src / bbitkTypedImageToAnyImage.h
diff --git a/packages/itk/src/bbitkTypedImageToAnyImage.h b/packages/itk/src/bbitkTypedImageToAnyImage.h
new file mode 100644 (file)
index 0000000..2733e9f
--- /dev/null
@@ -0,0 +1,47 @@
+#ifdef _USE_ITK_
+
+#ifndef __bbTypedItkImage2GenericItkImage_h__
+#define __bbTypedItkImage2GenericItkImage_h__
+
+#include "bbtkUserBlackBox.h"
+#include "bbitkImage.h"
+#include "bbtkSystem.h"
+
+namespace bbitk 
+{
+
+  //=================================================================
+  // UserBlackBox declaration
+  template <class itkImageTypePointer>
+  class TypedImageToAnyImage : public bbtk::UserBlackBox
+  {  
+    BBTK_USER_BLACK_BOX_INTERFACE(TypedImageToAnyImage,
+                                 bbtk::UserBlackBox);
+    BBTK_DECLARE_INPUT(In,itkImageTypePointer);
+    BBTK_DECLARE_OUTPUT(Out,anyImagePointer);
+    BBTK_PROCESS(DoIt);
+    void DoIt() { bbSetOutputOut( bbGetInputIn() ); bbGetInputIn()->Register(); }
+  };
+  //=================================================================
+  //=================================================================
+  // UserBlackBox description
+  BBTK_BEGIN_DESCRIBE_TEMPLATE_BLACK_BOX(TypedImageToAnyImage);
+  BBTK_NAME(bbtk::HumanTypeName<T>()
+           + "To" + bbtk::HumanTypeName<anyImagePointer>());
+  BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr");
+  BBTK_DESCRIPTION("Transforms a typed itk image ("+bbtk::HumanTypeName<T>()+
+                  ") into a generic itk image ("+
+                  bbtk::HumanTypeName<anyImagePointer>()+")");
+  BBTK_DEFAULT_ADAPTOR();
+  BBTK_TEMPLATE_INPUT(TypedImageToAnyImage,In,
+                     "Input typed image",T);
+  BBTK_TEMPLATE_OUTPUT(TypedImageToAnyImage,Out,
+                      "Output generic image",anyImagePointer);
+  BBTK_END_DESCRIBE_TEMPLATE_BLACK_BOX(TypedImageToAnyImage);
+  //=================================================================
+
+
+}
+#endif
+#endif