18#ifndef itkImageSamplerBase_h
19#define itkImageSamplerBase_h
24#include "itkImageMaskSpatialObject.h"
41template <
class TInputImage>
61 using typename Superclass::DataObjectPointer;
84 using MaskType = ImageMaskSpatialObject<Self::InputImageDimension>;
92 MakeOutput(ProcessObject::DataObjectPointerArraySizeType idx)
override;
134 virtual const MaskType *
150 itkGetConstMacro(NumberOfMasks,
unsigned int);
167 virtual const InputImageRegionType &
183 itkGetConstMacro(NumberOfInputImageRegions,
unsigned int);
206 itkSetClampMacro(NumberOfSamples,
unsigned long, 1, NumericTraits<unsigned long>::max());
207 itkGetConstMacro(NumberOfSamples,
unsigned long);
210 itkSetMacro(UseMultiThread,
bool);
221 PrintSelf(std::ostream & os, Indent indent)
const override;
246 static std::vector<InputImageRegionType>
258 using ProcessObject::MakeOutput;
259 using ProcessObject::SetInput;
275#ifndef ITK_MANUAL_INSTANTIATION
276# include "itkImageSamplerBase.hxx"
TInputImage InputImageType
A class that defines an image sample, which is the coordinates of a point and its value.
typename NumericTraits< PixelType >::RealType RealType
void SetInput(unsigned int idx, const InputImageType *input)
std::vector< InputImageRegionType > InputImageRegionVectorType
virtual const InputImageRegionType & GetInputImageRegion() const
virtual const MaskType * GetMask(unsigned int pos) const
const InputImageType * GetInput(unsigned int idx)
virtual bool CheckInputImageRegions()
DataObject::Pointer MakeOutput(ProcessObject::DataObjectPointerArraySizeType idx) override
~ImageSamplerBase() override=default
void GenerateInputRequestedRegion() override
void CropInputImageRegion()
VectorDataContainer< std::vcl_size_t, ImageSample< FixedImageType > > OutputVectorContainerType
typename InputImageType::ConstPointer InputImageConstPointer
unsigned long m_NumberOfSamples
const InputImageType * GetInput()
virtual void UpdateAllMasks()
InputImageRegionType m_CroppedInputImageRegion
virtual void SetMask(const MaskType *_arg, unsigned int pos)
ImageSample< InputImageType > ImageSampleType
virtual const InputImageRegionType & GetInputImageRegion(unsigned int pos) const
virtual bool IsInsideAllMasks(const InputImagePointType &point) const
MaskVectorType m_MaskVector
virtual const MaskType * GetMask() const
OutputVectorContainerType * GetOutput()
static std::vector< InputImageRegionType > SplitRegion(const InputImageRegionType &inputRegion, const vcl_size_t requestedNumberOfSubregions)
VectorDataContainer< std::vcl_size_t, ImageSampleType > ImageSampleContainerType
InputImageRegionType m_InputImageRegion
void SetInput(const InputImageType *input)
typename InputImageType::PointType InputImagePointType
virtual void SetMask(const MaskType *_arg)
virtual void SetInputImageRegion(const InputImageRegionType _arg)
void PrintSelf(std::ostream &os, Indent indent) const override
typename InputImageType::SizeType InputImageSizeType
InputImageRegionVectorType m_InputImageRegionVector
SmartPointer< Self > Pointer
virtual void SetNumberOfMasks(const unsigned int _arg)
ITK_DISALLOW_COPY_AND_MOVE(ImageSamplerBase)
itkStaticConstMacro(InputImageDimension, unsigned int, InputImageType::ImageDimension)
unsigned int m_NumberOfInputImageRegions
typename MaskType::ConstPointer MaskConstPointer
typename InputImagePointType::ValueType InputImagePointValueType
FixedImageType InputImageType
virtual void SetNumberOfInputImageRegions(const unsigned int _arg)
std::vector< MaskConstPointer > MaskVectorType
typename ImageSampleType::RealType ImageSampleValueType
typename InputImageType::IndexType InputImageIndexType
InputImageRegionType m_DummyInputImageRegion
SmartPointer< const Self > ConstPointer
unsigned int m_NumberOfMasks
typename InputImageType::RegionType InputImageRegionType
virtual bool SelectingNewSamplesOnUpdateSupported() const
typename ImageSampleContainerType::Pointer ImageSampleContainerPointer
virtual void SetInputImageRegion(const InputImageRegionType _arg, unsigned int pos)
typename MaskType::Pointer MaskPointer
typename InputImageType::Pointer InputImagePointer
ImageMaskSpatialObject< Self::InputImageDimension > MaskType
VectorContainerSource< VectorDataContainer< std::vcl_size_t, ImageSample< FixedImageType > > > Superclass
typename InputImageType::PixelType InputImagePixelType
virtual bool SelectNewSamplesOnUpdate()
VectorDataContainer< std::vcl_size_t, ImageSample< TInputImage > > OutputVectorContainerType
typename OutputVectorContainerType::Pointer OutputVectorContainerPointer
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
SmartPointer< Self > Pointer