go home Home | Main Page | Topics | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elastix::RandomSamplerSparseMask< TElastix > Class Template Reference

#include <elxRandomSamplerSparseMask.h>

Detailed Description

template<typename TElastix>
class elastix::RandomSamplerSparseMask< TElastix >

An interpolator based on the itk::ImageRandomSamplerSparseMask.

This image sampler randomly samples 'NumberOfSamples' voxels in the InputImageRegion. Voxels may be selected multiple times. If a mask is given, the sampler tries to find samples within the mask. If the mask is very sparse, this image sampler is a better choice than the random sampler.

Todo
Write something similar for the RandomCoordinate sampler.

This sampler is suitable to used in combination with the NewSamplesEveryIteration parameter (defined in the elx::OptimizerBase).

The parameters used in this class are:

Parameters

ImageSampler: Select this image sampler as follows:
(ImageSampler "RandomSparseMask")

NumberOfSpatialSamples: The number of image voxels used for computing the metric value and its derivative in each iteration. Must be given for each resolution.
example: (NumberOfSpatialSamples 2048 2048 4000)
The default is 5000.

Definition at line 54 of file elxRandomSamplerSparseMask.h.

Inheritance diagram for elastix::RandomSamplerSparseMask< TElastix >:

Public Types

using ConstPointer = itk::SmartPointer<const Self>
using ITKBaseType = typename Superclass2::ITKBaseType
using Pointer = itk::SmartPointer<Self>
using Self = RandomSamplerSparseMask
using Superclass1 = itk::ImageRandomSamplerSparseMask<typename elx::ImageSamplerBase<TElastix>::InputImageType>
using Superclass2 = elx::ImageSamplerBase<TElastix>
Public Types inherited from itk::ImageRandomSamplerSparseMask< TInputImage >
using ConstPointer = SmartPointer<const Self>
using ImageSampleContainerPointer
using ImageSampleContainerType
using ImageSampleType
using InputImageConstPointer
using InputImageIndexType = typename InputImageType::IndexType
using InputImagePixelType
using InputImagePointer
using InputImagePointType = typename InputImageType::PointType
using InputImageRegionType
using InputImageType
using MaskType
using Pointer = SmartPointer<Self>
using RandomGeneratorPointer = typename RandomGeneratorType::Pointer
using RandomGeneratorType = itk::Statistics::MersenneTwisterRandomVariateGenerator
using Self = ImageRandomSamplerSparseMask
using Superclass = ImageRandomSamplerBase<TInputImage>
Public Types inherited from itk::ImageRandomSamplerBase< TInputImage >
using ConstPointer = SmartPointer<const Self>
using ImageSampleContainerPointer
using ImageSampleContainerType
using ImageSampleType
using InputImageConstPointer
using InputImagePixelType
using InputImagePointer
using InputImageRegionType
using InputImageType
using MaskType
using Pointer = SmartPointer<Self>
using SeedIntegerType = Statistics::MersenneTwisterRandomVariateGenerator::IntegerType
using Self = ImageRandomSamplerBase
using Superclass = ImageSamplerBase<TInputImage>
Public Types inherited from itk::ImageSamplerBase< TInputImage >
using ConstPointer = SmartPointer<const Self>
using ImageSampleContainerPointer = typename ImageSampleContainerType::Pointer
using ImageSampleContainerType = VectorDataContainer<ImageSampleType>
using ImageSampleType = ImageSample<InputImageType>
using ImageSampleValueType = typename ImageSampleType::RealType
using InputImageConstPointer = typename InputImageType::ConstPointer
using InputImageIndexType = typename InputImageType::IndexType
using InputImagePixelType = typename InputImageType::PixelType
using InputImagePointer = typename InputImageType::Pointer
using InputImagePointType = typename InputImageType::PointType
using InputImagePointValueType = typename InputImagePointType::ValueType
using InputImageRegionType = typename InputImageType::RegionType
using InputImageRegionVectorType = std::vector<InputImageRegionType>
using InputImageSizeType = typename InputImageType::SizeType
using InputImageType = TInputImage
using MaskConstPointer = typename MaskType::ConstPointer
using MaskPointer = typename MaskType::Pointer
using MaskType = ImageMaskSpatialObject<Self::InputImageDimension>
using MaskVectorType = std::vector<MaskConstPointer>
using OutputVectorContainerPointer
using OutputVectorContainerType
using Pointer = SmartPointer<Self>
using Self = ImageSamplerBase
using Superclass = VectorContainerSource<VectorDataContainer<ImageSample<TInputImage>>>
Public Types inherited from itk::VectorContainerSource< VectorDataContainer< ImageSample< TInputImage > > >
using ConstPointer
using OutputVectorContainerPointer
using OutputVectorContainerType
using Pointer
using Self
using Superclass
Public Types inherited from itk::ImageSamplerBase< TElastix >
using ConstPointer
using ImageSampleContainerPointer
using ImageSampleContainerType
using ImageSampleType
using ImageSampleValueType
using InputImageConstPointer
using InputImageIndexType
using InputImagePixelType
using InputImagePointer
using InputImagePointType
using InputImagePointValueType
using InputImageRegionType
using InputImageRegionVectorType
using InputImageSizeType
using InputImageType
using MaskConstPointer
using MaskPointer
using MaskType
using MaskVectorType
typedef typename OutputVectorContainerType::Pointer OutputVectorContainerPointer
typedef VectorDataContainer< ImageSample< TElastix > > OutputVectorContainerType
using Pointer
using Self
using Superclass
Public Types inherited from itk::VectorContainerSource< TOutputVectorContainer >
using ConstPointer = SmartPointer<const Self>
using OutputVectorContainerPointer = typename OutputVectorContainerType::Pointer
using OutputVectorContainerType = TOutputVectorContainer
using Pointer = SmartPointer<Self>
using Self = VectorContainerSource
using Superclass = ProcessObject

