ITK
6.0.0
Insight Toolkit
|
#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 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) |
Public Member Functions inherited from itk::InPlaceImageFilter< TInputImage1, TOutputImage > | |
virtual bool | CanRunInPlace () const |
const char * | GetNameOfClass () const override |
virtual void | SetInPlace (bool _arg) |
virtual bool | GetInPlace () const |
virtual void | InPlaceOn () |
Public Member Functions inherited from itk::ImageToImageFilter< TInputImage1, TOutputImage > | |
const InputImageType * | GetInput () const |
const InputImageType * | GetInput (unsigned int idx) const |
const char * | GetNameOfClass () const override |
void | PopBackInput () override |
void | PopFrontInput () override |
virtual void | PushBackInput (const InputImageType *input) |
virtual void | PushFrontInput (const InputImageType *input) |
virtual void | SetInput (const DataObjectIdentifierType &key, DataObject *input) |
virtual void | SetInput (const InputImageType *input) |
virtual void | SetInput (unsigned int, const TInputImage1 *image) |
virtual void | SetCoordinateTolerance (double _arg) |
virtual double | GetCoordinateTolerance () const |
virtual void | SetDirectionTolerance (double _arg) |
virtual double | GetDirectionTolerance () const |
Public Member Functions inherited from itk::ImageSource< TOutputImage > | |
const char * | GetNameOfClass () const override |
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 |
Public Member Functions inherited from itk::ProcessObject | |
virtual void | AbortGenerateDataOn () |
virtual void | EnlargeOutputRequestedRegion (DataObject *) |
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 DataObjectPointer | MakeOutput (const DataObjectIdentifierType &) |
virtual DataObjectPointer | MakeOutput (DataObjectPointerArraySizeType idx) |
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 | SetNumberOfWorkUnits (ThreadIdType _arg) |
virtual const ThreadIdType & | GetNumberOfWorkUnits () const |
Public Member Functions inherited from itk::Object | |
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 |
const char * | GetNameOfClass () const override |
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 |
Public Member Functions inherited from itk::LightObject | |
Pointer | Clone () const |
virtual Pointer | CreateAnother () const |
virtual void | Delete () |
virtual const char * | GetNameOfClass () const |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
virtual void | Register () const |
virtual void | SetReferenceCount (int) |
virtual void | UnRegister () const noexcept |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::ImageToImageFilter< TInputImage1, TOutputImage > | |
static double | GetGlobalDefaultCoordinateTolerance () |
static double | GetGlobalDefaultDirectionTolerance () |
static void | SetGlobalDefaultCoordinateTolerance (double) |
static void | SetGlobalDefaultDirectionTolerance (double) |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
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 Public Attributes inherited from itk::InPlaceImageFilter< TInputImage1, TOutputImage > | |
static constexpr unsigned int | InputImageDimension |
static constexpr unsigned int | OutputImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage1, TOutputImage > | |
static constexpr unsigned int | InputImageDimension |
static constexpr unsigned int | OutputImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Private Attributes | |
std::function< void(const OutputImageRegionType &)> | m_DynamicThreadedGenerateDataFunction {} |
Additional Inherited Members | |
Protected Types inherited from itk::ImageToImageFilter< TInputImage1, TOutputImage > | |
using | InputToOutputRegionCopierType = ImageToImageFilterDetail::ImageRegionCopier< Self::OutputImageDimension, Self::InputImageDimension > |
using | OutputToInputRegionCopierType = ImageToImageFilterDetail::ImageRegionCopier< Self::InputImageDimension, Self::OutputImageDimension > |
Static Protected Member Functions inherited from itk::ImageSource< TOutputImage > | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ThreaderCallback (void *arg) |
Static Protected Member Functions inherited from itk::ProcessObject | |
template<typename TSourceObject > | |
static void | MakeRequiredOutputs (TSourceObject &sourceObject, const DataObjectPointerArraySizeType numberOfRequiredOutputs) |
static constexpr float | progressFixedToFloat (uint32_t fixed) |
static uint32_t | progressFloatToFixed (float f) |
Protected Attributes inherited from itk::ImageSource< TOutputImage > | |
bool | m_DynamicMultiThreading { true } |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime {} |
bool | m_Updating {} |
Protected Attributes inherited from itk::LightObject | |
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 = OutputImagePixelType(const Input1ImagePixelType &, const Input2ImagePixelType &, const Input3ImagePixelType &) |
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 = OutputImagePixelType (*)(const Input1ImagePixelType &, const Input2ImagePixelType &, const Input3ImagePixelType &) |
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 |
|
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::ImageSource< TOutputImage >.
Reimplemented in itk::TernaryAddImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >, itk::TernaryMagnitudeImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >, and itk::TernaryMagnitudeSquaredImageFilter< TInputImage1, TInputImage2, TInputImage3, TOutputImage >.
|
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::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 274 of file itkTernaryGeneratorImageFilter.h.
|
staticconstexpr |
Definition at line 238 of file itkTernaryGeneratorImageFilter.h.