18#ifndef itkImageFullSampler_h
19#define itkImageFullSampler_h
37template <
typename TInputImage>
56 using typename Superclass::DataObjectPointer;
131 template <elastix::MaskCondition VMaskCondition>
132 static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION
136 static std::vector<WorkUnit>
139 std::vector<ImageSampleType> & samples);
145 std::vector<ImageSampleType> & samples);
148 const ThreadIdType numberOfWorkUnits,
149 const TInputImage & inputImage,
152 std::vector<ImageSampleType> & samples);
155 template <elastix::MaskCondition VMaskCondition>
162#ifndef ITK_MANUAL_INSTANTIATION
163# include "itkImageFullSampler.hxx"
static void SingleThreadedGenerateData(const TInputImage &inputImage, const MaskType *const mask, const InputImageRegionType &croppedInputImageRegion, std::vector< ImageSampleType > &samples)
itkStaticConstMacro(InputImageDimension, unsigned int, Superclass::InputImageDimension)
ImageSample< InputImageType > ImageSampleType
static void GenerateDataForWorkUnit(WorkUnit &, const InputImageType &, const MaskType *)
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION ThreaderCallback(void *arg)
itkOverrideGetNameOfClassMacro(ImageFullSampler)
ImageSamplerBase< TInputImage > Superclass
SmartPointer< Self > Pointer
~ImageFullSampler() override=default
static std::vector< WorkUnit > GenerateWorkUnits(const ThreadIdType numberOfWorkUnits, const InputImageRegionType &croppedInputImageRegion, std::vector< ImageSampleType > &samples)
TInputImage InputImageType
ITK_DISALLOW_COPY_AND_MOVE(ImageFullSampler)
void GenerateData() override
typename InputImageType::RegionType InputImageRegionType
typename Superclass::MaskType MaskType
bool SelectNewSamplesOnUpdate() override
bool SelectingNewSamplesOnUpdateSupported() const override
SmartPointer< const Self > ConstPointer
ImageFullSampler()=default
static void MultiThreadedGenerateData(MultiThreaderBase &multiThreader, const ThreadIdType numberOfWorkUnits, const TInputImage &inputImage, const MaskType *const mask, const InputImageRegionType &croppedInputImageRegion, std::vector< ImageSampleType > &samples)
typename InputImageType::SizeType InputImageSizeType
typename OutputVectorContainerType::Pointer OutputVectorContainerPointer
VectorDataContainer< ImageSampleType > ImageSampleContainerType
typename InputImageType::ConstPointer InputImageConstPointer
ImageSample< InputImageType > ImageSampleType
typename InputImageType::PointType InputImagePointType
void PrintSelf(std::ostream &os, Indent indent) const override
InputImageType InputImageType
typename InputImageType::IndexType InputImageIndexType
typename InputImageType::RegionType InputImageRegionType
typename ImageSampleContainerType::Pointer ImageSampleContainerPointer
VectorDataContainer< ImageSample< InputImageType > > OutputVectorContainerType
typename InputImageType::Pointer InputImagePointer
ImageMaskSpatialObject< Self::InputImageDimension > MaskType
typename InputImageType::PixelType InputImagePixelType
const InputImageType & InputImage
const MaskType *const Mask
std::vector< WorkUnit > WorkUnits
const InputImageRegionType imageRegion
vcl_size_t NumberOfSamples
ImageSampleType *const Samples