Public Member Functions

void BeforeEachResolution () override
 elxClassNameMacro ("RandomSparseMask")
 ITK_DISALLOW_COPY_AND_MOVE (RandomSamplerSparseMask)
 itkOverrideGetNameOfClassMacro (RandomSamplerSparseMask)
 itkStaticConstMacro (InputImageDimension, unsigned int, Superclass1::InputImageDimension)
Public Member Functions inherited from itk::ImageRandomSamplerSparseMask< TInputImage >
 ITK_DISALLOW_COPY_AND_MOVE (ImageRandomSamplerSparseMask)
 itkOverrideGetNameOfClassMacro (ImageRandomSamplerSparseMask)
 itkStaticConstMacro (InputImageDimension, unsigned int, Superclass::InputImageDimension)
Public Member Functions inherited from itk::ImageRandomSamplerBase< TInputImage >
std::optional< SeedIntegerTypeGetOptionalSeed () const
 ITK_DISALLOW_COPY_AND_MOVE (ImageRandomSamplerBase)
 itkOverrideGetNameOfClassMacro (ImageRandomSamplerBase)
 itkStaticConstMacro (InputImageDimension, unsigned int, Superclass::InputImageDimension)
void SetOptionalSeed (const std::optional< SeedIntegerType > arg)
void SetRandomVariateGenerator (Statistics::MersenneTwisterRandomVariateGenerator &randomVariateGenerator)
void SetSeed (const SeedIntegerType arg)
Public Member Functions inherited from itk::ImageSamplerBase< TInputImage >
virtual const InputImageRegionTypeGetCroppedInputImageRegion ()
const InputImageTypeGetInput ()
const InputImageTypeGetInput (unsigned int idx)
virtual const InputImageRegionTypeGetInputImageRegion () const
virtual const InputImageRegionTypeGetInputImageRegion (unsigned int pos) const
virtual const MaskTypeGetMask () const
virtual const MaskTypeGetMask (unsigned int pos) const
virtual unsigned int GetNumberOfInputImageRegions () const
virtual unsigned int GetNumberOfMasks () const
virtual unsigned long GetNumberOfSamples () const
OutputVectorContainerTypeGetOutput ()
 ITK_DISALLOW_COPY_AND_MOVE (ImageSamplerBase)
 itkOverrideGetNameOfClassMacro (ImageSamplerBase)
 itkStaticConstMacro (InputImageDimension, unsigned int, InputImageType::ImageDimension)
