]> Creatis software - bbtk.git/blob - packages/itk/src/bbitkTypedImageToAnyImage.h
50efb5031f1e6cac262155114895285406855b61
[bbtk.git] / packages / itk / src / bbitkTypedImageToAnyImage.h
1 #ifdef _USE_ITK_
2
3 #ifndef __bbTypedItkImage2GenericItkImage_h__
4 #define __bbTypedItkImage2GenericItkImage_h__
5
6 #include "bbtkAtomicBlackBox.h"
7 #include "bbitkImage.h"
8 #include "bbtkSystem.h"
9
10 namespace bbitk 
11 {
12
13   //=================================================================
14   // BlackBox declaration
15   template <class itkImageTypePointer>
16   class TypedImageToAnyImage : public bbtk::AtomicBlackBox
17   {  
18     BBTK_USER_BLACK_BOX_INTERFACE(TypedImageToAnyImage,
19                                   bbtk::AtomicBlackBox);
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   // BlackBox 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("Converts a typed itk image pointer ("
34                    +bbtk::HumanTypeName<T>()+
35                    ") into a generic itk image pointer ("+
36                    bbtk::HumanTypeName<anyImagePointer>()+")");
37   BBTK_CATEGORY("adaptor");
38   BBTK_DEFAULT_ADAPTOR();
39   BBTK_TEMPLATE_INPUT(TypedImageToAnyImage,In,
40                       "Input typed image",T);
41   BBTK_TEMPLATE_OUTPUT(TypedImageToAnyImage,Out,
42                        "Output generic image",anyImagePointer);
43   BBTK_END_DESCRIBE_TEMPLATE_BLACK_BOX(TypedImageToAnyImage);
44   //=================================================================
45
46
47 }
48 #endif
49 #endif