+#ifdef _USE_ITK_
+#include "bbitkTypedImageToAnyImage.h"
+#include "bbitkPackage.h"
+
+namespace bbitk
+{
+ //====================================================================
+ BBTK_USER_BLACK_BOX_TEMPLATE_IMPLEMENTATION(TypedImageToAnyImage,
+ bbtk::UserBlackBox);
+
+ //====================================================================
+
+
+#ifdef BBTK_ITK_IMAGE_DIM_2
+# ifdef BBTK_ITK_IMAGE_TYPE_int8_t
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_int8_t_2_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_int8_t_2_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_int16_t
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_int16_t_2_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_int16_t_2_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_int32_t
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_int32_t_2_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_int32_t_2_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_uint8_t
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_uint8_t_2_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_uint8_t_2_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_uint16_t
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_uint16_t_2_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_uint16_t_2_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_uint32_t
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_uint32_t_2_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_uint32_t_2_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_float
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_float_2_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_float_2_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_double
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_double_2_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_double_2_cptr);
+# endif
+#endif
+
+
+
+#ifdef BBTK_ITK_IMAGE_DIM_3
+# ifdef BBTK_ITK_IMAGE_TYPE_int8_t
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_int8_t_3_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_int8_t_3_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_int16_t
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_int16_t_3_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_int16_t_3_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_int32_t
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_int32_t_3_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_int32_t_3_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_uint8_t
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_uint8_t_3_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_uint8_t_3_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_uint16_t
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_uint16_t_3_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_uint16_t_3_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_uint32_t
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_uint32_t_3_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_uint32_t_3_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_float
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_float_3_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_float_3_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_double
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_double_3_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_double_3_cptr);
+# endif
+#endif
+
+
+
+
+#ifdef BBTK_ITK_IMAGE_DIM_4
+# ifdef BBTK_ITK_IMAGE_TYPE_int8_t
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_int8_t_4_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_int8_t_4_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_int16_t
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_int16_t_4_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_int16_t_4_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_int32_t
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_int32_t_4_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_int32_t_4_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_uint8_t
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_uint8_t_4_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_uint8_t_4_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_uint16_t
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_uint16_t_4_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_uint16_t_4_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_uint32_t
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_uint32_t_4_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_uint32_t_4_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_float
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_float_4_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_float_4_cptr);
+# endif
+# ifdef BBTK_ITK_IMAGE_TYPE_double
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_double_4_ptr);
+ BBTK_ADD_TEMPLATE_BLACK_BOX_TO_PACKAGE(itk,TypedImageToAnyImage,Image_double_4_cptr);
+# endif
+#endif
+
+}
+#endif