DataObject::Pointer MakeOutput (ProcessObject::DataObjectPointerArraySizeType idx) override
virtual bool SelectingNewSamplesOnUpdateSupported () const
virtual bool SelectNewSamplesOnUpdate ()
void SetInput (const InputImageType *input)
void SetInput (unsigned int idx, const InputImageType *input)
virtual void SetInputImageRegion (const InputImageRegionType _arg)
virtual void SetInputImageRegion (const InputImageRegionType _arg, unsigned int pos)
virtual void SetMask (const MaskType *_arg)
virtual void SetMask (const MaskType *_arg, unsigned int pos)
virtual void SetNumberOfInputImageRegions (const unsigned int _arg)
virtual void SetNumberOfMasks (const unsigned int _arg)
virtual void SetNumberOfSamples (unsigned long _arg)
virtual void SetUseMultiThread (bool _arg)
Public Member Functions inherited from itk::VectorContainerSource< VectorDataContainer< ImageSample< TInputImage > > >
OutputVectorContainerTypeGetOutput ()
OutputVectorContainerTypeGetOutput (unsigned int idx)
virtual void GraftNthOutput (unsigned int idx, DataObject *output)
virtual void GraftOutput (DataObject *output)
 ITK_DISALLOW_COPY_AND_MOVE (VectorContainerSource)
 itkOverrideGetNameOfClassMacro (VectorContainerSource)
DataObjectPointer MakeOutput (ProcessObject::DataObjectPointerArraySizeType idx) override
Public Member Functions inherited from itk::ImageSamplerBase< TElastix >
virtual const InputImageRegionTypeGetCroppedInputImageRegion ()
const InputImageTypeGetInput ()
const InputImageTypeGetInput (unsigned int idx)
virtual const InputImageRegionTypeGetInputImageRegion () const
virtual const InputImageRegionTypeGetInputImageRegion (unsigned int pos) const
virtual const MaskTypeGetMask () const
virtual const MaskTypeGetMask (unsigned int pos) const
virtual unsigned int GetNumberOfInputImageRegions () const
virtual unsigned int GetNumberOfMasks () const
virtual unsigned long GetNumberOfSamples () const
OutputVectorContainerTypeGetOutput ()
 ITK_DISALLOW_COPY_AND_MOVE (ImageSamplerBase)
 itkOverrideGetNameOfClassMacro (ImageSamplerBase)
 itkStaticConstMacro (InputImageDimension, unsigned int, InputImageType::ImageDimension)
DataObject::Pointer MakeOutput (ProcessObject::DataObjectPointerArraySizeType idx) override
virtual bool SelectingNewSamplesOnUpdateSupported () const
virtual bool SelectNewSamplesOnUpdate ()
void SetInput (const InputImageType *input)
void SetInput (unsigned int idx, const InputImageType *input)
virtual void SetInputImageRegion (const InputImageRegionType _arg)
virtual void SetInputImageRegion (const InputImageRegionType _arg, unsigned int pos)
virtual void SetMask (const MaskType *_arg)
virtual void SetMask (const MaskType *_arg, unsigned int pos)
virtual void SetNumberOfInputImageRegions (const unsigned int _arg)
virtual void SetNumberOfMasks (const unsigned int _arg)
virtual void SetNumberOfSamples (unsigned long _arg)
virtual void SetUseMultiThread (bool _arg)
Public Member Functions inherited from itk::VectorContainerSource< TOutputVectorContainer >
OutputVectorContainerTypeGetOutput ()
OutputVectorContainerTypeGetOutput (unsigned int idx)
virtual void GraftNthOutput (unsigned int idx, DataObject *output)
virtual void GraftOutput (DataObject *output)
 ITK_DISALLOW_COPY_AND_MOVE (VectorContainerSource)
 itkOverrideGetNameOfClassMacro (VectorContainerSource)
DataObjectPointer MakeOutput (ProcessObject::DataObjectPointerArraySizeType idx) override

