11itk_wrap_include("list")
22itk_wrap_include("complex")
33
4- itk_wrap_class("itk::CurvilinearArraySpecialCoordinatesImage" POINTER_WITH_SUPERCLASS)
4+ # Wrap underlying class hierarchy
5+ itk_wrap_class("itk::SpecialCoordinatesImage" POINTER)
56 foreach(d ${ITK_WRAP_IMAGE_DIMS})
67 foreach(t ${WRAP_ITK_SCALAR})
78 itk_wrap_template("${ITKM_${t}}${d}" "${ITKT_${t}}, ${d}")
@@ -12,110 +13,61 @@ itk_wrap_class("itk::CurvilinearArraySpecialCoordinatesImage" POINTER_WITH_SUPER
1213 endforeach()
1314itk_end_wrap_class()
1415
15- itk_wrap_include("itkImageSource.h")
16- itk_wrap_class("itk::ImageSource" POINTER)
17- foreach(d ${ITK_WRAP_IMAGE_DIMS})
18- foreach(real_type ${WRAP_ITK_SCALAR})
19- itk_wrap_template("CASCI${ITKM_${real_type}}${d}" "itk::CurvilinearArraySpecialCoordinatesImage<${ITKT_${real_type}},${d}>")
20- endforeach()
21- foreach(complex_type ${WRAP_ITK_COMPLEX_REAL})
22- itk_wrap_template("CASCI${ITKM_${complex_type}}${d}" "itk::CurvilinearArraySpecialCoordinatesImage<${ITKT_${complex_type}},${d}>")
23- endforeach()
24- endforeach()
25- itk_end_wrap_class()
2616
27- itk_wrap_include("itkCastImageFilter.h")
28- itk_wrap_class("itk::CastImageFilter" POINTER_WITH_2_SUPERCLASSES)
29- foreach(d ${ITK_WRAP_IMAGE_DIMS})
30- foreach(t1 ${WRAP_ITK_SCALAR})
31- foreach(t2 ${WRAP_ITK_SCALAR})
32- itk_wrap_template("CASCI${ITKM_${t1}}${d}CASCI${ITKM_${t2}}${d}"
33- "itk::CurvilinearArraySpecialCoordinatesImage< ${ITKT_${t1}}, ${d} >, itk::CurvilinearArraySpecialCoordinatesImage< ${ITKT_${t2}}, ${d} >")
34- itk_wrap_template("CASCI${ITKM_${t1}}${d}I${ITKM_${t2}}${d}"
35- "itk::CurvilinearArraySpecialCoordinatesImage< ${ITKT_${t1}}, ${d} >, itk::Image< ${ITKT_${t2}}, ${d} >")
36- endforeach()
37- endforeach()
38- endforeach()
39- itk_end_wrap_class()
17+ # Explicitly override template method wrappings so that implicit
18+ # scalar type is always `double` for greatest precision.
19+ # Adds wrapping overrides to `itkCurvilinearArraySpecialCoordinatesImage_ext.i` configured with
20+ # CMake for input to SWIG wrapping generation.
21+ # See `DECL_PYTHON_IMAGEBASE_CLASS` definition in `ITK/Wrapping/Generators/Python/PyBase/pyBase.i`
22+ # for precedent.
23+ string(APPEND ITK_WRAP_PYTHON_SWIG_EXT "
24+ %inline %{
25+ #include \"itkContinuousIndexSwigInterface.h\"
26+ %}
4027
41- itk_wrap_include("itkRescaleIntensityImageFilter.h")
42- itk_wrap_class("itk::RescaleIntensityImageFilter" POINTER_WITH_2_SUPERCLASSES)
43- foreach(d ${ITK_WRAP_IMAGE_DIMS})
44- foreach(t ${WRAP_ITK_SCALAR})
45- foreach(ut ${WRAP_ITK_INT})
46- itk_wrap_template("I${ITKM_${t}}${d}CASCI${ITKM_${ut}}${d}"
47- "itk::Image< ${ITKT_${t}}, ${d} >, itk::CurvilinearArraySpecialCoordinatesImage< ${ITKT_${ut}}, ${d} >")
48- endforeach()
49- endforeach()
50- endforeach()
51- itk_end_wrap_class()
28+ %define DECL_PYTHON_CURVILINEARARRAYSPECIALCOORDINATESIMAGE_CLASS(swig_name, template_params)
5229
53- itk_wrap_class("itk::ImageToImageFilter" POINTER)
54- foreach(d ${ITK_WRAP_IMAGE_DIMS})
55- foreach(t ${WRAP_ITK_SCALAR})
56- foreach(ut ${WRAP_ITK_INT})
57- itk_wrap_template("I${ITKM_${t}}${d}CASCI${ITKM_${ut}}${d}"
58- "itk::Image< ${ITKT_${t}}, ${d} >, itk::CurvilinearArraySpecialCoordinatesImage< ${ITKT_${ut}}, ${d} >")
59- endforeach()
60- foreach(t2 ${WRAP_ITK_SCALAR})
61- itk_wrap_template("CASCI${ITKM_${t}}${d}CASCI${ITKM_${t2}}${d}"
62- "itk::CurvilinearArraySpecialCoordinatesImage< ${ITKT_${t}}, ${d} >, itk::CurvilinearArraySpecialCoordinatesImage< ${ITKT_${t2}}, ${d} >")
63- endforeach()
64- endforeach()
30+ %extend swig_name {
31+ itkIndex##template_params TransformPhysicalPointToIndex(const itkPointD##template_params & point ) {
32+ itkIndex##template_params idx;
33+ self->TransformPhysicalPointToIndex<double>( point, idx );
34+ return idx;
35+ }
6536
66- foreach(rt ${WRAP_ITK_REAL})
67- foreach(ct ${WRAP_ITK_COMPLEX_REAL})
68- itk_wrap_template("CASCI${ITKM_${rt}}${d}CASCI${ITKM_${ct}}${d}"
69- "itk::CurvilinearArraySpecialCoordinatesImage< ${ITKT_${rt}}, ${d} >, itk::CurvilinearArraySpecialCoordinatesImage< ${ITKT_${ct}}, ${d} >")
70- itk_wrap_template("CASCI${ITKM_${ct}}${d}CASCI${ITKM_${rt}}${d}"
71- "itk::CurvilinearArraySpecialCoordinatesImage< ${ITKT_${ct}}, ${d} >, itk::CurvilinearArraySpecialCoordinatesImage< ${ITKT_${rt}}, ${d} >")
72- endforeach()
73- endforeach()
37+ itkContinuousIndexD##template_params TransformPhysicalPointToContinuousIndex(const itkPointD##template_params & point ) {
38+ itkContinuousIndexD##template_params idx;
39+ self->TransformPhysicalPointToContinuousIndex<double>( point, idx );
40+ return idx;
41+ }
7442
75- foreach(t3 ${WRAP_ITK_COMPLEX_REAL})
76- itk_wrap_template("CASCI${ITKM_${t3}}${d}CASCI${ITKM_${t3}}${d}"
77- "itk::CurvilinearArraySpecialCoordinatesImage< ${ITKT_${t3}}, ${d} >, itk::CurvilinearArraySpecialCoordinatesImage< ${ITKT_${t3}}, ${d} >")
78- endforeach()
79- endforeach()
80- itk_end_wrap_class()
43+ itkPointD##template_params TransformContinuousIndexToPhysicalPoint(const itkContinuousIndexD##template_params & idx ) {
44+ itkPointD##template_params point;
45+ self->TransformContinuousIndexToPhysicalPoint<double>( idx, point );
46+ return point;
47+ }
8148
82- itk_wrap_class("itk::ImageFileReader" POINTER_WITH_SUPERCLASS)
83- foreach(d ${ITK_WRAP_IMAGE_DIMS})
84- foreach(t ${WRAP_ITK_SCALAR})
85- itk_wrap_template("CASCI${ITKM_${t}}${d}"
86- "itk::CurvilinearArraySpecialCoordinatesImage< ${ITKT_${t}}, ${d} >")
87- endforeach()
88- endforeach()
89- itk_end_wrap_class()
49+ itkPointD##template_params TransformIndexToPhysicalPoint(const itkIndex##template_params & idx ) {
50+ itkPointD##template_params point;
51+ self->TransformIndexToPhysicalPoint<double>( idx, point );
52+ return point;
53+ }
54+ }
55+
56+ %enddef
57+ ")
9058
91- itk_wrap_class("itk::ImageFileWriter" POINTER)
59+ # Wrap class for real and complex pixel types
60+ itk_wrap_class("itk::CurvilinearArraySpecialCoordinatesImage" POINTER_WITH_SUPERCLASS)
9261 foreach(d ${ITK_WRAP_IMAGE_DIMS})
9362 foreach(t ${WRAP_ITK_SCALAR})
94- itk_wrap_template("CASCI ${ITKM_${t}}${d}"
95- "itk::CurvilinearArraySpecialCoordinatesImage< ${ITKT_${ t}}, ${d} > ")
63+ itk_wrap_template("${ITKM_${t}}${d}" "${ITKT_${t}}, ${d}")
64+ string(APPEND ITK_WRAP_PYTHON_SWIG_EXT "DECL_PYTHON_CURVILINEARARRAYSPECIALCOORDINATESIMAGE_CLASS(${WRAPPER_SWIG_NAME}${ITKM_${ t}}${d} , ${d})\n ")
9665 endforeach()
97- endforeach()
98- itk_end_wrap_class()
99-
100- #itk_wrap_include("itkResampleImageFilter.h")
101- #itk_wrap_class("itk::ResampleImageFilter" POINTER_WITH_2_SUPERCLASSES)
102- # foreach(d ${ITK_WRAP_IMAGE_DIMS})
103- # foreach(t1 ${WRAP_ITK_SCALAR})
104- # foreach(t2 ${WRAP_ITK_SCALAR})
105- # itk_wrap_template("CASCI${ITKM_${t1}}${d}I${ITKM_${t2}}${d}"
106- # "itk::CurvilinearArraySpecialCoordinatesImage< ${ITKT_${t1}}, ${d} >, itk::Image< ${ITKT_${t2}}, ${d} >")
107- # endforeach()
108- # endforeach()
109- # endforeach()
110- #itk_end_wrap_class()
111-
112- itk_wrap_include("itkSpectra1DSupportWindowToMaskImageFilter.h")
113- itk_wrap_class("itk::Spectra1DSupportWindowToMaskImageFilter" POINTER_WITH_2_SUPERCLASSES)
114- foreach(d ${ITK_WRAP_IMAGE_DIMS})
115- foreach(t ${WRAP_ITK_INT})
116- itk_wrap_template("IlistitkIndex${d}${d}CASCI${ITKM_${t}}${d}"
117- "itk::Image< std::list< itk::Index< ${d} > >, ${d} >, itk::CurvilinearArraySpecialCoordinatesImage< ${ITKT_${t}}, ${d} >")
66+ foreach(t3 ${WRAP_ITK_COMPLEX_REAL})
67+ itk_wrap_template("${ITKM_${t3}}${d}" "${ITKT_${t3}}, ${d}")
68+ string(APPEND ITK_WRAP_PYTHON_SWIG_EXT "DECL_PYTHON_CURVILINEARARRAYSPECIALCOORDINATESIMAGE_CLASS(${WRAPPER_SWIG_NAME}${ITKM_${t3}}${d}, ${d})\n")
11869 endforeach()
11970 endforeach()
12071itk_end_wrap_class()
12172
73+ # Then wrap consuming filters in itkCurvilinearArraySpecialCoordinatesImageFilters.wrap
0 commit comments