18 #ifndef sitkCastImageFilter_h
19 #define sitkCastImageFilter_h
58 std::string
GetName()
const override {
return std::string (
"CastImageFilter"); }
61 std::string ToString()
const override;
79 template<
typename TImageType,
typename TOutputImageType>
80 Image ExecuteInternalCast(
const Image& inImage );
82 template<
typename TImageType,
typename TOutputImageType>
83 Image ExecuteInternalToVector(
const Image& inImage );
85 template<
typename TImageType,
typename TOutputImageType>
86 Image ExecuteInternalToLabel(
const Image& inImage );
88 template<
typename TImageType,
typename TOutputImageType>
89 Image ExecuteInternalLabelToImage(
const Image& inImage );
98 template <
class TMemberFunctionPo
inter >
101 using ObjectType = typename ::detail::FunctionTraits<TMemberFunctionPointer>::ClassType;
103 template<
typename TImageType1,
typename TImageType2 >
104 TMemberFunctionPointer operator() ( )
const
106 return &ObjectType::template ExecuteInternalCast< TImageType1, TImageType2 >;
113 template <
class TMemberFunctionPo
inter >
116 using ObjectType = typename ::detail::FunctionTraits<TMemberFunctionPointer>::ClassType;
118 template<
typename TImageType1,
typename TImageType2 >
119 TMemberFunctionPointer operator() ( )
const
121 return &ObjectType::template ExecuteInternalToVector< TImageType1, TImageType2 >;
128 template <
class TMemberFunctionPo
inter >
131 using ObjectType = typename ::detail::FunctionTraits<TMemberFunctionPointer>::ClassType;
133 template<
typename TImageType1,
typename TImageType2 >
134 TMemberFunctionPointer operator() ( )
const
136 return &ObjectType::template ExecuteInternalToLabel< TImageType1, TImageType2 >;
143 template <
class TMemberFunctionPo
inter >
146 using ObjectType = typename ::detail::FunctionTraits<TMemberFunctionPointer>::ClassType;
148 template<
typename TImageType1,
typename TImageType2 >
149 TMemberFunctionPointer operator() ( )
const
151 return &ObjectType::template ExecuteInternalLabelToImage< TImageType1, TImageType2 >;
162 void RegisterMemberFactory2();
163 void RegisterMemberFactory2v();
164 void RegisterMemberFactory2l();
165 void RegisterMemberFactory3();
166 void RegisterMemberFactory3v();
167 void RegisterMemberFactory3l();
168 void RegisterMemberFactory4();