go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Attributes
itk::ImageRandomCoordinateSampler< TInputImage > Class Template Reference

#include <itkImageRandomCoordinateSampler.h>

Detailed Description

template<class TInputImage>
class itk::ImageRandomCoordinateSampler< TInputImage >

Samples an image by randomly composing a set of physical coordinates.

This image sampler generates not only samples that correspond with pixel locations, but selects points in physical space.

Definition at line 40 of file itkImageRandomCoordinateSampler.h.

Inheritance diagram for itk::ImageRandomCoordinateSampler< TInputImage >:
Inheritance graph
[legend]

Public Types

using ConstPointer = SmartPointer< const Self >
 
using CoordRepType = double
 
using DefaultInterpolatorType = BSplineInterpolateImageFunction< InputImageType, CoordRepType, double >
 
using InputImageSpacingType = typename InputImageType::SpacingType
 
using InterpolatorPointer = typename InterpolatorType::Pointer
 
using InterpolatorType = InterpolateImageFunction< InputImageType, CoordRepType >
 
using Pointer = SmartPointer< Self >
 
using RandomGeneratorPointer = typename RandomGeneratorType::Pointer
 
using RandomGeneratorType = itk::Statistics::MersenneTwisterRandomVariateGenerator
 
using Self = ImageRandomCoordinateSampler
 
using Superclass = ImageRandomSamplerBase< TInputImage >
 
- Public Types inherited from itk::ImageRandomSamplerBase< TInputImage >
using ConstPointer = SmartPointer< const Self >
 
using ImageSampleContainerPointer = typename ImageSampleContainerType::Pointer
 
using ImageSampleContainerType = VectorDataContainer< std::vcl_size_t, ImageSampleType >
 
using ImageSampleType = ImageSample< InputImageType >
 
using MaskType = SpatialObject< Self::InputImageDimension >
 
using Pointer = SmartPointer< Self >
 
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 InputImageIndexType = typename InputImageType::IndexType
 
using InputImagePointType = typename InputImageType::PointType
 
using InputImagePointValueType = typename InputImagePointType::ValueType
 
using InputImageRegionVectorType = std::vector< InputImageRegionType >
 
using InputImageSizeType = typename InputImageType::SizeType
 
using MaskConstPointer = typename MaskType::ConstPointer
 
using MaskPointer = typename MaskType::Pointer
 
using MaskType = SpatialObject< Self::InputImageDimension >
 
using MaskVectorType = std::vector< MaskConstPointer >
 
using Pointer = SmartPointer< Self >
 
using Self = ImageSamplerBase
 
using Superclass = ImageToVectorContainerFilter< TInputImage, VectorDataContainer< std::vcl_size_t, ImageSample< TInputImage > > >
 
- Public Types inherited from itk::ImageToVectorContainerFilter< TInputImage, VectorDataContainer< std::vcl_size_t, ImageSample< TInputImage > > >
using ConstPointer = SmartPointer< const Self >
 
using InputImageConstPointer = typename InputImageType::ConstPointer
 
using InputImagePixelType = typename InputImageType::PixelType
 
using InputImagePointer = typename InputImageType::Pointer
 
using InputImageRegionType = typename InputImageType::RegionType
 
using InputImageType = TInputImage
 
using OutputVectorContainerPointer = typename OutputVectorContainerType::Pointer
 
using OutputVectorContainerType = VectorDataContainer< std::vcl_size_t, ImageSample< TInputImage > >
 
using Pointer = SmartPointer< Self >
 
using Self = ImageToVectorContainerFilter
 
using Superclass = VectorContainerSource< VectorDataContainer< std::vcl_size_t, ImageSample< TInputImage > > >
 
- 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

virtual const char * GetClassName () const
 
virtual const InputImageSpacingTypeGetSampleRegionSize ()
 
virtual bool GetUseRandomSampleRegion () const
 
 ITK_DISALLOW_COPY_AND_MOVE (ImageRandomCoordinateSampler)
 
 itkGetModifiableObjectMacro (Interpolator, InterpolatorType)
 
 itkStaticConstMacro (InputImageDimension, unsigned int, Superclass::InputImageDimension)
 
virtual void SetInterpolator (InterpolatorType *_arg)
 
virtual void SetSampleRegionSize (InputImageSpacingType _arg)
 
