18#ifndef itkTernaryGeneratorImageFilter_h
19#define itkTernaryGeneratorImageFilter_h
53template <
typename TInputImage1,
typename TInputImage2,
typename TInputImage3,
typename TOutputImage>
160#if !defined(ITK_WRAPPING_PARSER)
169 m_DynamicThreadedGenerateDataFunction = [
this, f](
const OutputImageRegionType & outputRegionForThread) {
170 return this->DynamicThreadedGenerateDataWithFunctor(f, outputRegionForThread);
180 m_DynamicThreadedGenerateDataFunction = [
this, f](
const OutputImageRegionType & outputRegionForThread) {
181 return this->DynamicThreadedGenerateDataWithFunctor(f, outputRegionForThread);
194 m_DynamicThreadedGenerateDataFunction = [
this, funcPointer](
const OutputImageRegionType & outputRegionForThread) {
195 return this->DynamicThreadedGenerateDataWithFunctor(funcPointer, outputRegionForThread);
204 m_DynamicThreadedGenerateDataFunction = [
this, funcPointer](
const OutputImageRegionType & outputRegionForThread) {
205 return this->DynamicThreadedGenerateDataWithFunctor(funcPointer, outputRegionForThread);
220 template <
typename TFunctor>
225 m_DynamicThreadedGenerateDataFunction = [
this, functor](
const OutputImageRegionType & outputRegionForThread) {
226 return this->DynamicThreadedGenerateDataWithFunctor(functor, outputRegionForThread);
235 static constexpr unsigned int Input1ImageDimension = TInputImage1::ImageDimension;
236 static constexpr unsigned int Input2ImageDimension = TInputImage2::ImageDimension;
237 static constexpr unsigned int Input3ImageDimension = TInputImage3::ImageDimension;
238 static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension;
240#ifdef ITK_USE_CONCEPT_CHECKING
265 template <
typename TFunctor>
278#ifndef ITK_MANUAL_INSTANTIATION
279# include "itkTernaryGeneratorImageFilter.hxx"
Base class for all process objects that output image data.
typename OutputImageType::PixelType OutputImagePixelType
typename OutputImageType::RegionType OutputImageRegionType
TOutputImage OutputImageType
typename OutputImageType::Pointer OutputImagePointer
Base class for filters that take an image as input and overwrite that image as the output.
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Decorates any "simple" data type (data types without smart pointers) with a DataObject API.
Implements pixel-wise generic operation of three images or images with constants.
void SetInput3(const TInputImage3 *image3)
virtual void SetInput3(const Input3ImagePixelType &input3)
virtual void SetConstant3(const Input3ImagePixelType &input3)
virtual void SetInput2(const DecoratedInput2ImagePixelType *input2)
~TernaryGeneratorImageFilter() override=default
typename Input3ImageType::RegionType Input3ImageRegionType
OutputImagePixelType(const Input1ImagePixelType &, const Input2ImagePixelType &, const Input3ImagePixelType &) ConstRefFunctionType
void GenerateOutputInformation() override
typename Input3ImageType::ConstPointer Input3ImagePointer
TInputImage3 Input3ImageType
void SetFunctor(ValueFunctionType *funcPointer)
typename Input2ImageType::PixelType Input2ImagePixelType
virtual void SetInput1(const Input1ImagePixelType &input1)
typename Input2ImageType::ConstPointer Input2ImagePointer
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) override
void SetFunctor(const std::function< ConstRefFunctionType > &f)
typename Input1ImageType::PixelType Input1ImagePixelType
void SetFunctor(const TFunctor &functor)
virtual const Input3ImagePixelType & GetConstant3() const
typename Input1ImageType::ConstPointer Input1ImagePointer
void SetFunctor(ConstRefFunctionType *funcPointer)
virtual const Input1ImagePixelType & GetConstant1() const
typename Input3ImageType::PixelType Input3ImagePixelType
void SetInput2(const TInputImage2 *image2)
void SetInput1(const TInputImage1 *image1)
TernaryGeneratorImageFilter()
virtual const Input2ImagePixelType & GetConstant2() const
OutputImagePixelType(*)(const Input1ImagePixelType &, const Input2ImagePixelType &, const Input3ImagePixelType &) FunctionType
virtual void SetInput1(const DecoratedInput1ImagePixelType *input1)
virtual void SetConstant2(const Input2ImagePixelType &input2)
virtual void SetConstant1(const Input1ImagePixelType &input1)
typename Input1ImageType::RegionType Input1ImageRegionType
TInputImage2 Input2ImageType
OutputImagePixelType(Input1ImagePixelType, Input2ImagePixelType, Input3ImagePixelType) ValueFunctionType
void DynamicThreadedGenerateDataWithFunctor(const TFunctor &, const OutputImageRegionType &outputRegionForThread)
TInputImage1 Input1ImageType
virtual void SetInput2(const Input2ImagePixelType &input2)
typename Input2ImageType::RegionType Input2ImageRegionType
virtual void SetInput3(const DecoratedInput3ImagePixelType *input3)
void SetFunctor(const std::function< ValueFunctionType > &f)
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
#define itkConceptMacro(name, concept)
ImageBaseType::RegionType RegionType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....