MeVisLab Toolbox Reference
mlITKPixelTypeSupport.h
Go to the documentation of this file.
1 /*************************************************************************************
2 **
3 ** Copyright 2007, MeVis Medical Solutions AG
4 **
5 ** The user may use this file in accordance with the license agreement provided with
6 ** the Software or, alternatively, in accordance with the terms contained in a
7 ** written agreement between the user and MeVis Medical Solutions AG.
8 **
9 ** For further information use the contact form at https://www.mevislab.de/contact
10 **
11 **************************************************************************************/
12 
13 #pragma once
14 
16 #include "mlInitSystemITKSupport.h"
17 
18 // Include most ML specific things.
19 #include "mlModuleIncludes.h"
20 #include "mlITKSupport.h"
21 
22 //---------------------------------------------------------------------------
24 //---------------------------------------------------------------------------
25 #define _TEMPLATE_PIXEL_INPUTS0 OutPixelType
26 #define _TEMPLATE_PIXEL_INPUTS1 InPixelType,OutPixelType
27 #define _TEMPLATE_PIXEL_INPUTS2 InPixelType,InPixelType,OutPixelType
28 #define _TEMPLATE_PIXEL_INPUTS3 InPixelType,InPixelType,InPixelType,OutPixelType
29 #define _TEMPLATE_PIXEL_INPUTS4 InPixelType,InPixelType,InPixelType,InPixelType,OutPixelType
30 #define _TEMPLATE_PIXEL_INPUTS5 InPixelType,InPixelType,InPixelType,InPixelType,InPixelType,OutPixelType
32 
33 //--------------------------------------------------------------------------------
35 //--------------------------------------------------------------------------------
36 #define ML_ITK_DEFAULT_WRAPPER_PIXEL_TYPEDEFS_0(CLASS_NAME, NAMESPACE) \
37  typedef NAMESPACE::CLASS_NAME<_TEMPLATE_PIXEL_INPUTS0> FilterType; \
38 
40 #define ML_ITK_DEFAULT_WRAPPER_PIXEL_TYPEDEFS_1(CLASS_NAME, NAMESPACE) \
41  typedef NAMESPACE::CLASS_NAME<_TEMPLATE_PIXEL_INPUTS1> FilterType; \
42 
44 #define ML_ITK_DEFAULT_WRAPPER_PIXEL_TYPEDEFS_2(CLASS_NAME, NAMESPACE) \
45  typedef NAMESPACE::CLASS_NAME<_TEMPLATE_PIXEL_INPUTS2> FilterType; \
46 
48 #define ML_ITK_DEFAULT_WRAPPER_PIXEL_TYPEDEFS_3(CLASS_NAME, NAMESPACE) \
49  typedef NAMESPACE::CLASS_NAME<_TEMPLATE_PIXEL_INPUTS3> FilterType; \
50 
52 
53 //---------------------------------------------------------------------------
55 //---------------------------------------------------------------------------
57 #define ML_ITK_WRAPPER_PIXEL_0_2D(PROJECT_PREFIX, CLASS_NAME, NAMESPACE) \
58  _ML_ITK_WRAPPER(PROJECT_PREFIX, CLASS_NAME, NAMESPACE, _ML_ITK_DETERMINE_IN_REGION_0, \
59  ML_ITK_DEFAULT_WRAPPER_PIXEL_TYPEDEFS_0, \
60  ML_IMPLEMENT_ALL_ITK_2D_CASES, _ML_ITK_DETERMINE_OUT_REGION_0)
61 
63 #define ML_ITK_WRAPPER_PIXEL_1_2D(PROJECT_PREFIX, CLASS_NAME, NAMESPACE) \
64  _ML_ITK_WRAPPER(PROJECT_PREFIX, CLASS_NAME, NAMESPACE, _ML_ITK_DETERMINE_IN_REGION_N, \
65  ML_ITK_DEFAULT_WRAPPER_PIXEL_TYPEDEFS_1, \
66  ML_IMPLEMENT_ALL_ITK_2D_CASES, _ML_ITK_DETERMINE_OUT_REGION_N)
67 
69 #define ML_ITK_WRAPPER_PIXEL_2_2D(PROJECT_PREFIX, CLASSNAME, NAMESPACE) \
70  _ML_ITK_WRAPPER(PROJECT_PREFIX, CLASSNAME, NAMESPACE, _ML_ITK_DETERMINE_IN_REGION_N, \
71  ML_ITK_DEFAULT_WRAPPER_PIXEL_TYPEDEFS_2, \
72  ML_IMPLEMENT_ALL_ITK_2D_CASES, _ML_ITK_DETERMINE_OUT_REGION_N)
73 
75 #define ML_ITK_WRAPPER_PIXEL_3_2D(PROJECT_PREFIX, CLASSNAME, NAMESPACE) \
76  _ML_ITK_WRAPPER(PROJECT_PREFIX, CLASSNAME, NAMESPACE, _ML_ITK_DETERMINE_IN_REGION_N, \
77  ML_ITK_DEFAULT_WRAPPER_PIXEL_TYPEDEFS_3, \
78  ML_IMPLEMENT_ALL_ITK_2D_CASES, _ML_ITK_DETERMINE_OUT_REGION_N)
80 
81 
82 //---------------------------------------------------------------------------
84 //---------------------------------------------------------------------------
86 #define ML_ITK_WRAPPER_PIXEL_0_3D(PROJECT_PREFIX, CLASSNAME, NAMESPACE) \
87  _ML_ITK_WRAPPER(PROJECT_PREFIX, CLASSNAME, NAMESPACE, _ML_ITK_DETERMINE_IN_REGION_0, \
88  ML_ITK_DEFAULT_WRAPPER_PIXEL_TYPEDEFS_0, \
89  ML_IMPLEMENT_ALL_ITK_3D_CASES, _ML_ITK_DETERMINE_OUT_REGION_0)
90 
92 #define ML_ITK_WRAPPER_PIXEL_1_3D(PROJECT_PREFIX, CLASSNAME, NAMESPACE) \
93  _ML_ITK_WRAPPER(PROJECT_PREFIX, CLASSNAME, NAMESPACE, _ML_ITK_DETERMINE_IN_REGION_N, \
94  ML_ITK_DEFAULT_WRAPPER_PIXEL_TYPEDEFS_1, \
95  ML_IMPLEMENT_ALL_ITK_3D_CASES, _ML_ITK_DETERMINE_OUT_REGION_N)
96 
98 #define ML_ITK_WRAPPER_PIXEL_2_3D(PROJECT_PREFIX, CLASSNAME, NAMESPACE) \
99  _ML_ITK_WRAPPER(PROJECT_PREFIX, CLASSNAME, NAMESPACE, _ML_ITK_DETERMINE_IN_REGION_N, \
100  ML_ITK_DEFAULT_WRAPPER_PIXEL_TYPEDEFS_2, \
101  ML_IMPLEMENT_ALL_ITK_3D_CASES, _ML_ITK_DETERMINE_OUT_REGION_N)
102 
104 #define ML_ITK_WRAPPER_PIXEL_3_3D(PROJECT_PREFIX, CLASSNAME, NAMESPACE) \
105  _ML_ITK_WRAPPER(PROJECT_PREFIX, CLASSNAME, NAMESPACE, _ML_ITK_DETERMINE_IN_REGION_N, \
106  ML_ITK_DEFAULT_WRAPPER_PIXEL_TYPEDEFS_3, \
107  ML_IMPLEMENT_ALL_ITK_3D_CASES, _ML_ITK_DETERMINE_OUT_REGION_N)
109 
110 
111 //---------------------------------------------------------------------------
113 //---------------------------------------------------------------------------
115 #define ML_ITK_WRAPPER_PIXEL_0_6D(PROJECT_PREFIX, CLASSNAME, NAMESPACE) \
116  _ML_ITK_WRAPPER(PROJECT_PREFIX, CLASSNAME, NAMESPACE, _ML_ITK_DETERMINE_IN_REGION_0, \
117  ML_ITK_DEFAULT_WRAPPER_PIXEL_TYPEDEFS_0, \
118  ML_IMPLEMENT_ALL_ITK_6D_CASES, _ML_ITK_DETERMINE_OUT_REGION_0)
119 
121 #define ML_ITK_WRAPPER_PIXEL_1_6D(PROJECT_PREFIX, CLASSNAME, NAMESPACE) \
122  _ML_ITK_WRAPPER(PROJECT_PREFIX, CLASSNAME, NAMESPACE, _ML_ITK_DETERMINE_IN_REGION_N, \
123  ML_ITK_DEFAULT_WRAPPER_PIXEL_TYPEDEFS_1, \
124  ML_IMPLEMENT_ALL_ITK_6D_CASES, _ML_ITK_DETERMINE_OUT_REGION_N)
125 
127 #define ML_ITK_WRAPPER_PIXEL_2_6D(PROJECT_PREFIX, CLASSNAME, NAMESPACE) \
128  _ML_ITK_WRAPPER(PROJECT_PREFIX, CLASSNAME, NAMESPACE, _ML_ITK_DETERMINE_IN_REGION_N, \
129  ML_ITK_DEFAULT_WRAPPER_PIXEL_TYPEDEFS_2, \
130  ML_IMPLEMENT_ALL_ITK_6D_CASES, _ML_ITK_DETERMINE_OUT_REGION_N)
131 
133 #define ML_ITK_WRAPPER_PIXEL_3_6D(PROJECT_PREFIX, CLASSNAME, NAMESPACE) \
134  _ML_ITK_WRAPPER(PROJECT_PREFIX, CLASSNAME, NAMESPACE, _ML_ITK_DETERMINE_IN_REGION_N, \
135  ML_ITK_DEFAULT_WRAPPER_PIXEL_TYPEDEFS_3, \
136  ML_IMPLEMENT_ALL_ITK_6D_CASES, _ML_ITK_DETERMINE_OUT_REGION_N)