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

#include <itkMultiInputImageRandomCoordinateSampler.h>

Detailed Description

template<class TInputImage>
class itk::MultiInputImageRandomCoordinateSampler< 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 itkMultiInputImageRandomCoordinateSampler.h.

+ Inheritance diagram for itk::MultiInputImageRandomCoordinateSampler< TInputImage >:

Public Types

using ConstPointer = SmartPointer< const Self >
 
using CoordRepType = double
 
using DefaultInterpolatorType = BSplineInterpolateImageFunction< InputImageType, CoordRepType, double >
 
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 InputImageSpacingType = typename InputImageType::SpacingType
 
using InputImageType = TInputImage
 
using InterpolatorPointer = typename InterpolatorType::Pointer
 
using InterpolatorType = InterpolateImageFunction< InputImageType, CoordRepType >
 
using MaskType = ImageMaskSpatialObject< Self::InputImageDimension >
 
using Pointer = SmartPointer< Self >
 
using RandomGeneratorPointer = typename RandomGeneratorType::Pointer
 
using RandomGeneratorType = itk::Statistics::MersenneTwisterRandomVariateGenerator
 
using Self = MultiInputImageRandomCoordinateSampler
 
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 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 >
 
- 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 = 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
 

Public Member Functions

virtual const char * GetClassName () const
 
virtual const InputImageSpacingType & GetSampleRegionSize ()
 
virtual bool GetUseRandomSampleRegion () const
 
 ITK_DISALLOW_COPY_AND_MOVE (MultiInputImageRandomCoordinateSampler)
 
 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 >
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
 

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 InputImageContinuousIndexType = typename InterpolatorType::ContinuousIndexType
 

Protected Member Functions

void GenerateData () override
 
virtual void GenerateRandomCoordinate (const InputImageContinuousIndexType &smallestContIndex, const InputImageContinuousIndexType &largestContIndex, InputImageContinuousIndexType &randomContIndex)
 
virtual void GenerateSampleRegion (InputImageContinuousIndexType &smallestContIndex, InputImageContinuousIndexType &largestContIndex)
 
 MultiInputImageRandomCoordinateSampler ()=default
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~MultiInputImageRandomCoordinateSampler () 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

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< double > m_RandomNumberList {}
 
- Protected Attributes inherited from itk::ImageSamplerBase< TInputImage >
unsigned long m_NumberOfSamples { 0 }
 
bool m_UseMultiThread { true }
 

Private Attributes

bool m_UseRandomSampleRegion { false }
 

Additional Inherited Members

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

Member Typedef Documentation

◆ ConstPointer

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

Definition at line 49 of file itkMultiInputImageRandomCoordinateSampler.h.

◆ CoordRepType

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

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

Definition at line 82 of file itkMultiInputImageRandomCoordinateSampler.h.

◆ DefaultInterpolatorType

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

Definition at line 85 of file itkMultiInputImageRandomCoordinateSampler.h.

◆ ImageSampleContainerType

template<class TInputImage >
using itk::ImageSamplerBase< TInputImage >::ImageSampleContainerType = VectorDataContainer<std::vcl_size_t, ImageSampleType>

Definition at line 65 of file itkImageSamplerBase.h.

◆ ImageSampleType

template<class TInputImage >
using itk::ImageSamplerBase< TInputImage >::ImageSampleType = ImageSample<InputImageType>

Other typdefs.

Definition at line 64 of file itkImageSamplerBase.h.

◆ InputImageConstPointer

template<class TInputImage >
using itk::ImageSamplerBase< TInputImage >::InputImageConstPointer = typename InputImageType::ConstPointer

Definition at line 61 of file itkImageSamplerBase.h.

◆ InputImageContinuousIndexType

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

Definition at line 107 of file itkMultiInputImageRandomCoordinateSampler.h.

◆ InputImagePixelType

template<class TInputImage >
using itk::ImageSamplerBase< TInputImage >::InputImagePixelType = typename InputImageType::PixelType

Definition at line 63 of file itkImageSamplerBase.h.

◆ InputImagePointer

template<class TInputImage >
using itk::ImageSamplerBase< TInputImage >::InputImagePointer = typename InputImageType::Pointer

