18 #ifndef sitkCastImageFilter_h
19 #define sitkCastImageFilter_h
60 std::string
GetName()
const override {
return std::string (
"CastImageFilter"); }
63 std::string ToString()
const override;
81 template<
typename TImageType,
typename TOutputImageType>
82 Image ExecuteInternalCast(
const Image& inImage );
84 template<
typename TImageType,
typename TOutputImageType>
85 Image ExecuteInternalToVector(
const Image& inImage );
87 template<
typename TImageType,
typename TOutputImageType>
88 Image ExecuteInternalToLabel(
const Image& inImage );
90 template<
typename TImageType,
typename TOutputImageType>
91 Image ExecuteInternalLabelToImage(
const Image& inImage );
100 template <
class TMemberFunctionPo
inter >
103 using ObjectType = typename ::detail::FunctionTraits<TMemberFunctionPointer>::ClassType;
105 template<
typename TImageType1,
typename TImageType2 >
106 TMemberFunctionPointer operator() ( )
const
108 return &ObjectType::template ExecuteInternalCast< TImageType1, TImageType2 >;
115 template <
class TMemberFunctionPo
inter >
118 using ObjectType = typename ::detail::FunctionTraits<TMemberFunctionPointer>::ClassType;
120 template<
typename TImageType1,
typename TImageType2 >
121 TMemberFunctionPointer operator() ( )
const
123 return &ObjectType::template ExecuteInternalToVector< TImageType1, TImageType2 >;
130 template <
class TMemberFunctionPo
inter >
133 using ObjectType = typename ::detail::FunctionTraits<TMemberFunctionPointer>::ClassType;
135 template<
typename TImageType1,
typename TImageType2 >
136 TMemberFunctionPointer operator() ( )
const
138 return &ObjectType::template ExecuteInternalToLabel< TImageType1, TImageType2 >;
145 template <
class TMemberFunctionPo
inter >
148 using ObjectType = typename ::detail::FunctionTraits<TMemberFunctionPointer>::ClassType;
150 template<
typename TImageType1,
typename TImageType2 >
151 TMemberFunctionPointer operator() ( )
const
153 return &ObjectType::template ExecuteInternalLabelToImage< TImageType1, TImageType2 >;
164 void RegisterMemberFactory2();
165 void RegisterMemberFactory2v();
166 void RegisterMemberFactory2l();
167 void RegisterMemberFactory3();
168 void RegisterMemberFactory3v();
169 void RegisterMemberFactory3l();