virtual void SetUseRandomSampleRegion (bool _arg)
 
- Public Member Functions inherited from itk::ImageRandomSamplerBase< TInputImage >
virtual const char * GetClassName () const
 
 ITK_DISALLOW_COPY_AND_MOVE (ImageRandomSamplerBase)
 
 itkStaticConstMacro (InputImageDimension, unsigned int, Superclass::InputImageDimension)
 
- Public Member Functions inherited from itk::ImageSamplerBase< TInputImage >
virtual const char * GetClassName () const
 
virtual const InputImageRegionTypeGetCroppedInputImageRegion ()
 
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
 
 ITK_DISALLOW_COPY_AND_MOVE (ImageSamplerBase)
 
 itkStaticConstMacro (InputImageDimension, unsigned int, InputImageType::ImageDimension)
 
virtual bool SelectingNewSamplesOnUpdateSupported () const
 
virtual bool SelectNewSamplesOnUpdate ()
 
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::ImageToVectorContainerFilter< TInputImage, VectorDataContainer< std::vcl_size_t, ImageSample< TInputImage > > >
virtual void AfterThreadedGenerateData ()
 
virtual void BeforeThreadedGenerateData ()
 
void GenerateData () override
 
virtual const char * GetClassName () const
 
const InputImageTypeGetInput ()
 
const InputImageTypeGetInput (unsigned int idx)
 
OutputVectorContainerTypeGetOutput ()
 
 ITK_DISALLOW_COPY_AND_MOVE (ImageToVectorContainerFilter)
 
DataObject::Pointer MakeOutput (unsigned int idx) override
 
void SetInput (const InputImageType *input)
 
void SetInput (unsigned int idx, const InputImageType *input)
 
virtual unsigned int SplitRequestedRegion (const ThreadIdType &threadId, const ThreadIdType &numberOfSplits, InputImageRegionType &splitRegion)
 
virtual void ThreadedGenerateData (const InputImageRegionType &inputRegionForThread, ThreadIdType threadId)
 
- Public Member Functions inherited from itk::VectorContainerSource< TOutputVectorContainer >
virtual const char * GetClassName () const
 
OutputVectorContainerTypeGetOutput ()
 
OutputVectorContainerTypeGetOutput (unsigned int idx)
 
virtual void GraftNthOutput (unsigned int idx, DataObject *output)
 
virtual void GraftOutput (DataObject *output)
 
 ITK_DISALLOW_COPY_AND_MOVE (VectorContainerSource)
 
virtual DataObjectPointer MakeOutput (unsigned int idx)
 

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::ImageToVectorContainerFilter< TInputImage, VectorDataContainer< std::vcl_size_t, ImageSample< TInputImage > > >
static Pointer New ()
 
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION ThreaderCallback (void *arg)
 
- Static Public Member Functions inherited from itk::VectorContainerSource< TOutputVectorContainer >
static Pointer New ()
 

Protected Types

using InputImageContinuousIndexType = typename InterpolatorType::ContinuousIndexType
 

Protected Member Functions

void BeforeThreadedGenerateData () override
 
void GenerateData () override
 
virtual void GenerateRandomCoordinate (const InputImageContinuousIndexType &smallestContIndex, const InputImageContinuousIndexType &largestContIndex, InputImageContinuousIndexType &randomContIndex)
 
virtual void GenerateSampleRegion (const InputImageContinuousIndexType &smallestImageContIndex, const InputImageContinuousIndexType &largestImageContIndex, InputImageContinuousIndexType &smallestContIndex, InputImageContinuousIndexType &largestContIndex)
 
 ImageRandomCoordinateSampler ()=default
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
void ThreadedGenerateData (const InputImageRegionType &inputRegionForThread, ThreadIdType threadId) override
 
 ~ImageRandomCoordinateSampler () override=default
 
- Protected Member Functions inherited from itk::ImageRandomSamplerBase< TInputImage >
void BeforeThreadedGenerateData () override
 
 ImageRandomSamplerBase ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~ImageRandomSamplerBase () override=default
 
- Protected Member Functions inherited from itk::ImageSamplerBase< TInputImage >
void AfterThreadedGenerateData () override
 
void BeforeThreadedGenerateData () override
 
virtual bool CheckInputImageRegions ()
 
void CropInputImageRegion ()
 