Static Public Member Functions

static Pointer New ()
Static Public Member Functions inherited from itk::ImageRandomSamplerSparseMask< TInputImage >
static Pointer New ()
Static Public Member Functions inherited from itk::ImageRandomSamplerBase< TInputImage >
static Pointer New ()
Static Public Member Functions inherited from itk::ImageSamplerBase< TInputImage >
static Pointer New ()
Static Public Member Functions inherited from itk::VectorContainerSource< VectorDataContainer< ImageSample< TInputImage > > >
static Pointer New ()
Static Public Member Functions inherited from itk::ImageSamplerBase< TElastix >
static Pointer New ()
Static Public Member Functions inherited from itk::VectorContainerSource< TOutputVectorContainer >
static Pointer New ()

Protected Member Functions

 RandomSamplerSparseMask ()=default
 ~RandomSamplerSparseMask () override=default
Protected Member Functions inherited from itk::ImageRandomSamplerSparseMask< TInputImage >
void GenerateData () override
 ImageRandomSamplerSparseMask ()=default
void PrintSelf (std::ostream &os, Indent indent) const override
 ~ImageRandomSamplerSparseMask () override=default
Protected Member Functions inherited from itk::ImageRandomSamplerBase< TInputImage >
void GenerateRandomNumberList ()
Statistics::MersenneTwisterRandomVariateGenerator & GetRandomVariateGenerator ()
 ImageRandomSamplerBase ()
void PrintSelf (std::ostream &os, Indent indent) const override
 ~ImageRandomSamplerBase () override=default
Protected Member Functions inherited from itk::ImageSamplerBase< TInputImage >
virtual bool CheckInputImageRegions ()
void CropInputImageRegion ()
void GenerateInputRequestedRegion () override
 ImageSamplerBase ()
virtual bool IsInsideAllMasks (const InputImagePointType &point) const
void PrintSelf (std::ostream &os, Indent indent) const override
virtual void UpdateAllMasks ()
 ~ImageSamplerBase () override=default
Protected Member Functions inherited from itk::VectorContainerSource< VectorDataContainer< ImageSample< TInputImage > > >
void PrintSelf (std::ostream &os, Indent indent) const override
 VectorContainerSource ()
 ~VectorContainerSource () override=default
Protected Member Functions inherited from itk::ImageSamplerBase< TElastix >
virtual bool CheckInputImageRegions ()
void CropInputImageRegion ()
void GenerateInputRequestedRegion () override
 ImageSamplerBase ()
virtual bool IsInsideAllMasks (const InputImagePointType &point) const
void PrintSelf (std::ostream &os, Indent indent) const override
virtual void UpdateAllMasks ()
 ~ImageSamplerBase () override=default
Protected Member Functions inherited from itk::VectorContainerSource< TOutputVectorContainer >
void PrintSelf (std::ostream &os, Indent indent) const override
 VectorContainerSource ()
 ~VectorContainerSource () override=default

Private Attributes

 elxOverrideGetSelfMacro

Additional Inherited Members

Protected Types inherited from itk::ImageRandomSamplerSparseMask< TInputImage >
using InternalFullSamplerPointer = typename InternalFullSamplerType::Pointer
using InternalFullSamplerType = itk::ImageFullSampler<InputImageType>
Static Protected Member Functions inherited from itk::ImageSamplerBase< TInputImage >
static std::vector< InputImageRegionTypeSplitRegion (const InputImageRegionType &inputRegion, const vcl_size_t requestedNumberOfSubregions)
Static Protected Member Functions inherited from itk::ImageSamplerBase< TElastix >
static std::vector< InputImageRegionTypeSplitRegion (const InputImageRegionType &inputRegion, const vcl_size_t requestedNumberOfSubregions)
Protected Attributes inherited from itk::ImageRandomSamplerSparseMask< TInputImage >
InternalFullSamplerPointer m_InternalFullSampler { InternalFullSamplerType::New() }
Protected Attributes inherited from itk::ImageRandomSamplerBase< TInputImage >
std::vector< doublem_RandomNumberList {}
Protected Attributes inherited from itk::ImageSamplerBase< TInputImage >
unsigned long m_NumberOfSamples { 0 }
bool m_UseMultiThread { true }
Protected Attributes inherited from itk::ImageSamplerBase< TElastix >
unsigned long m_NumberOfSamples
bool m_UseMultiThread

