SimpleITK
|
Paste an image (or a constant value) into another image. More...
#include <sitkPasteImageFilter.h>
Paste an image (or a constant value) into another image.
PasteImageFilter allows a region in a destination image to be filled with a source image or a constant pixel value. The SetDestinationIndex() method prescribes where in the destination input to start pasting data from the source input. The SetSourceRegion method prescribes the section of the second image to paste into the first. When a constant pixel value is set, the SourceRegion describes the size of the region filled. If the output requested region does not include the SourceRegion after it has been repositioned to DestinationIndex, then the output will just be a copy of the input.
This filter supports running "InPlace" to efficiently reuses the destination image buffer for the output, removing the need to copy the destination pixels to the output.
When the source image is a lower dimension than the destination image then the DestinationSkipAxes parameter specifies which axes in the destination image are set to 1 when copying the region or filling with a constant.
Definition at line 55 of file sitkPasteImageFilter.h.
Public Types | |
using | PixelIDTypeList = NonLabelPixelIDTypeList |
using | Self = PasteImageFilter |
Public Types inherited from itk::simple::ImageFilter | |
using | Self = ImageFilter |
Public Types inherited from itk::simple::ProcessObject | |
using | Self = ProcessObject |
Public Member Functions | |
Image | Execute (const Image &destinationImage, const Image &sourceImage) |
Image | Execute (const Image &destinationImage, double constant) |
Image | Execute (Image &&destinationImage, const Image &sourceImage) |
Image | Execute (Image &&destinationImage, double constant) |
std::vector< int > | GetDestinationIndex () const |
std::vector< bool > | GetDestinationSkipAxes () const |
std::string | GetName () const |
std::vector< int > | GetSourceIndex () const |
std::vector< unsigned int > | GetSourceSize () const |
PasteImageFilter () | |
Self & | SetDestinationIndex (std::vector< int > DestinationIndex) |
Self & | SetDestinationSkipAxes (std::vector< bool > DestinationSkipAxes) |
Self & | SetSourceIndex (std::vector< int > SourceIndex) |
Self & | SetSourceSize (std::vector< unsigned int > SourceSize) |
std::string | ToString () const |
virtual | ~PasteImageFilter () |
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 | MemberFunction2Type = Image(Self::*)(const Image *image, double constant) |
using | MemberFunctionType = Image(Self::*)(const Image *destinationImage, const Image *sourceImage) |
Private Member Functions | |
template<class TImageType > | |
Image | ExecuteInternal (const Image *destinationImage, const Image *sourceImage) |
template<class TImageType > | |
Image | ExecuteInternal (const Image *image, double constant) |
template<class TImageType > | |
Image | ExecuteInternal (const TImageType *destinationImage, const Image *sourceImage, std::integral_constant< unsigned int, 1 > meta) |
template<class TImageType , unsigned int OutputDimension> | |
Image | ExecuteInternal (const TImageType *destinationImage, const Image *sourceImage, std::integral_constant< unsigned int, OutputDimension > meta) |
Private Attributes | |
std::vector< int > | m_DestinationIndex { std::vector<int>(SITK_MAX_DIMENSION, 0) } |
std::vector< bool > | m_DestinationSkipAxes {} |
bool | m_InPlace { false } |
std::unique_ptr< detail::MemberFunctionFactory< MemberFunctionType > > | m_MemberFactory |
std::unique_ptr< detail::MemberFunctionFactory< MemberFunction2Type > > | m_MemberFactory2 |
std::vector< int > | m_SourceIndex { std::vector<int>(SITK_MAX_DIMENSION, 0) } |
std::vector< unsigned int > | m_SourceSize { std::vector<unsigned int>(SITK_MAX_DIMENSION, 1) } |
Friends | |
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 204 of file sitkPasteImageFilter.h.
|
private |
Setup for member function dispatching
Definition at line 183 of file sitkPasteImageFilter.h.
Define the pixels types supported by this filter
Definition at line 68 of file sitkPasteImageFilter.h.
Definition at line 58 of file sitkPasteImageFilter.h.
|
virtual |
Destructor
itk::simple::PasteImageFilter::PasteImageFilter | ( | ) |
Default Constructor that takes no arguments and initializes default parameters
Image itk::simple::PasteImageFilter::Execute | ( | const Image & | destinationImage, |
const Image & | sourceImage | ||
) |
Image itk::simple::PasteImageFilter::Execute | ( | Image && | destinationImage, |
const Image & | sourceImage | ||
) |
Execute the filter on the input image
|
private |
|
private |
|
private |
|
private |
|
inline |
Set/Get the destination index (where in the first input the second input will be pasted.
Definition at line 119 of file sitkPasteImageFilter.h.
|
inline |
Set/Get the array describing which axes in the destination image to skip
The axes with true values are set to 1, to fill the difference between the dimension of the input and source image. The number of true values in DestinationSkipAxes plus the DestinationImageDimension must equal the InputImageDimension.
By default this array contains SourceImageDimension false values followed by true values for the remainder.
Definition at line 149 of file sitkPasteImageFilter.h.
|
inlinevirtual |
Name of this class
Implements itk::simple::ProcessObject.
Definition at line 157 of file sitkPasteImageFilter.h.
|
inline |
Definition at line 100 of file sitkPasteImageFilter.h.
|
inline |
Definition at line 83 of file sitkPasteImageFilter.h.
|
inline |
Set/Get the destination index (where in the first input the second input will be pasted.
Definition at line 109 of file sitkPasteImageFilter.h.
|
inline |
Set/Get the array describing which axes in the destination image to skip
The axes with true values are set to 1, to fill the difference between the dimension of the input and source image. The number of true value in DestinationSkipAxes plus the DestinationImageDimension must equal the InputImageDimension.
By default this array contains SourceImageDimension false values followed by true values for the remainder.
Definition at line 134 of file sitkPasteImageFilter.h.
|
inline |
Definition at line 91 of file sitkPasteImageFilter.h.
|
inline |
Definition at line 74 of file sitkPasteImageFilter.h.
|
virtual |
Print ourselves out
Reimplemented from itk::simple::ProcessObject.
|
friend |
Definition at line 208 of file sitkPasteImageFilter.h.
|
friend |
Definition at line 200 of file sitkPasteImageFilter.h.
|
private |
Definition at line 216 of file sitkPasteImageFilter.h.
|
private |
Definition at line 218 of file sitkPasteImageFilter.h.
|
private |
Definition at line 220 of file sitkPasteImageFilter.h.
|
private |
Definition at line 202 of file sitkPasteImageFilter.h.
|
private |
Definition at line 209 of file sitkPasteImageFilter.h.
|
private |
Definition at line 214 of file sitkPasteImageFilter.h.
|
private |
Definition at line 212 of file sitkPasteImageFilter.h.