Definition at line 60 of file itkImageSamplerBase.h.

◆ InputImageRegionType

template<class TInputImage >
using itk::ImageSamplerBase< TInputImage >::InputImageRegionType = typename InputImageType::RegionType

Definition at line 62 of file itkImageSamplerBase.h.

◆ InputImageSpacingType

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

Definition at line 70 of file itkMultiInputImageRandomCoordinateSampler.h.

◆ InputImageType

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

Some Image related typedefs.

Definition at line 59 of file itkImageSamplerBase.h.

◆ InterpolatorPointer

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

Definition at line 84 of file itkMultiInputImageRandomCoordinateSampler.h.

◆ InterpolatorType

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

Definition at line 83 of file itkMultiInputImageRandomCoordinateSampler.h.

◆ MaskType

template<class TInputImage >
using itk::ImageSamplerBase< TInputImage >::MaskType = ImageMaskSpatialObject<Self::InputImageDimension>

Definition at line 67 of file itkImageSamplerBase.h.

◆ Pointer

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

Definition at line 48 of file itkMultiInputImageRandomCoordinateSampler.h.

◆ RandomGeneratorPointer

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

Definition at line 89 of file itkMultiInputImageRandomCoordinateSampler.h.

◆ RandomGeneratorType

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

The random number generator used to generate random coordinates.

Definition at line 88 of file itkMultiInputImageRandomCoordinateSampler.h.

◆ Self

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

Standard ITK-stuff.

Definition at line 46 of file itkMultiInputImageRandomCoordinateSampler.h.

◆ Superclass

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

Definition at line 47 of file itkMultiInputImageRandomCoordinateSampler.h.

Constructor & Destructor Documentation

◆ MultiInputImageRandomCoordinateSampler()

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

The constructor.

◆ ~MultiInputImageRandomCoordinateSampler()

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

The destructor.

Member Function Documentation

◆ GenerateData()

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

Function that does the work.

◆ GenerateRandomCoordinate()

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

Generate a point randomly in a bounding box. This method can be overwritten in subclasses if a different distribution is desired.

◆ GenerateSampleRegion()

template<class TInputImage >
virtual void itk::MultiInputImageRandomCoordinateSampler< TInputImage >::GenerateSampleRegion ( InputImageContinuousIndexType &  smallestContIndex,
InputImageContinuousIndexType &  largestContIndex 
)
protectedvirtual

Generate the two corners of a sampling region.

◆ GetClassName()

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

Run-time type information (and related methods).

Reimplemented from itk::ImageRandomSamplerBase< TInputImage >.

Reimplemented in elastix::MultiInputRandomCoordinateSampler< TElastix >.

◆ GetSampleRegionSize()

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

◆ GetUseRandomSampleRegion()

template<class TInputImage >
virtual bool itk::MultiInputImageRandomCoordinateSampler< 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::MultiInputImageRandomCoordinateSampler< TInputImage >::ITK_DISALLOW_COPY_AND_MOVE ( MultiInputImageRandomCoordinateSampler< TInputImage >  )

◆ itkGetModifiableObjectMacro()

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

◆ itkStaticConstMacro()

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

The input image dimension.

◆ New()

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

Method for creation through the object factory.

◆ PrintSelf()

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

PrintSelf.

◆ SetInterpolator()

template<class TInputImage >
virtual void itk::MultiInputImageRandomCoordinateSampler< 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::MultiInputImageRandomCoordinateSampler< 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::MultiInputImageRandomCoordinateSampler< TInputImage >::SetUseRandomSampleRegion ( bool  _arg)
virtual

Field Documentation

◆ m_Interpolator

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

Definition at line 130 of file itkMultiInputImageRandomCoordinateSampler.h.

◆ m_RandomGenerator

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

Definition at line 136 of file itkMultiInputImageRandomCoordinateSampler.h.

◆ m_SampleRegionSize

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

Definition at line 137 of file itkMultiInputImageRandomCoordinateSampler.h.

◆ m_UseRandomSampleRegion

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

Definition at line 145 of file itkMultiInputImageRandomCoordinateSampler.h.



Generated on 1740142828 for elastix by doxygen 1.9.8 elastix logo