Member Typedef Documentation

◆ ConstPointer

template<typename TElastix>
using elastix::RandomSamplerSparseMask< TElastix >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 66 of file elxRandomSamplerSparseMask.h.

◆ ITKBaseType

template<typename TElastix>
using elastix::RandomSamplerSparseMask< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType

Definition at line 101 of file elxRandomSamplerSparseMask.h.

◆ Pointer

template<typename TElastix>
using elastix::RandomSamplerSparseMask< TElastix >::Pointer = itk::SmartPointer<Self>

Definition at line 65 of file elxRandomSamplerSparseMask.h.

◆ Self

template<typename TElastix>
using elastix::RandomSamplerSparseMask< TElastix >::Self = RandomSamplerSparseMask

Standard ITK-stuff.

Definition at line 62 of file elxRandomSamplerSparseMask.h.

◆ Superclass1

template<typename TElastix>
using elastix::RandomSamplerSparseMask< TElastix >::Superclass1 = itk::ImageRandomSamplerSparseMask<typename elx::ImageSamplerBase<TElastix>::InputImageType>

Definition at line 63 of file elxRandomSamplerSparseMask.h.

◆ Superclass2

template<typename TElastix>
using elastix::RandomSamplerSparseMask< TElastix >::Superclass2 = elx::ImageSamplerBase<TElastix>

Definition at line 64 of file elxRandomSamplerSparseMask.h.

Constructor & Destructor Documentation

◆ RandomSamplerSparseMask()

template<typename TElastix>
elastix::RandomSamplerSparseMask< TElastix >::RandomSamplerSparseMask ( )
protecteddefault

The constructor.

◆ ~RandomSamplerSparseMask()

template<typename TElastix>
elastix::RandomSamplerSparseMask< TElastix >::~RandomSamplerSparseMask ( )
overrideprotecteddefault

The destructor.

Member Function Documentation

◆ BeforeEachResolution()

template<typename TElastix>
void elastix::RandomSamplerSparseMask< TElastix >::BeforeEachResolution ( )
override

Execute stuff before each resolution:

  • Set the number of samples.

◆ elxClassNameMacro()

template<typename TElastix>
elastix::RandomSamplerSparseMask< TElastix >::elxClassNameMacro ( "RandomSparseMask" )

Name of this class. Use this name in the parameter file to select this specific interpolator.
example: (ImageSampler "RandomSparseMask")

◆ ITK_DISALLOW_COPY_AND_MOVE()

template<typename TElastix>
elastix::RandomSamplerSparseMask< TElastix >::ITK_DISALLOW_COPY_AND_MOVE ( RandomSamplerSparseMask< TElastix > )

◆ itkOverrideGetNameOfClassMacro()

template<typename TElastix>
elastix::RandomSamplerSparseMask< TElastix >::itkOverrideGetNameOfClassMacro ( RandomSamplerSparseMask< TElastix > )

Run-time type information (and related methods).

◆ itkStaticConstMacro()

template<typename TElastix>
elastix::RandomSamplerSparseMask< TElastix >::itkStaticConstMacro ( InputImageDimension ,
unsigned int ,
Superclass1::InputImageDimension  )

The input image dimension.

◆ New()

template<typename TElastix>
Pointer elastix::RandomSamplerSparseMask< TElastix >::New ( )
static

Method for creation through the object factory.

Member Data Documentation

◆ elxOverrideGetSelfMacro

template<typename TElastix>
elastix::RandomSamplerSparseMask< TElastix >::elxOverrideGetSelfMacro
private

Definition at line 116 of file elxRandomSamplerSparseMask.h.



Generated on 26-02-2026 for elastix by doxygen 1.16.1 (669aeeefca743c148e2d935b3d3c69535c7491e6) elastix logo