go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itk::ImageRandomSamplerSparseMask< TInputImage > Class Template Reference

#include <itkImageRandomSamplerSparseMask.h>

Detailed Description

template<class TInputImage>
class itk::ImageRandomSamplerSparseMask< TInputImage >

Samples randomly some voxels of an image.

This version takes into account that the mask may be very small. Also, it may be more efficient when very many different sample sets of the same input image are required, because it does some precomputation.

Definition at line 38 of file itkImageRandomSamplerSparseMask.h.

Inheritance diagram for itk::ImageRandomSamplerSparseMask< TInputImage >:

Data Structures

struct  UserData
 

Public Types

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 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 Member Functions

virtual const char * GetClassName () const
 
 ITK_DISALLOW_COPY_AND_MOVE (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)
 
 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 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)
 
 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 > > >
OutputVectorContainerTypeGetOutput ()
 
OutputVectorContainerTypeGetOutput (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::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 ()
 

Protected Types

using InternalFullSamplerPointer = typename InternalFullSamplerType::Pointer
 
using InternalFullSamplerType = itk::ImageFullSampler<InputImageType>
 

Protected Member Functions

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 Attributes

InternalFullSamplerPointer m_InternalFullSampler { InternalFullSamplerType::New() }
 
RandomGeneratorPointer m_RandomGenerator { RandomGeneratorType::GetInstance() }
 
- 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 }
 

Static Private Member Functions

static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION ThreaderCallback (void *arg)
 

Private Attributes

std::vector< vcl_size_t > m_RandomIndices {}
 

Additional Inherited Members

- Static Protected Member Functions inherited from itk::ImageSamplerBase< TInputImage >
static std::vector< InputImageRegionTypeSplitRegion (const InputImageRegionType &inputRegion, const vcl_size_t requestedNumberOfSubregions)
 

Member Typedef Documentation

◆ ConstPointer

template<class TInputImage >
using itk::ImageRandomSamplerSparseMask< TInputImage >::ConstPointer = SmartPointer<const Self>

Definition at line 47 of file itkImageRandomSamplerSparseMask.h.

◆ ImageSampleContainerPointer

template<class TInputImage >
using itk::ImageSamplerBase< TInputImage >::ImageSampleContainerPointer

Definition at line 66 of file itkImageSamplerBase.h.

◆ ImageSampleContainerType

template<class TInputImage >
using itk::ImageSamplerBase< TInputImage >::ImageSampleContainerType

Definition at line 65 of file itkImageSamplerBase.h.

◆ ImageSampleType

template<class TInputImage >
using itk::ImageSamplerBase< TInputImage >::ImageSampleType

Other typdefs.

Definition at line 64 of file itkImageSamplerBase.h.

◆ InputImageConstPointer

template<class TInputImage >
using itk::ImageSamplerBase< TInputImage >::InputImageConstPointer

Definition at line 61 of file itkImageSamplerBase.h.

◆ InputImageIndexType

template<class TInputImage >
using itk::ImageRandomSamplerSparseMask< TInputImage >::InputImageIndexType = typename InputImageType::IndexType

Other typdefs.

Definition at line 73 of file itkImageRandomSamplerSparseMask.h.

◆ InputImagePixelType

template<class TInputImage >
using itk::ImageSamplerBase< TInputImage >::InputImagePixelType

Definition at line 63 of file itkImageSamplerBase.h.

◆ InputImagePointer

template<class TInputImage >
using itk::ImageSamplerBase< TInputImage >::InputImagePointer

Definition at line 60 of file itkImageSamplerBase.h.

◆ InputImagePointType

template<class TInputImage >
using itk::ImageRandomSamplerSparseMask< TInputImage >::InputImagePointType = typename InputImageType::PointType

Definition at line 74 of file itkImageRandomSamplerSparseMask.h.

◆ InputImageRegionType

template<class TInputImage >
using itk::ImageSamplerBase< TInputImage >::InputImageRegionType

Definition at line 62 of file itkImageSamplerBase.h.

◆ InputImageType

template<class TInputImage >
using itk::ImageSamplerBase< TInputImage >::InputImageType

Some Image related typedefs.

Definition at line 59 of file itkImageSamplerBase.h.

◆ InternalFullSamplerPointer

template<class TInputImage >
using itk::ImageRandomSamplerSparseMask< TInputImage >::InternalFullSamplerPointer = typename InternalFullSamplerType::Pointer
protected

Definition at line 82 of file itkImageRandomSamplerSparseMask.h.

◆ InternalFullSamplerType

template<class TInputImage >
using itk::ImageRandomSamplerSparseMask< TInputImage >::InternalFullSamplerType = itk::ImageFullSampler<InputImageType>
protected

