]> Creatis software - bbtk.git/blob - packages/itk/src/bbitkTypedImageToAnyImage.h
4d870f15df08fdbc8b1b46efe2c68a91b85a0a12
[bbtk.git] / packages / itk / src / bbitkTypedImageToAnyImage.h
1 #ifdef _USE_ITK_
2
3 #ifndef __bbTypedItkImage2GenericItkImage_h__
4 #define __bbTypedItkImage2GenericItkImage_h__
5
6 #include "bbtkUserBlackBox.h"
7 #include "bbitkImage.h"
8 #include "bbtkSystem.h"
9
10 namespace bbitk 
11 {
12
13   //=================================================================
14   // UserBlackBox declaration
15   template <class itkImageTypePointer>
16   class TypedImageToAnyImage : public bbtk::UserBlackBox
17   {  
18     BBTK_USER_BLACK_BOX_INTERFACE(TypedImageToAnyImage,
19                                   bbtk::UserBlackBox);
20     BBTK_DECLARE_INPUT(In,itkImageTypePointer);
21     BBTK_DECLARE_OUTPUT(Out,anyImagePointer);
22     BBTK_PROCESS(DoIt);
23     void DoIt() { bbSetOutputOut( bbGetInputIn() ); bbGetInputIn()->Register(); }
24   };
25   //=================================================================
26  
27   //=================================================================
28   // UserBlackBox description
29   BBTK_BEGIN_DESCRIBE_TEMPLATE_BLACK_BOX(TypedImageToAnyImage);
30   BBTK_NAME(bbtk::HumanTypeName<T>()
31             + "To" + bbtk::HumanTypeName<anyImagePointer>());
32   BBTK_AUTHOR("laurent.guigues at creatis.insa-lyon.fr");
33   BBTK_DESCRIPTION("Transforms a typed itk image ("+bbtk::HumanTypeName<T>()+
34                    ") into a generic itk image ("+
35                    bbtk::HumanTypeName<anyImagePointer>()+")");
36   BBTK_CATEGORY("adaptor");
37   BBTK_DEFAULT_ADAPTOR();
38   BBTK_TEMPLATE_INPUT(TypedImageToAnyImage,In,
39                       "Input typed image",T);
40   BBTK_TEMPLATE_OUTPUT(TypedImageToAnyImage,Out,
41                        "Output generic image",anyImagePointer);
42   BBTK_END_DESCRIBE_TEMPLATE_BLACK_BOX(TypedImageToAnyImage);
43   //=================================================================
44
45
46 }
47 #endif
48 #endif