#include <itkBinaryFunctorImageFilter.h>
Implements pixel-wise generic operation of two images, or of an image and a constant.
This class is parameterized over the types of the two input images and the type of the output image. It is also parameterized by the operation to be applied. A Functor style is used.
The constant must be of the same type than the pixel type of the corresponding image. It is wrapped in a SimpleDataObjectDecorator so it can be updated through the pipeline. The SetConstant() and GetConstant() methods are provided as shortcuts to set or get the constant value without manipulating the decorator.
Definition at line 53 of file itkBinaryFunctorImageFilter.h.
Public Member Functions | |
virtual::itk::LightObject::Pointer | CreateAnother () const |
virtual const Input1ImagePixelType & | GetConstant1 () const |
virtual const Input2ImagePixelType & | GetConstant2 () const |
FunctorType & | GetFunctor () |
const FunctorType & | GetFunctor () const |
const char * | GetNameOfClass () const override |
virtual void | SetConstant1 (const Input1ImagePixelType &input1) |
virtual void | SetInput1 (const TInputImage1 *image1) |
virtual void | SetInput1 (const DecoratedInput1ImagePixelType *input1) |
virtual void | SetInput1 (const Input1ImagePixelType &input1) |
virtual void | SetInput2 (const TInputImage2 *image2) |
virtual void | SetInput2 (const DecoratedInput2ImagePixelType *input2) |
virtual void | SetInput2 (const Input2ImagePixelType &input2) |
virtual void | SetConstant2 (const Input2ImagePixelType &input2) |
void | SetConstant (Input2ImagePixelType ct) |
const Input2ImagePixelType & | GetConstant () const |
void | SetFunctor (const FunctorType &functor) |
![]() | |
virtual bool | CanRunInPlace () const |
virtual bool | CanRunInPlace () const |
const char * | GetNameOfClass () const override |
const char * | GetNameOfClass () const override |
virtual void | SetInPlace (bool _arg) |
virtual bool | GetInPlace () const |
virtual void | InPlaceOn () |
virtual void | InPlaceOff () |
virtual void | SetInPlace (bool _arg) |
virtual bool | GetInPlace () const |
virtual void | InPlaceOn () |
virtual void | InPlaceOff () |
![]() | |
const InputImageType * | GetInput () const |
const InputImageType * | GetInput (unsigned int idx) const |
void | PopBackInput () override |
void | PopFrontInput () override |
virtual void | PushBackInput (const InputImageType *input) |
virtual void | PushFrontInput (const InputImageType *input) |
virtual void | SetInput (const InputImageType *input) |
virtual void | SetInput (unsigned int, const TInputImage *image) |
virtual void | SetCoordinateTolerance (double _arg) |
virtual double | GetCoordinateTolerance () const |
virtual void | SetDirectionTolerance (double _arg) |
virtual double | GetDirectionTolerance () const |
![]() | |
OutputImageType * | GetOutput (unsigned int idx) |
OutputImageType * | GetOutput () |
const OutputImageType * | GetOutput () const |
virtual void | GraftOutput (DataObject *graft) |
virtual void | GraftOutput (const DataObjectIdentifierType &key, DataObject *graft) |
virtual void | GraftNthOutput (unsigned int idx, DataObject *graft) |
ProcessObject::DataObjectPointer | MakeOutput (ProcessObject::DataObjectPointerArraySizeType idx) override |
ProcessObject::DataObjectPointer | MakeOutput (const ProcessObject::DataObjectIdentifierType &) override |
![]() | |
virtual void | AbortGenerateDataOff () |
virtual void | AbortGenerateDataOn () |
virtual void | EnlargeOutputRequestedRegion (DataObject *output) |
virtual const bool & | GetAbortGenerateData () const |
DataObjectPointerArray | GetIndexedInputs () |
DataObjectPointerArray | GetIndexedOutputs () |
NameArray | GetInputNames () const |
DataObjectPointerArray | GetInputs () |
MultiThreaderType * | GetMultiThreader () const |
const char * | GetNameOfClass () const override |
DataObjectPointerArraySizeType | GetNumberOfIndexedInputs () const |
DataObjectPointerArraySizeType | GetNumberOfIndexedOutputs () const |
DataObjectPointerArraySizeType | GetNumberOfInputs () const |
DataObjectPointerArraySizeType | GetNumberOfOutputs () const |
virtual DataObjectPointerArraySizeType | GetNumberOfValidRequiredInputs () const |
NameArray | GetOutputNames () const |
DataObjectPointerArray | GetOutputs () |
virtual float | GetProgress () const |
NameArray | GetRequiredInputNames () const |
bool | HasInput (const DataObjectIdentifierType &key) const |
bool | HasOutput (const DataObjectIdentifierType &key) const |
void | IncrementProgress (float increment) |
virtual void | PrepareOutputs () |
virtual void | PropagateRequestedRegion (DataObject *output) |
virtual void | ResetPipeline () |
virtual void | SetAbortGenerateData (bool _arg) |
void | SetMultiThreader (MultiThreaderType *threader) |
virtual void | Update () |
virtual void | UpdateLargestPossibleRegion () |
virtual void | UpdateOutputData (DataObject *output) |
virtual void | UpdateOutputInformation () |
void | UpdateProgress (float progress) |
virtual void | SetReleaseDataFlag (bool val) |
virtual bool | GetReleaseDataFlag () const |
void | ReleaseDataFlagOn () |
void | ReleaseDataFlagOff () |
virtual void | SetReleaseDataBeforeUpdateFlag (bool _arg) |
virtual const bool & | GetReleaseDataBeforeUpdateFlag () const |
virtual void | ReleaseDataBeforeUpdateFlagOn () |
virtual void | ReleaseDataBeforeUpdateFlagOff () |
virtual void | SetNumberOfWorkUnits (ThreadIdType _arg) |
virtual const ThreadIdType & | GetNumberOfWorkUnits () const |
![]() | |
unsigned long | AddObserver (const EventObject &event, Command *cmd) const |
unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
LightObject::Pointer | CreateAnother () const override |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary () |
const MetaDataDictionary & | GetMetaDataDictionary () const |
virtual ModifiedTimeType | GetMTime () const |
virtual const TimeStamp & | GetTimeStamp () const |
bool | HasObserver (const EventObject &event) const |
void | InvokeEvent (const EventObject &) |
void | InvokeEvent (const EventObject &) const |
virtual void | Modified () const |
void | Register () const override |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) const |
void | SetDebug (bool debugFlag) const |
void | SetReferenceCount (int) override |
void | UnRegister () const noexcept override |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
![]() | |
Pointer | Clone () const |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static double | GetGlobalDefaultCoordinateTolerance () |
static double | GetGlobalDefaultDirectionTolerance () |
static void | SetGlobalDefaultCoordinateTolerance (double) |
static void | SetGlobalDefaultDirectionTolerance (double) |
![]() | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
![]() | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | InputImage1Dimension = TInputImage1::ImageDimension |
static constexpr unsigned int | InputImage2Dimension = TInputImage2::ImageDimension |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
![]() | |
static constexpr unsigned int | InputImageDimension |
static constexpr unsigned int | InputImageDimension |
static constexpr unsigned int | OutputImageDimension |
static constexpr unsigned int | OutputImageDimension |
![]() | |
static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
![]() | |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Private Attributes | |
FunctorType | m_Functor {} |
Additional Inherited Members | |
![]() | |
using | InputToOutputRegionCopierType |
using | OutputToInputRegionCopierType |
![]() | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ThreaderCallback (void *arg) |
![]() | |
template<typename TSourceObject> | |
static void | MakeRequiredOutputs (TSourceObject &sourceObject, const DataObjectPointerArraySizeType numberOfRequiredOutputs) |
static constexpr float | progressFixedToFloat (uint32_t fixed) |
static uint32_t | progressFloatToFixed (float f) |
![]() | |
bool | m_DynamicMultiThreading { true } |
![]() | |
TimeStamp | m_OutputInformationMTime {} |
bool | m_Updating {} |
![]() | |
std::atomic< int > | m_ReferenceCount {} |
using itk::BinaryFunctorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::ConstPointer = SmartPointer<const Self> |
Definition at line 62 of file itkBinaryFunctorImageFilter.h.
using itk::BinaryFunctorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::DecoratedInput1ImagePixelType = SimpleDataObjectDecorator<Input1ImagePixelType> |
Definition at line 76 of file itkBinaryFunctorImageFilter.h.
using itk::BinaryFunctorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::DecoratedInput2ImagePixelType = SimpleDataObjectDecorator<Input2ImagePixelType> |
Definition at line 82 of file itkBinaryFunctorImageFilter.h.
using itk::BinaryFunctorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::FunctorType = TFunction |
Some convenient type alias.
Definition at line 71 of file itkBinaryFunctorImageFilter.h.
using itk::BinaryFunctorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input1ImagePixelType = typename Input1ImageType::PixelType |
Definition at line 75 of file itkBinaryFunctorImageFilter.h.
using itk::BinaryFunctorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input1ImagePointer = typename Input1ImageType::ConstPointer |
Definition at line 73 of file itkBinaryFunctorImageFilter.h.
using itk::BinaryFunctorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input1ImageRegionType = typename Input1ImageType::RegionType |
Definition at line 74 of file itkBinaryFunctorImageFilter.h.
using itk::BinaryFunctorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input1ImageType = TInputImage1 |
Definition at line 72 of file itkBinaryFunctorImageFilter.h.
using itk::BinaryFunctorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input2ImagePixelType = typename Input2ImageType::PixelType |
Definition at line 81 of file itkBinaryFunctorImageFilter.h.
using itk::BinaryFunctorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input2ImagePointer = typename Input2ImageType::ConstPointer |
Definition at line 79 of file itkBinaryFunctorImageFilter.h.
using itk::BinaryFunctorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input2ImageRegionType = typename Input2ImageType::RegionType |
Definition at line 80 of file itkBinaryFunctorImageFilter.h.
using itk::BinaryFunctorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Input2ImageType = TInputImage2 |
Definition at line 78 of file itkBinaryFunctorImageFilter.h.
using itk::BinaryFunctorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::OutputImagePixelType = typename OutputImageType::PixelType |
Definition at line 87 of file itkBinaryFunctorImageFilter.h.
using itk::BinaryFunctorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::OutputImagePointer = typename OutputImageType::Pointer |
Definition at line 85 of file itkBinaryFunctorImageFilter.h.
using itk::BinaryFunctorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::OutputImageRegionType = typename OutputImageType::RegionType |
Definition at line 86 of file itkBinaryFunctorImageFilter.h.
using itk::BinaryFunctorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::OutputImageType = TOutputImage |
Definition at line 84 of file itkBinaryFunctorImageFilter.h.
using itk::BinaryFunctorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Pointer = SmartPointer<Self> |
Definition at line 61 of file itkBinaryFunctorImageFilter.h.
using itk::BinaryFunctorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Self = BinaryFunctorImageFilter |
Standard class type aliases.
Definition at line 59 of file itkBinaryFunctorImageFilter.h.
using itk::BinaryFunctorImageFilter< TInputImage1, TInputImage2, TOutputImage, TFunction >::Superclass = InPlaceImageFilter<TInputImage1, TOutputImage> |
Definition at line 60 of file itkBinaryFunctorImageFilter.h.
|
protected |
Referenced by GetNameOfClass().
|
overrideprotecteddefault |
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::LightObject.
|
overrideprotectedvirtual |
BinaryFunctorImageFilter can be implemented as a multithreaded filter. Therefore, this implementation provides a DynamicThreadedGenerateData() routine which is called for each processing thread. The output image data is allocated automatically by the superclass prior to calling DynamicThreadedGenerateData(). DynamicThreadedGenerateData can only write to the portion of the output image specified by the parameter "outputRegionForThread".
Reimplemented from itk::ImageSource< TOutputImage >.
|
overrideprotectedvirtual |
Generate the information describing the output data. The default implementation of this method will copy information from the input to the output. A filter may override this method if its output will have different information than its input. For instance, a filter that shrinks an image will need to provide an implementation for this method that changes the spacing of the pixels. Such filters should call their superclass' implementation of this method prior to changing the information values they need (i.e. GenerateOutputInformation() should call Superclass::GenerateOutputInformation() prior to changing the information.
Reimplemented from itk::ProcessObject.
|
inline |
Set the second operand as a constant.
Definition at line 125 of file itkBinaryFunctorImageFilter.h.
References GetConstant2().
|
virtual |
Get the constant value of the first operand. An exception is sent if the first operand is not a constant.
|
virtual |
Get the constant value of the second operand. An exception is sent if the second operand is not a constant.
Referenced by GetConstant().
|
inline |
Get the functor object. The functor is returned by reference. (Functors do not have to derive from itk::LightObject, so they do not necessarily have a reference count. So we cannot return a SmartPointer.).
Definition at line 141 of file itkBinaryFunctorImageFilter.h.
References m_Functor.
|
inline |
Get the functor object. The functor is returned by reference. (Functors do not have to derive from itk::LightObject, so they do not necessarily have a reference count. So we cannot return a SmartPointer.).
Definition at line 151 of file itkBinaryFunctorImageFilter.h.
References m_Functor.
|
overridevirtual |
Reimplemented from itk::LightObject.
References BinaryFunctorImageFilter().
|
static |
Method for creation through the object factory.
|
inline |
Set the second operand as a constant.
Definition at line 120 of file itkBinaryFunctorImageFilter.h.
References SetConstant2().
|
virtual |
Set the first operand as a constant.
|
virtual |
Set the second operand as a constant.
Referenced by SetConstant().
|
inline |
Set the functor object. This replaces the current Functor with a copy of the specified Functor. This allows the user to specify a functor that has ivars set differently than the default functor. This method requires an operator!=() be defined on the functor (or the compiler's default implementation of operator!=() being appropriate).
Definition at line 163 of file itkBinaryFunctorImageFilter.h.
References m_Functor, and itk::Object::Modified().
|
virtual |
Connect the first operand for pixel-wise operation.
|
virtual |
Connect the first operand for pixel-wise operation.
|
virtual |
Connect the first operand for pixel-wise operation.
|
virtual |
Connect the second operand for pixel-wise operation.
|
virtual |
Connect the second operand for pixel-wise operation.
|
virtual |
Connect the second operand for pixel-wise operation.
|
staticconstexpr |
ImageDimension constants
Definition at line 174 of file itkBinaryFunctorImageFilter.h.
|
staticconstexpr |
Definition at line 175 of file itkBinaryFunctorImageFilter.h.
|
private |
Definition at line 207 of file itkBinaryFunctorImageFilter.h.
Referenced by GetFunctor(), GetFunctor(), and SetFunctor().
|
staticconstexpr |
Definition at line 176 of file itkBinaryFunctorImageFilter.h.