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.
|
using | ConstPointer = itk::SmartPointer< const Self > |
|
using | ImageSampleContainerType = VectorDataContainer< std::vcl_size_t, ImageSampleType > |
|
using | ImageSampleType = ImageSample< InputImageType > |
|
using | InputImageIndexType = typename InputImageType::IndexType |
|
using | InputImagePointType = typename InputImageType::PointType |
|
using | ITKBaseType = typename Superclass2::ITKBaseType |
|
using | MaskType = SpatialObject< Self::InputImageDimension > |
|
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< 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 | InputImageIndexType = typename InputImageType::IndexType |
|
using | InputImagePointType = typename InputImageType::PointType |
|
using | MaskType = SpatialObject< Self::InputImageDimension > |
|
using | Pointer = SmartPointer< Self > |
|
using | RandomGeneratorPointer = typename RandomGeneratorType::Pointer |
|
using | RandomGeneratorType = itk::Statistics::MersenneTwisterRandomVariateGenerator |
|
using | Self = ImageRandomSamplerSparseMask |
|
using | Superclass = ImageRandomSamplerBase< elx::ImageSamplerBase< TElastix >::InputImageType > |
|
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 > |
|
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 > > > |
|
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 > > > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | OutputVectorContainerPointer = typename OutputVectorContainerType::Pointer |
|
using | OutputVectorContainerType = TOutputVectorContainer |
|
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 | 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< TElastix, VectorDataContainer< std::vcl_size_t, ImageSample< TElastix > > > |
|
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 = TOutputVectorContainer |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = ImageToVectorContainerFilter |
|
using | Superclass = VectorContainerSource< TOutputVectorContainer > |
|
|
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< elx::ImageSamplerBase< TElastix >::InputImageType > |
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 > |
virtual const char * | GetClassName () const |
|
| ITK_DISALLOW_COPY_AND_MOVE (ImageRandomSamplerBase) |
|
| itkStaticConstMacro (InputImageDimension, unsigned int, Superclass::InputImageDimension) |
|
virtual const char * | GetClassName () const |
|
virtual const InputImageRegionType & | GetCroppedInputImageRegion () |
|
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 |
|
| 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) |
|
virtual void | AfterThreadedGenerateData () |
|
virtual void | BeforeThreadedGenerateData () |
|
void | GenerateData () override |
|
virtual const char * | GetClassName () const |
|
const InputImageType * | GetInput () |
|
const InputImageType * | GetInput (unsigned int idx) |
|
OutputVectorContainerType * | GetOutput () |
|
| 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) |
|
virtual const char * | GetClassName () const |
|
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) |
|
virtual DataObjectPointer | MakeOutput (unsigned int idx) |
|
virtual const char * | GetClassName () const |
|
virtual const InputImageRegionType & | GetCroppedInputImageRegion () |
|
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 |
|
| 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) |
|
virtual void | AfterThreadedGenerateData () |
|
virtual void | BeforeThreadedGenerateData () |
|
void | GenerateData () override |
|
virtual const char * | GetClassName () const |
|
const InputImageType * | GetInput () |
|
const InputImageType * | GetInput (unsigned int idx) |
|
OutputVectorContainerType * | GetOutput () |
|
| 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) |
|