/
itkCastImageFilter.wrap
141 lines (135 loc) · 7.28 KB
/
itkCastImageFilter.wrap
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
itk_wrap_include("itkPhasedArray3DSpecialCoordinatesImage.h")
itk_wrap_class("itk::CastImageFilter" POINTER_WITH_SUPERCLASS)
# Create cast filters between all scalar types. Also force that cast-to-uchar
# filters are created for all scalar types, and unsigned long for
# segmentation output casting.
unique(types "${WRAP_ITK_SCALAR};UC;UI;SI;UL")
itk_wrap_image_filter_combinations("${types}" "${types}")
# vector <-> vector
itk_wrap_image_filter_combinations("${WRAP_ITK_VECTOR}" "${WRAP_ITK_VECTOR}")
foreach(image_dim ${ITK_WRAP_IMAGE_DIMS})
if(ITK_WRAP_vector_float AND ITK_WRAP_vector_double)
if(ITKM_VIF${image_dim}
AND ITKM_VID${image_dim}
AND ITKT_VIF${image_dim}
AND ITKT_VID${image_dim})
# VectorImage(double, float) <-> VectorImage(double, float)
itk_wrap_template("${ITKM_VID${image_dim}}${ITKM_VID${image_dim}}"
"${ITKT_VID${image_dim}},${ITKT_VID${image_dim}}")
itk_wrap_template("${ITKM_VIF${image_dim}}${ITKM_VID${image_dim}}"
"${ITKT_VIF${image_dim}},${ITKT_VID${image_dim}}")
itk_wrap_template("${ITKM_VID${image_dim}}${ITKM_VIF${image_dim}}"
"${ITKT_VID${image_dim}},${ITKT_VIF${image_dim}}")
itk_wrap_template("${ITKM_VIF${image_dim}}${ITKM_VIF${image_dim}}"
"${ITKT_VIF${image_dim}},${ITKT_VIF${image_dim}}")
endif()
foreach(pixel_type "${WRAP_ITK_RGB};${WRAP_ITK_RGBA}")
if(ITKM_VIF${image_dim}
AND ITKM_I${ITKM_${pixel_type}}${image_dim}
AND ITKT_VIF${image_dim}
AND ITKT_I${ITKM_${pixel_type}}${image_dim})
# VectorImage(float) <-> (RGBPixel, RGBAPixel)
itk_wrap_template("${ITKM_VIF${image_dim}}${ITKM_I${ITKM_${pixel_type}}${image_dim}}"
"${ITKT_VIF${image_dim}},${ITKT_I${ITKM_${pixel_type}}${image_dim}}")
itk_wrap_template("${ITKM_I${ITKM_${pixel_type}}${image_dim}}${ITKM_VIF${image_dim}}"
"${ITKT_I${ITKM_${pixel_type}}${image_dim}},${ITKT_VIF${image_dim}}")
# Vector(float, 3) <-> (RGBPixel, RGBAPixel)
itk_wrap_template("${ITKM_IVF3${image_dim}}${ITKM_I${ITKM_${pixel_type}}${image_dim}}"
"${ITKT_IVF3${image_dim}},${ITKT_I${ITKM_${pixel_type}}${image_dim}}")
itk_wrap_template("${ITKM_I${ITKM_${pixel_type}}${image_dim}}${ITKM_IVF3${image_dim}}"
"${ITKT_I${ITKM_${pixel_type}}${image_dim}},${ITKT_IVF3${image_dim}}")
endif()
if(ITKM_VID${image_dim}
AND ITKM_I${ITKM_${pixel_type}}${image_dim}
AND ITKT_VID${image_dim}
AND ITKT_I${ITKM_${pixel_type}}${image_dim})
# VectorImage(double) <-> (RGBPixel, RGBAPixel)
itk_wrap_template("${ITKM_VID${image_dim}}${ITKM_I${ITKM_${pixel_type}}${image_dim}}"
"${ITKT_VID${image_dim}},${ITKT_I${ITKM_${pixel_type}}${image_dim}}")
itk_wrap_template("${ITKM_I${ITKM_${pixel_type}}${image_dim}}${ITKM_VID${image_dim}}"
"${ITKT_I${ITKM_${pixel_type}}${image_dim}},${ITKT_VID${image_dim}}")
# Vector(double, 3) <-> (RGBPixel, RGBAPixel)
itk_wrap_template("${ITKM_IVD3${image_dim}}${ITKM_I${ITKM_${pixel_type}}${image_dim}}"
"${ITKT_IVD3${image_dim}},${ITKT_I${ITKM_${pixel_type}}${image_dim}}")
itk_wrap_template("${ITKM_I${ITKM_${pixel_type}}${image_dim}}${ITKM_IVD3${image_dim}}"
"${ITKT_I${ITKM_${pixel_type}}${image_dim}},${ITKT_IVD3${image_dim}}")
endif()
endforeach()
endif()
foreach(vector_components ${ITK_WRAP_VECTOR_COMPONENTS})
if(ITK_WRAP_vector_float)
if(ITKM_IVF${vector_components}${image_dim}
AND ITKM_VIF${image_dim}
AND ITKT_IVF${vector_components}${image_dim}
AND ITKT_VIF${image_dim})
# VectorImage(float) <-> Vector(float)
itk_wrap_template("${ITKM_IVF${vector_components}${image_dim}}${ITKM_VIF${image_dim}}"
"${ITKT_IVF${vector_components}${image_dim}},${ITKT_VIF${image_dim}}")
itk_wrap_template("${ITKM_VIF${image_dim}}${ITKM_IVF${vector_components}${image_dim}}"
"${ITKT_VIF${image_dim}},${ITKT_IVF${vector_components}${image_dim}}")
endif()
endif()
if(ITK_WRAP_covariant_vector_float)
if(ITKM_ICVF${vector_components}${image_dim}
AND ITKM_VIF${image_dim}
AND ITKT_ICVF${vector_components}${image_dim}
AND ITKT_VIF${image_dim})
# VectorImage(float) <-> CovariantVector(float)
itk_wrap_template("${ITKM_ICVF${vector_components}${image_dim}}${ITKM_VIF${image_dim}}"
"${ITKT_ICVF${vector_components}${image_dim}},${ITKT_VIF${image_dim}}")
itk_wrap_template("${ITKM_VIF${image_dim}}${ITKM_ICVF${vector_components}${image_dim}}"
"${ITKT_VIF${image_dim}},${ITKT_ICVF${vector_components}${image_dim}}")
endif()
endif()
if(ITK_WRAP_vector_double)
if(ITKM_IVD${vector_components}${image_dim}
AND ITKM_VID${image_dim}
AND ITKT_IVD${vector_components}${image_dim}
AND ITKT_VID${image_dim})
# VectorImage(double) <-> Vector(double)
itk_wrap_template("${ITKM_VID${image_dim}}${ITKM_IVD${vector_components}${image_dim}}"
"${ITKT_VID${image_dim}},${ITKT_IVD${vector_components}${image_dim}}")
itk_wrap_template("${ITKM_IVD${vector_components}${image_dim}}${ITKM_VID${image_dim}}"
"${ITKT_IVD${vector_components}${image_dim}},${ITKT_VID${image_dim}}")
endif()
endif()
if(ITK_WRAP_covariant_vector_double)
if(ITKM_ICVD${vector_components}${image_dim}
AND ITKM_VID${image_dim}
AND ITKT_ICVD${vector_components}${image_dim}
AND ITKT_VID${image_dim})
# VectorImage(double) <-> CovariantVector(double)
itk_wrap_template("${ITKM_VID${image_dim}}${ITKM_ICVD${vector_components}${image_dim}}"
"${ITKT_VID${image_dim}},${ITKT_ICVD${vector_components}${image_dim}}")
itk_wrap_template("${ITKM_ICVD${vector_components}${image_dim}}${ITKM_VID${image_dim}}"
"${ITKT_ICVD${vector_components}${image_dim}},${ITKT_VID${image_dim}}")
endif()
endif()
endforeach()
endforeach()
# RGB <-> RGB
unique(rgb "RGBUC;${WRAP_ITK_RGB}")
itk_wrap_image_filter_combinations("${rgb}" "${rgb}")
# vector <-> RGB
# itk_wrap_image_filter_combinations("${WRAP_ITK_VECTOR}" "${WRAP_ITK_RGB}")
# itk_wrap_image_filter_combinations("${WRAP_ITK_RGB}" "${WRAP_ITK_VECTOR}")
# Enable casting 64 bit unsigned int to smaller integer types if we haven't done so already
if(NOT ITK_WRAP_unsigned_long_long
AND NOT
${ITKM_IT}
STREQUAL
"ULL")
itk_wrap_image_filter_combinations("ULL" "${WRAP_ITK_INT}")
endif()
# PhasedArray3DSpecialCoordinatesImage
foreach(t1 ${WRAP_ITK_SCALAR})
foreach(t2 ${WRAP_ITK_SCALAR})
itk_wrap_template(
"PA3DSCI${ITKM_${t1}}PA3DSCI${ITKM_${t2}}"
"itk::PhasedArray3DSpecialCoordinatesImage< ${ITKT_${t1}} >, itk::PhasedArray3DSpecialCoordinatesImage< ${ITKT_${t2}} >"
)
itk_wrap_template("PA3DSCI${ITKM_${t1}}I${ITKM_${t2}}3"
"itk::PhasedArray3DSpecialCoordinatesImage< ${ITKT_${t1}} >, itk::Image< ${ITKT_${t2}}, 3 >")
endforeach()
endforeach()
itk_end_wrap_class()