void GenerateInputRequestedRegion () override
 
 ImageSamplerBase ()=default
 
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::ImageToVectorContainerFilter< TInputImage, VectorDataContainer< std::vcl_size_t, ImageSample< TInputImage > > >
 ImageToVectorContainerFilter ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~ImageToVectorContainerFilter () override=default
 
- Protected Member Functions inherited from itk::VectorContainerSource< TOutputVectorContainer >
void PrintSelf (std::ostream &os, Indent indent) const override
 
 VectorContainerSource ()
 
 ~VectorContainerSource () override=default
 

Protected Attributes

InterpolatorPointer m_Interpolator
 
RandomGeneratorPointer m_RandomGenerator { RandomGeneratorType::GetInstance() }
 
InputImageSpacingType m_SampleRegionSize { itk::MakeFilled<InputImageSpacingType>(1.0) }
 
- Protected Attributes inherited from itk::ImageRandomSamplerBase< TInputImage >
std::vector< doublem_RandomNumberList
 
- Protected Attributes inherited from itk::ImageSamplerBase< TInputImage >
unsigned long m_NumberOfSamples { 0 }
 
std::vector< ImageSampleContainerPointerm_ThreaderSampleContainer
 
bool m_UseMultiThread { false }
 

Private Attributes

bool m_UseRandomSampleRegion { false }
 

Member Typedef Documentation

◆ ConstPointer

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

Definition at line 49 of file itkImageRandomCoordinateSampler.h.

◆ CoordRepType

template<class TInputImage >
using itk::ImageRandomCoordinateSampler< TInputImage >::CoordRepType = double

This image sampler samples the image on physical coordinates and thus needs an interpolator.

Definition at line 82 of file itkImageRandomCoordinateSampler.h.

◆ DefaultInterpolatorType

template<class TInputImage >
using itk::ImageRandomCoordinateSampler< TInputImage >::DefaultInterpolatorType = BSplineInterpolateImageFunction<InputImageType, CoordRepType, double>

Definition at line 85 of file itkImageRandomCoordinateSampler.h.

◆ InputImageContinuousIndexType

template<class TInputImage >
using itk::ImageRandomCoordinateSampler< TInputImage >::InputImageContinuousIndexType = typename InterpolatorType::ContinuousIndexType
protected

Definition at line 106 of file itkImageRandomCoordinateSampler.h.

◆ InputImageSpacingType

template<class TInputImage >
using itk::ImageRandomCoordinateSampler< TInputImage >::InputImageSpacingType = typename InputImageType::SpacingType

Definition at line 71 of file itkImageRandomCoordinateSampler.h.

◆ InterpolatorPointer

template<class TInputImage >
using itk::ImageRandomCoordinateSampler< TInputImage >::InterpolatorPointer = typename InterpolatorType::Pointer

Definition at line 84 of file itkImageRandomCoordinateSampler.h.

◆ InterpolatorType

template<class TInputImage >
using itk::ImageRandomCoordinateSampler< TInputImage >::InterpolatorType = InterpolateImageFunction<InputImageType, CoordRepType>

Definition at line 83 of file itkImageRandomCoordinateSampler.h.

◆ Pointer

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

Definition at line 48 of file itkImageRandomCoordinateSampler.h.

◆ RandomGeneratorPointer

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

Definition at line 89 of file itkImageRandomCoordinateSampler.h.

◆ RandomGeneratorType

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

The random number generator used to generate random coordinates.

Definition at line 88 of file itkImageRandomCoordinateSampler.h.

◆ Self

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

Standard ITK-stuff.

Definition at line 46 of file itkImageRandomCoordinateSampler.h.

◆ Superclass

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

Definition at line 47 of file itkImageRandomCoordinateSampler.h.

Constructor & Destructor Documentation

◆ ImageRandomCoordinateSampler()

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

The constructor.

◆ ~ImageRandomCoordinateSampler()

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

The destructor.

Member Function Documentation

◆ BeforeThreadedGenerateData()

template<class TInputImage >
void itk::ImageRandomCoordinateSampler< TInputImage >::BeforeThreadedGenerateData ( )
overrideprotectedvirtual

◆ GenerateData()

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

Function that does the work.

◆ GenerateRandomCoordinate()

template<class TInputImage >
virtual void itk::ImageRandomCoordinateSampler< TInputImage >::GenerateRandomCoordinate ( const InputImageContinuousIndexType smallestContIndex,
const InputImageContinuousIndexType largestContIndex,
InputImageContinuousIndexType randomContIndex 
)
protectedvirtual

