#include <itkTernaryGeneratorImageFilter.h>
Implements pixel-wise generic operation of three images or images with constants.
This class is parameterized over the types of the three input images and the type of the output image.
This filter allows per-pixel operations to be specified in several ways:
A constant must be of the same type as the pixel type of the corresponding input image. It is wrapped in a SimpleDataObjectDecorator so it can be updated through the pipeline. The SetConstantN() and GetConstantN() methods are provided as shortcuts to set or get the constant value without manipulating the decorator.
Definition at line 54 of file itkTernaryGeneratorImageFilter.h.
Public Member Functions | |
virtual::itk::LightObject::Pointer | CreateAnother () const |
virtual const Input1ImagePixelType & | GetConstant1 () const |
virtual const Input2ImagePixelType & | GetConstant2 () const |
virtual const Input3ImagePixelType & | GetConstant3 () const |
const char * | GetNameOfClass () const override |
virtual void | SetConstant1 (const Input1ImagePixelType &input1) |
virtual void | SetConstant2 (const Input2ImagePixelType &input2) |
virtual void | SetConstant3 (const Input3ImagePixelType &input3) |
void | SetFunctor (const std::function< ValueFunctionType > &f) |
void | SetFunctor (ValueFunctionType *funcPointer) |
void | SetInput1 (const TInputImage1 *image1) |
virtual void | SetInput1 (const DecoratedInput1ImagePixelType *input1) |
virtual void | SetInput1 (const Input1ImagePixelType &input1) |
void | SetInput2 (const TInputImage2 *image2) |
virtual void | SetInput2 (const DecoratedInput2ImagePixelType *input2) |
virtual void | SetInput2 (const Input2ImagePixelType &input2) |
void | SetInput3 (const TInputImage3 *image3) |
virtual void | SetInput3 (const DecoratedInput3ImagePixelType *input3) |
virtual void | SetInput3 (const Input3ImagePixelType &input3) |
void | SetFunctor (const std::function< ConstRefFunctionType > &f) |
void | SetFunctor (ConstRefFunctionType *funcPointer) |
template<typename TFunctor> | |
void | SetFunctor (const TFunctor &functor) |
![]() | |
virtual bool | CanRunInPlace () const |
virtual bool | CanRunInPlace () const |
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 |
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 |
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 | Input1ImageDimension = TInputImage1::ImageDimension |
static constexpr unsigned int | Input2ImageDimension = TInputImage2::ImageDimension |
static constexpr unsigned int | Input3ImageDimension = TInputImage3::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 | |
std::function< void(const OutputImageRegionType &)> | m_DynamicThreadedGenerateDataFunction {} |
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::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 63 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::ConstRefFunctionType |
Definition at line 100 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::DecoratedInput1ImagePixelType = SimpleDataObjectDecorator<Input1ImagePixelType> |
Definition at line 76 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::DecoratedInput2ImagePixelType = SimpleDataObjectDecorator<Input2ImagePixelType> |
Definition at line 82 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::DecoratedInput3ImagePixelType = SimpleDataObjectDecorator<Input3ImagePixelType> |
Definition at line 88 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::FunctionType |
Definition at line 96 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::Input1ImagePixelType = typename Input1ImageType::PixelType |
Definition at line 75 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::Input1ImagePointer = typename Input1ImageType::ConstPointer |
Definition at line 73 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::Input1ImageRegionType = typename Input1ImageType::RegionType |
Definition at line 74 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::Input1ImageType = TInputImage1 |
Some type alias.
Definition at line 72 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::Input2ImagePixelType = typename Input2ImageType::PixelType |
Definition at line 81 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::Input2ImagePointer = typename Input2ImageType::ConstPointer |
Definition at line 79 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::Input2ImageRegionType = typename Input2ImageType::RegionType |
Definition at line 80 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::Input2ImageType = TInputImage2 |
Definition at line 78 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::Input3ImagePixelType = typename Input3ImageType::PixelType |
Definition at line 87 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::Input3ImagePointer = typename Input3ImageType::ConstPointer |
Definition at line 85 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::Input3ImageRegionType = typename Input3ImageType::RegionType |
Definition at line 86 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::Input3ImageType = TInputImage3 |
Definition at line 84 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::OutputImagePixelType = typename OutputImageType::PixelType |
Definition at line 93 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::OutputImagePointer = typename OutputImageType::Pointer |
Definition at line 91 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::OutputImageRegionType = typename OutputImageType::RegionType |
Definition at line 92 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::OutputImageType = TOutputImage |
Definition at line 90 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::Pointer = SmartPointer<Self> |
Definition at line 62 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::Self = TernaryGeneratorImageFilter |
Standard class type aliases.
Definition at line 60 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::Superclass = InPlaceImageFilter<TInputImage1, TOutputImage> |
Definition at line 61 of file itkTernaryGeneratorImageFilter.h.
using itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::ValueFunctionType = OutputImagePixelType(Input1ImagePixelType, Input2ImagePixelType, Input3ImagePixelType) |
Definition at line 103 of file itkTernaryGeneratorImageFilter.h.
|
protected |
|
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::Object.
Reimplemented in itk::TernaryMagnitudeImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >, itk::TernaryMagnitudeSquaredImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >, and itk::TernaryOperatorImageFilter< TMask, TImage >.
|
overrideprotectedvirtual |
TernaryGeneratorImageFilter 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 >.
|
protected |
TernaryGeneratorImageFilter 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"
|
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.
|
virtual |
Get the constant value of the first operand. An exception is thrown if the first operand is not a constant.
|
virtual |
Get the constant value of the second operand. An exception is thrown if the second operand is not a constant.
|
virtual |
Get the constant value of the second operand. An exception is throw if the second operand is not a constant.
|
overridevirtual |
Reimplemented from itk::InPlaceImageFilter< TInputImage1, TOutputImage >.
Reimplemented in itk::TernaryMagnitudeImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >, itk::TernaryMagnitudeSquaredImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >, and itk::TernaryOperatorImageFilter< TMask, TImage >.
|
static |
Method for creation through the object factory.
|
virtual |
Set the first operand as a constant.
|
virtual |
Set the second operand as a constant.
|
virtual |
Set the second operand as a constant.
|
inline |
Set the pixel functor
The functor defines an operation done per pixel.
Definition at line 166 of file itkTernaryGeneratorImageFilter.h.
Referenced by itk::TernaryAddImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::TernaryAddImageFilter(), itk::TernaryMagnitudeImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::TernaryMagnitudeImageFilter(), and itk::TernaryMagnitudeSquaredImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::TernaryMagnitudeSquaredImageFilter().
|
inline |
Definition at line 177 of file itkTernaryGeneratorImageFilter.h.
|
inline |
Set the pixel functor by a "Functor Object"
The functor defines an operation done per pixel. A single copy of the argument is created and used for all threads, so the functor must be concurrent thread-safe. The functor must have an operator() method which accepts arguments of Input1ImagePixelType, Input2ImagePixelType, and Input3ImagePixelType.
Definition at line 222 of file itkTernaryGeneratorImageFilter.h.
|
inline |
Set the pixel functor by a C function pointer
The functor defines an operation done per pixel.
Definition at line 192 of file itkTernaryGeneratorImageFilter.h.
|
inline |
Definition at line 202 of file itkTernaryGeneratorImageFilter.h.
|
virtual |
Connect one of the operands for pixel-wise operation.
|
virtual |
Connect one of the operands for pixel-wise operation.
void itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::SetInput1 | ( | const TInputImage1 * | image1 | ) |
Connect one of the operands for pixel-wise operation.
|
virtual |
Connect one of the operands for pixel-wise operation.
|
virtual |
Connect one of the operands for pixel-wise operation.
void itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::SetInput2 | ( | const TInputImage2 * | image2 | ) |
Connect one of the operands for pixel-wise operation.
|
virtual |
Connect one of the operands for pixel-wise operation.
|
virtual |
Connect one of the operands for pixel-wise operation.
void itk::TernaryGeneratorImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >::SetInput3 | ( | const TInputImage3 * | image3 | ) |
Connect one of the operands for pixel-wise operation.
|
staticconstexpr |
Image dimensions
Definition at line 235 of file itkTernaryGeneratorImageFilter.h.
|
staticconstexpr |
Definition at line 236 of file itkTernaryGeneratorImageFilter.h.
|
staticconstexpr |
Definition at line 237 of file itkTernaryGeneratorImageFilter.h.
|
private |
Definition at line 270 of file itkTernaryGeneratorImageFilter.h.
|
staticconstexpr |
Definition at line 238 of file itkTernaryGeneratorImageFilter.h.