![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <elxRandomSampler.h>
An interpolator based on the itk::ImageRandomSampler.
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 may take some time. In this case, consider using the RandomSparseMask image 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:
ImageSampler: Select this image sampler as follows:
(ImageSampler "Random")
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 52 of file elxRandomSampler.h.
Public Types | |
using | ConstPointer = itk::SmartPointer< const Self > |
using | InputImageIndexType = typename InputImageType::IndexType |
using | InputImagePointType = typename InputImageType::PointType |
using | ITKBaseType = typename Superclass2::ITKBaseType |
using | Pointer = itk::SmartPointer< Self > |
using | Self = RandomSampler |
using | Superclass1 = itk::ImageRandomSampler< typename elx::ImageSamplerBase< TElastix >::InputImageType > |
using | Superclass2 = elx::ImageSamplerBase< TElastix > |
![]() | |
using | ConstPointer = SmartPointer< const Self > |
using | InputImageIndexType = typename InputImageType::IndexType |
using | InputImagePointType = typename InputImageType::PointType |
using | Pointer = SmartPointer< Self > |
using | Self = ImageRandomSampler |
using | Superclass = ImageRandomSamplerBase< elx::ImageSamplerBase< TElastix >::InputImageType > |
![]() | |
using | ConstPointer = SmartPointer< const Self > |
using | ImageSampleContainerPointer = typename ImageSampleContainerType::Pointer |
using | ImageSampleContainerType = VectorDataContainer< std::vcl_size_t, ImageSampleType > |
using | ImageSampleType = ImageSample< InputImageType > |
using | InputImageConstPointer = typename InputImageType::ConstPointer |
using | InputImagePixelType = typename InputImageType::PixelType |
using | InputImagePointer = typename InputImageType::Pointer |
using | InputImageRegionType = typename InputImageType::RegionType |
using | InputImageType = TInputImage |
using | MaskType = ImageMaskSpatialObject< Self::InputImageDimension > |
using | Pointer = SmartPointer< Self > |
using | SeedIntegerType = Statistics::MersenneTwisterRandomVariateGenerator::IntegerType |
using | Self = ImageRandomSamplerBase |
using | Superclass = 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 | Pointer = SmartPointer< Self > |
using | Self = ImageSamplerBase |
using | Superclass = VectorContainerSource< VectorDataContainer< std::vcl_size_t, ImageSample< TInputImage > > > |
![]() | |
using | ConstPointer = SmartPointer< const Self > |
using | OutputVectorContainerPointer = typename OutputVectorContainerType::Pointer |
using | OutputVectorContainerType = VectorDataContainer< std::vcl_size_t, ImageSample< TInputImage > > |
using | Pointer = SmartPointer< Self > |
using | Self = VectorContainerSource |
using | Superclass = ProcessObject |
![]() | |
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 = TElastix |
using | MaskConstPointer = typename MaskType::ConstPointer |
using | MaskPointer = typename MaskType::Pointer |
using | MaskType = ImageMaskSpatialObject< Self::InputImageDimension > |
using | MaskVectorType = std::vector< MaskConstPointer > |
using | Pointer = SmartPointer< Self > |
using | Self = ImageSamplerBase |
using | Superclass = VectorContainerSource< VectorDataContainer< std::vcl_size_t, ImageSample< TElastix > > > |
![]() | |
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 ("Random") | |
virtual const char * | GetClassName () const |
ITK_DISALLOW_COPY_AND_MOVE (RandomSampler) | |
itkStaticConstMacro (InputImageDimension, unsigned int, Superclass1::InputImageDimension) | |
![]() | |
ITK_DISALLOW_COPY_AND_MOVE (ImageRandomSampler) | |
itkStaticConstMacro (InputImageDimension, unsigned int, Superclass::InputImageDimension) | |
![]() | |
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) |
![]() | |
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) |
![]() | |
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 |
![]() | |
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) |
![]() | |
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 Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
static Pointer | New () |
Protected Member Functions | |
RandomSampler ()=default | |
~RandomSampler () override=default | |
![]() | |
void | GenerateData () override |
ImageRandomSampler ()=default | |
~ImageRandomSampler () override=default | |
![]() | |
void | GenerateRandomNumberList () |
ImageRandomSamplerBase () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~ImageRandomSamplerBase () override=default | |
![]() | |
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 | |
![]() | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
VectorContainerSource () | |
~VectorContainerSource () override=default | |
![]() | |
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 | |
![]() | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
VectorContainerSource () | |
~VectorContainerSource () override=default | |
Private Attributes | |
elxOverrideGetSelfMacro | |
Additional Inherited Members | |
![]() | |
static std::vector< InputImageRegionType > | SplitRegion (const InputImageRegionType &inputRegion, const vcl_size_t requestedNumberOfSubregions) |
![]() | |
static std::vector< InputImageRegionType > | SplitRegion (const InputImageRegionType &inputRegion, const vcl_size_t requestedNumberOfSubregions) |
![]() | |
std::vector< double > | m_RandomNumberList {} |
![]() | |
unsigned long | m_NumberOfSamples { 0 } |
bool | m_UseMultiThread { true } |
![]() | |
unsigned long | m_NumberOfSamples |
bool | m_UseMultiThread |
using elastix::RandomSampler< TElastix >::ConstPointer = itk::SmartPointer<const Self> |
Definition at line 64 of file elxRandomSampler.h.
using itk::ImageRandomSampler< TInputImage >::InputImageIndexType = typename InputImageType::IndexType |
Other typedefs.
Definition at line 76 of file itkImageRandomSampler.h.
using itk::ImageRandomSampler< TInputImage >::InputImagePointType = typename InputImageType::PointType |
Definition at line 77 of file itkImageRandomSampler.h.
using elastix::RandomSampler< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType |
Definition at line 99 of file elxRandomSampler.h.
using elastix::RandomSampler< TElastix >::Pointer = itk::SmartPointer<Self> |
Definition at line 63 of file elxRandomSampler.h.
using elastix::RandomSampler< TElastix >::Self = RandomSampler |
Standard ITK-stuff.
Definition at line 60 of file elxRandomSampler.h.
using elastix::RandomSampler< TElastix >::Superclass1 = itk::ImageRandomSampler<typename elx::ImageSamplerBase<TElastix>::InputImageType> |
Definition at line 61 of file elxRandomSampler.h.
using elastix::RandomSampler< TElastix >::Superclass2 = elx::ImageSamplerBase<TElastix> |
Definition at line 62 of file elxRandomSampler.h.
|
protecteddefault |
The constructor.
|
overrideprotecteddefault |
The destructor.
|
override |
Execute stuff before each resolution:
elastix::RandomSampler< TElastix >::elxClassNameMacro | ( | "Random" | ) |
Name of this class. Use this name in the parameter file to select this specific interpolator.
example: (ImageSampler "Random")
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ImageRandomSampler< elx::ImageSamplerBase< TElastix >::InputImageType >.
elastix::RandomSampler< TElastix >::ITK_DISALLOW_COPY_AND_MOVE | ( | RandomSampler< TElastix > | ) |
elastix::RandomSampler< TElastix >::itkStaticConstMacro | ( | InputImageDimension | , |
unsigned int | , | ||
Superclass1::InputImageDimension | |||
) |
The input image dimension.
|
static |
Method for creation through the object factory.
|
private |
Definition at line 114 of file elxRandomSampler.h.
Generated on 1739326392 for elastix by ![]() |
![]() |