]> Creatis software - bbtk.git/blob - packages/itk/src/bbitkTypedImageToAnyImage.h
=== MAJOR RELEASE ====
[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_TEMPLATE_BLACK_BOX_INTERFACE(TypedImageToAnyImage,
19                                       bbtk::AtomicBlackBox,
20                                       itkImageTypePointer);
21     BBTK_DECLARE_INPUT(In,itkImageTypePointer);
22     BBTK_DECLARE_OUTPUT(Out,anyImagePointer);
23     BBTK_PROCESS(DoIt);
24     void DoIt() { bbSetOutputOut( bbGetInputIn() ); bbGetInputIn()->Register(); }
25   };
26   //=================================================================
27  
28   //=================================================================
29   // BlackBox description
30   BBTK_BEGIN_DESCRIBE_TEMPLATE_BLACK_BOX(TypedImageToAnyImage,
31                                       bbtk::AtomicBlackBox);
32   BBTK_NAME(bbtk::HumanTypeName<T>()
33             + "To" + bbtk::HumanTypeName<anyImagePointer>());
34   BBTK_AUTHOR("laurent.guigues at creatis.insa-lyon.fr");
35   BBTK_DESCRIPTION("Converts a typed itk image pointer ("
36                    +bbtk::HumanTypeName<T>()+
37                    ") into a generic itk image pointer ("+
38                    bbtk::HumanTypeName<anyImagePointer>()+")");
39   BBTK_CATEGORY("adaptor");
40   BBTK_DEFAULT_ADAPTOR();
41   BBTK_TEMPLATE_INPUT(TypedImageToAnyImage,In,
42                       "Input typed image",T);
43   BBTK_TEMPLATE_OUTPUT(TypedImageToAnyImage,Out,
44                        "Output generic image",anyImagePointer);
45   BBTK_END_DESCRIBE_TEMPLATE_BLACK_BOX(TypedImageToAnyImage);
46   //=================================================================
47
48
49 }
50 #endif
51 #endif