Loading...
Searching...
No Matches
elastix::RandomSamplerSparseMask< TElastix > Class Template Reference
Components » ImageSamplers

`#include <elxRandomSamplerSparseMask.h>`

## Detailed Description

template<class 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 >:
[legend]

## 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<std::vcl_size_t, 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<std::vcl_size_t, ImageSample<TInputImage>>>
Public Types inherited from itk::VectorContainerSource< VectorDataContainer< std::vcl_size_t, 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< std::vcl_size_t, 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")
virtual const char * | GetClassName () const
| ITK_DISALLOW_COPY_AND_MOVE (RandomSamplerSparseMask)
| itkStaticConstMacro (InputImageDimension, unsigned int, Superclass1::InputImageDimension)
Public Member Functions inherited from itk::ImageRandomSamplerSparseMask< TInputImage >
| ITK_DISALLOW_COPY_AND_MOVE (ImageRandomSamplerSparseMask)
| itkStaticConstMacro (InputImageDimension, unsigned int, Superclass::InputImageDimension)
Public Member Functions inherited from itk::ImageRandomSamplerBase< TInputImage >
std::optional< SeedIntegerType > | GetOptionalSeed () const
| ITK_DISALLOW_COPY_AND_MOVE (ImageRandomSamplerBase)
| itkStaticConstMacro (InputImageDimension, unsigned int, Superclass::InputImageDimension)
void | SetOptionalSeed (const std::optional< SeedIntegerType > arg)
void | SetSeed (const SeedIntegerType arg)
Public Member Functions inherited from itk::ImageSamplerBase< TInputImage >
virtual const InputImageRegionType & | GetCroppedInputImageRegion ()
const InputImageType * | GetInput ()
const InputImageType * | GetInput (unsigned int idx)
virtual const InputImageRegionType & | GetInputImageRegion () const
virtual const InputImageRegionType & | GetInputImageRegion (unsigned int pos) const
virtual const MaskType * | GetMask () const
virtual const MaskType * | GetMask (unsigned int pos) const
virtual unsigned int | GetNumberOfInputImageRegions () const
virtual unsigned int | GetNumberOfMasks () const
virtual unsigned long | GetNumberOfSamples () const
OutputVectorContainerType * | GetOutput ()
| ITK_DISALLOW_COPY_AND_MOVE (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< std::vcl_size_t, ImageSample< TInputImage > > >
OutputVectorContainerType * | GetOutput ()
OutputVectorContainerType * | GetOutput (unsigned int idx)
virtual void | GraftNthOutput (unsigned int idx, DataObject *output)
virtual void | GraftOutput (DataObject *output)
| ITK_DISALLOW_COPY_AND_MOVE (VectorContainerSource)
DataObjectPointer | MakeOutput (ProcessObject::DataObjectPointerArraySizeType idx) override
Public Member Functions inherited from itk::ImageSamplerBase< TElastix >
virtual const InputImageRegionType & | GetCroppedInputImageRegion ()
const InputImageType * | GetInput ()
const InputImageType * | GetInput (unsigned int idx)
virtual const InputImageRegionType & | GetInputImageRegion () const
virtual const InputImageRegionType & | GetInputImageRegion (unsigned int pos) const
virtual const MaskType * | GetMask () const
virtual const MaskType * | GetMask (unsigned int pos) const
virtual unsigned int | GetNumberOfInputImageRegions () const
virtual unsigned int | GetNumberOfMasks () const
virtual unsigned long | GetNumberOfSamples () const
OutputVectorContainerType * | GetOutput ()
| ITK_DISALLOW_COPY_AND_MOVE (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 >
OutputVectorContainerType * | GetOutput ()
OutputVectorContainerType * | GetOutput (unsigned int idx)
virtual void | GraftNthOutput (unsigned int idx, DataObject *output)
virtual void | GraftOutput (DataObject *output)
| ITK_DISALLOW_COPY_AND_MOVE (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< std::vcl_size_t, 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 ()
| 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< std::vcl_size_t, 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< InputImageRegionType > | SplitRegion (const InputImageRegionType &inputRegion, const vcl_size_t requestedNumberOfSubregions)
Static Protected Member Functions inherited from itk::ImageSamplerBase< TElastix >
static std::vector< InputImageRegionType > | SplitRegion (const InputImageRegionType &inputRegion, const vcl_size_t requestedNumberOfSubregions)
Protected Attributes inherited from itk::ImageRandomSamplerSparseMask< TInputImage >
InternalFullSamplerPointer | m_InternalFullSampler { InternalFullSamplerType::New() }
RandomGeneratorPointer | m_RandomGenerator { RandomGeneratorType::GetInstance() }
Protected Attributes inherited from itk::ImageRandomSamplerBase< TInputImage >
std::vector< double > | m_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<class TElastix>

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

Definition at line 66 of file elxRandomSamplerSparseMask.h.

## ITKBaseType

template<class TElastix>

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

Definition at line 101 of file elxRandomSamplerSparseMask.h.

## Pointer

template<class TElastix>

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

Definition at line 65 of file elxRandomSamplerSparseMask.h.

## Self

template<class TElastix>

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

Standard ITK-stuff.

Definition at line 62 of file elxRandomSamplerSparseMask.h.

## Superclass1

template<class TElastix>

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

Definition at line 63 of file elxRandomSamplerSparseMask.h.

## Superclass2

template<class TElastix>

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

Definition at line 64 of file elxRandomSamplerSparseMask.h.

## Constructor & Destructor Documentation

## RandomSamplerSparseMask()

template<class TElastix>

elastix::RandomSamplerSparseMask< TElastix >::RandomSamplerSparseMask | ( |  | ) |

protected default

The constructor.

## ~RandomSamplerSparseMask()

template<class TElastix>

elastix::RandomSamplerSparseMask< TElastix >::~RandomSamplerSparseMask | ( |  | ) |

override protected default

The destructor.

## Member Function Documentation

## BeforeEachResolution()

template<class TElastix>

void elastix::RandomSamplerSparseMask< TElastix >::BeforeEachResolution | ( |  | ) |

override

Execute stuff before each resolution:

- Set the number of samples.

## elxClassNameMacro()

template<class 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")

## GetClassName()

template<class TElastix>

virtual const char * elastix::RandomSamplerSparseMask< TElastix >::GetClassName | ( |  | ) | const

virtual

Run-time type information (and related methods).

Reimplemented from itk::ImageRandomSamplerSparseMask< TInputImage >.

## ITK_DISALLOW_COPY_AND_MOVE()

template<class TElastix>

elastix::RandomSamplerSparseMask< TElastix >::ITK_DISALLOW_COPY_AND_MOVE | ( | RandomSamplerSparseMask< TElastix > |  | ) |

## itkStaticConstMacro()

template<class TElastix>

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

The input image dimension.

## New()

template<class TElastix>

Pointer elastix::RandomSamplerSparseMask< TElastix >::New | ( |  | ) |

static

Method for creation through the object factory.

## Field Documentation

## elxOverrideGetSelfMacro

template<class TElastix>

elastix::RandomSamplerSparseMask< TElastix >::elxOverrideGetSelfMacro

private

Definition at line 116 of file elxRandomSamplerSparseMask.h.

Generated on 1768596610 for elastix by 1.15.0 |