Generate a point randomly in a bounding box.

◆ GenerateSampleRegion()

template<class TInputImage >
virtual void itk::ImageRandomCoordinateSampler< TInputImage >::GenerateSampleRegion ( const InputImageContinuousIndexType smallestImageContIndex,
const InputImageContinuousIndexType largestImageContIndex,
InputImageContinuousIndexType smallestContIndex,
InputImageContinuousIndexType largestContIndex 
)
protectedvirtual

Generate the two corners of a sampling region, given the two corners of an image. If UseRandomSampleRegion=false, the smallesPoint and largestPoint are just copies of the smallestImagePoint and largestImagePoint Otherwise, the midpoint of the sample region is randomly selected and the two corners are computed using the SampleRegionSize

◆ GetClassName()

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

Run-time type information (and related methods).

Reimplemented from itk::ImageRandomSamplerBase< TInputImage >.

Reimplemented in elastix::RandomCoordinateSampler< TElastix >.

◆ GetSampleRegionSize()

template<class TInputImage >
virtual const InputImageSpacingType & itk::ImageRandomCoordinateSampler< TInputImage >::GetSampleRegionSize ( )
virtual

◆ GetUseRandomSampleRegion()

template<class TInputImage >
virtual bool itk::ImageRandomCoordinateSampler< TInputImage >::GetUseRandomSampleRegion ( ) const
virtual

Set/Get whether to use randomly selected sample regions, or just the whole image Default: false.

◆ ITK_DISALLOW_COPY_AND_MOVE()

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

◆ itkGetModifiableObjectMacro()

template<class TInputImage >
itk::ImageRandomCoordinateSampler< TInputImage >::itkGetModifiableObjectMacro ( Interpolator  ,
InterpolatorType   
)

◆ itkStaticConstMacro()

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

The input image dimension.

◆ New()

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

Method for creation through the object factory.

◆ PrintSelf()

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

PrintSelf.

◆ SetInterpolator()

template<class TInputImage >
virtual void itk::ImageRandomCoordinateSampler< TInputImage >::SetInterpolator ( InterpolatorType _arg)
virtual

Set/Get the interpolator. A 3rd order B-spline interpolator is used by default.

◆ SetSampleRegionSize()

template<class TInputImage >
virtual void itk::ImageRandomCoordinateSampler< TInputImage >::SetSampleRegionSize ( InputImageSpacingType  _arg)
virtual

Set/Get the sample region size (in mm). Only needed when UseRandomSampleRegion==true; default: filled with ones.

◆ SetUseRandomSampleRegion()

template<class TInputImage >
virtual void itk::ImageRandomCoordinateSampler< TInputImage >::SetUseRandomSampleRegion ( bool  _arg)
virtual

◆ ThreadedGenerateData()

template<class TInputImage >
void itk::ImageRandomCoordinateSampler< TInputImage >::ThreadedGenerateData ( const InputImageRegionType inputRegionForThread,
ThreadIdType  threadId 
)
overrideprotectedvirtual

Field Documentation

◆ m_Interpolator

template<class TInputImage >
InterpolatorPointer itk::ImageRandomCoordinateSampler< TInputImage >::m_Interpolator
protected
Initial value:
= [] {
const auto interpolator = DefaultInterpolatorType::New();
interpolator->SetSplineOrder(3);
return interpolator;
}()

Definition at line 135 of file itkImageRandomCoordinateSampler.h.

◆ m_RandomGenerator

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

Definition at line 141 of file itkImageRandomCoordinateSampler.h.

◆ m_SampleRegionSize

template<class TInputImage >
InputImageSpacingType itk::ImageRandomCoordinateSampler< TInputImage >::m_SampleRegionSize { itk::MakeFilled<InputImageSpacingType>(1.0) }
protected

Definition at line 142 of file itkImageRandomCoordinateSampler.h.

◆ m_UseRandomSampleRegion

template<class TInputImage >
bool itk::ImageRandomCoordinateSampler< TInputImage >::m_UseRandomSampleRegion { false }
private

Definition at line 156 of file itkImageRandomCoordinateSampler.h.



Generated on 2023-01-13 for elastix by doxygen 1.9.6 elastix logo