--- /dev/null
+#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