Definition at line 81 of file itkImageRandomSamplerSparseMask.h.

◆ MaskType

template<class TInputImage >
using itk::ImageSamplerBase< TInputImage >::MaskType

Definition at line 67 of file itkImageSamplerBase.h.

◆ Pointer

template<class TInputImage >
using itk::ImageRandomSamplerSparseMask< TInputImage >::Pointer = SmartPointer<Self>

Definition at line 46 of file itkImageRandomSamplerSparseMask.h.

◆ RandomGeneratorPointer

template<class TInputImage >
using itk::ImageRandomSamplerSparseMask< TInputImage >::RandomGeneratorPointer = typename RandomGeneratorType::Pointer

Definition at line 78 of file itkImageRandomSamplerSparseMask.h.

◆ RandomGeneratorType

template<class TInputImage >
using itk::ImageRandomSamplerSparseMask< TInputImage >::RandomGeneratorType = itk::Statistics::MersenneTwisterRandomVariateGenerator

The random number generator used to generate random indices.

Definition at line 77 of file itkImageRandomSamplerSparseMask.h.

◆ Self

template<class TInputImage >
using itk::ImageRandomSamplerSparseMask< TInputImage >::Self = ImageRandomSamplerSparseMask

Standard ITK-stuff.

Definition at line 44 of file itkImageRandomSamplerSparseMask.h.

◆ Superclass

template<class TInputImage >
using itk::ImageRandomSamplerSparseMask< TInputImage >::Superclass = ImageRandomSamplerBase<TInputImage>

Definition at line 45 of file itkImageRandomSamplerSparseMask.h.

Constructor & Destructor Documentation

◆ ImageRandomSamplerSparseMask()

template<class TInputImage >
itk::ImageRandomSamplerSparseMask< TInputImage >::ImageRandomSamplerSparseMask ( )
protecteddefault

The constructor.

◆ ~ImageRandomSamplerSparseMask()

template<class TInputImage >
itk::ImageRandomSamplerSparseMask< TInputImage >::~ImageRandomSamplerSparseMask ( )
overrideprotecteddefault

The destructor.

Member Function Documentation

◆ GenerateData()

template<class TInputImage >
void itk::ImageRandomSamplerSparseMask< TInputImage >::GenerateData ( )
overrideprotected

Function that does the work.

◆ GetClassName()

template<class TInputImage >
virtual const char * itk::ImageRandomSamplerSparseMask< TInputImage >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::ImageRandomSamplerBase< TInputImage >.

Reimplemented in elastix::RandomSamplerSparseMask< TElastix >.

◆ ITK_DISALLOW_COPY_AND_MOVE()

template<class TInputImage >
itk::ImageRandomSamplerSparseMask< TInputImage >::ITK_DISALLOW_COPY_AND_MOVE ( ImageRandomSamplerSparseMask< TInputImage > )

◆ itkStaticConstMacro()

template<class TInputImage >
itk::ImageRandomSamplerSparseMask< TInputImage >::itkStaticConstMacro ( InputImageDimension ,
unsigned int ,
Superclass::InputImageDimension  )

The input image dimension.

◆ New()

template<class TInputImage >
static Pointer itk::ImageRandomSamplerSparseMask< TInputImage >::New ( )
static

Method for creation through the object factory.

◆ PrintSelf()

template<class TInputImage >
void itk::ImageRandomSamplerSparseMask< TInputImage >::PrintSelf ( std::ostream & os,
Indent indent ) const
overrideprotected

PrintSelf.

◆ ThreaderCallback()

template<class TInputImage >
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION itk::ImageRandomSamplerSparseMask< TInputImage >::ThreaderCallback ( void * arg)
staticprivate

Field Documentation

◆ m_InternalFullSampler

template<class TInputImage >
InternalFullSamplerPointer itk::ImageRandomSamplerSparseMask< TInputImage >::m_InternalFullSampler { InternalFullSamplerType::New() }
protected

Definition at line 98 of file itkImageRandomSamplerSparseMask.h.

◆ m_RandomGenerator

template<class TInputImage >
RandomGeneratorPointer itk::ImageRandomSamplerSparseMask< TInputImage >::m_RandomGenerator { RandomGeneratorType::GetInstance() }
protected

Definition at line 97 of file itkImageRandomSamplerSparseMask.h.

◆ m_RandomIndices

template<class TInputImage >
std::vector<vcl_size_t> itk::ImageRandomSamplerSparseMask< TInputImage >::m_RandomIndices {}
private

Definition at line 110 of file itkImageRandomSamplerSparseMask.h.



Generated on 2024-07-17 for elastix by doxygen 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) elastix logo