SimpleITK
|
Pixel-wise addition of two images. More...
#include <sitkAddImageFilter.h>
Pixel-wise addition of two images.
This class is templated over the types of the two input images and the type of the output image. Numeric conversions (castings) are done by the C++ defaults.
The pixel type of the input 1 image must have a valid definition of the operator+ with a pixel type of the image 2. This condition is required because internally this filter will perform the operation
Additionally the type resulting from the sum, will be cast to the pixel type of the output image.
The total operation over one pixel will be
For example, this filter could be used directly for adding images whose pixels are vectors of the same dimension, and to store the resulting vector in an output image of vector pixels.
The images to be added are set using the methods:
Additionally, this filter can be used to add a constant to every pixel of an image by using
Definition at line 77 of file sitkAddImageFilter.h.
Public Types | |
using | PixelIDTypeList = NonLabelPixelIDTypeList |
using | Self = AddImageFilter |
Public Types inherited from itk::simple::ImageFilter | |
using | Self = ImageFilter |
Public Types inherited from itk::simple::ProcessObject | |
using | Self = ProcessObject |
Public Member Functions | |
AddImageFilter () | |
Image | Execute (const Image &image1, const Image &image2) |
Image | Execute (const Image &image1, double constant) |
Image | Execute (double constant, const Image &image2) |
Image | Execute (Image &&image1, const Image &image2) |
Image | Execute (Image &&image1, double constant) |
std::string | GetName () const |
std::string | ToString () const |
virtual | ~AddImageFilter () |
Public Member Functions inherited from itk::simple::ImageFilter | |
ImageFilter () | |
virtual | ~ImageFilter ()=0 |
Public Member Functions inherited from itk::simple::ProcessObject | |
virtual void | Abort () |
virtual int | AddCommand (itk::simple::EventEnum event, const std::function< void()> &func) |
Directly add a callback to observe an event. More... | |
virtual int | AddCommand (itk::simple::EventEnum event, itk::simple::Command &cmd) |
Add a Command Object to observer the event. More... | |
virtual float | GetProgress () const |
An Active Measurement of the progress of execution. More... | |
virtual bool | HasCommand (itk::simple::EventEnum event) const |
Query of this object has any registered commands for event. More... | |
ProcessObject () | |
virtual void | RemoveAllCommands () |
Remove all registered commands. More... | |
virtual | ~ProcessObject () |
virtual void | DebugOn () |
virtual void | DebugOff () |
virtual bool | GetDebug () const |
virtual void | SetDebug (bool debugFlag) |
virtual void | SetNumberOfThreads (unsigned int n) |
virtual unsigned int | GetNumberOfThreads () const |
virtual void | SetNumberOfWorkUnits (unsigned int n) |
virtual unsigned int | GetNumberOfWorkUnits () const |
Private Types | |
using | MemberFunction1Type = Image(Self::*)(double constant, const Image &image2) |
using | MemberFunction2Type = Image(Self::*)(const Image &image1, double constant) |
using | MemberFunctionType = Image(Self::*)(const Image &image1, const Image &image2) |
Private Member Functions | |
template<class TImageType > | |
Image | ExecuteInternal (const Image &image1, const Image &image2) |
template<class TImageType > | |
Image | ExecuteInternal (const Image &image1, double constant) |
template<class TImageType > | |
Image | ExecuteInternal (double constant, const Image &image2) |
Private Attributes | |
bool | m_InPlace {false} |
std::unique_ptr< detail::MemberFunctionFactory< MemberFunctionType > > | m_MemberFactory |
std::unique_ptr< detail::MemberFunctionFactory< MemberFunction1Type > > | m_MemberFactory1 |
std::unique_ptr< detail::MemberFunctionFactory< MemberFunction2Type > > | m_MemberFactory2 |
Friends | |
struct | detail::MemberFunctionAddressor< MemberFunction1Type > |
struct | detail::MemberFunctionAddressor< MemberFunction2Type > |
struct | detail::MemberFunctionAddressor< MemberFunctionType > |
Additional Inherited Members | |
Static Public Member Functions inherited from itk::simple::ProcessObject | |
static bool | GetGlobalDefaultDebug () |
static void | GlobalDefaultDebugOff () |
static void | GlobalDefaultDebugOn () |
static void | SetGlobalDefaultDebug (bool debugFlag) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static void | SetGlobalWarningDisplay (bool flag) |
static bool | GetGlobalWarningDisplay () |
static double | GetGlobalDefaultCoordinateTolerance () |
Access the global tolerance to determine congruent spaces. More... | |
static void | SetGlobalDefaultCoordinateTolerance (double) |
Access the global tolerance to determine congruent spaces. More... | |
static double | GetGlobalDefaultDirectionTolerance () |
Access the global tolerance to determine congruent spaces. More... | |
static void | SetGlobalDefaultDirectionTolerance (double) |
Access the global tolerance to determine congruent spaces. More... | |
static bool | SetGlobalDefaultThreader (const std::string &threader) |
Set/Get the default threader used for process objects. More... | |
static std::string | GetGlobalDefaultThreader () |
Set/Get the default threader used for process objects. More... | |
static void | SetGlobalDefaultNumberOfThreads (unsigned int n) |
static unsigned int | GetGlobalDefaultNumberOfThreads () |
Set/Get the default threader used for process objects. More... | |
Protected Member Functions inherited from itk::simple::ImageFilter | |
void | CheckImageMatchingDimension (const Image &image1, const Image &image2, const std::string &image2Name) |
void | CheckImageMatchingPixelType (const Image &image1, const Image &image2, const std::string &image2Name) |
void | CheckImageMatchingSize (const Image &image1, const Image &image2, const std::string &image2Name) |
Protected Member Functions inherited from itk::simple::ProcessObject | |
virtual unsigned long | AddITKObserver (const itk::EventObject &, itk::Command *) |
virtual itk::ProcessObject * | GetActiveProcess () |
virtual void | OnActiveProcessDelete () |
virtual void | onCommandDelete (const itk::simple::Command *cmd) noexcept |
virtual void | PreUpdate (itk::ProcessObject *p) |
virtual void | RemoveITKObserver (EventCommand &e) |
Protected Member Functions inherited from itk::simple::NonCopyable | |
NonCopyable ()=default | |
NonCopyable (const NonCopyable &)=delete | |
NonCopyable & | operator= (const NonCopyable &)=delete |
Static Protected Member Functions inherited from itk::simple::ImageFilter | |
template<class TImageType > | |
static void | FixNonZeroIndex (TImageType *img) |
Static Protected Member Functions inherited from itk::simple::ProcessObject | |
template<class TImageType > | |
static TImageType::ConstPointer | CastImageToITK (const Image &img) |
template<class TPixelType , unsigned int VImageDimension, unsigned int VLength, template< typename, unsigned int > class TVector> | |
static Image | CastITKToImage (itk::Image< TVector< TPixelType, VLength >, VImageDimension > *img) |
template<unsigned int VImageDimension, unsigned int VLength, template< unsigned int > class TVector> | |
static Image | CastITKToImage (itk::Image< TVector< VLength >, VImageDimension > *img) |
template<class TImageType > | |
static Image | CastITKToImage (TImageType *img) |
static const itk::EventObject & | GetITKEventObject (EventEnum e) |
template<typename T > | |
static std::ostream & | ToStringHelper (std::ostream &os, const T &v) |
static std::ostream & | ToStringHelper (std::ostream &os, const char &v) |
static std::ostream & | ToStringHelper (std::ostream &os, const signed char &v) |
static std::ostream & | ToStringHelper (std::ostream &os, const unsigned char &v) |
|
private |
Definition at line 125 of file sitkAddImageFilter.h.
|
private |
Definition at line 130 of file sitkAddImageFilter.h.
|
private |
Setup for member function dispatching
Definition at line 118 of file sitkAddImageFilter.h.
Define the pixels types supported by this filter
Definition at line 89 of file sitkAddImageFilter.h.
Definition at line 79 of file sitkAddImageFilter.h.
|
virtual |
Destructor
itk::simple::AddImageFilter::AddImageFilter | ( | ) |
Default Constructor that takes no arguments and initializes default parameters
Execute the filter with an image and a constant
Execute the filter on the input images
|
private |
|
private |
|
private |
|
inlinevirtual |
Name of this class
Implements itk::simple::ProcessObject.
Definition at line 94 of file sitkAddImageFilter.h.
|
virtual |
Print ourselves out
Reimplemented from itk::simple::ProcessObject.
|
friend |
Definition at line 127 of file sitkAddImageFilter.h.
|
friend |
Definition at line 132 of file sitkAddImageFilter.h.
|
friend |
Definition at line 122 of file sitkAddImageFilter.h.
|
private |
Definition at line 137 of file sitkAddImageFilter.h.
|
private |
Definition at line 124 of file sitkAddImageFilter.h.
|
private |
Definition at line 128 of file sitkAddImageFilter.h.
|
private |
Definition at line 133 of file sitkAddImageFilter.h.