#include <itkImageGridSampler.h>
Samples image voxels on a regular grid.
This ImageSampler samples voxels that lie on a regular grid. The grid can be specified by an integer downsampling factor for each dimension.
(SampleGridSpacing 4 4 4)
Definition at line 45 of file itkImageGridSampler.h.
Data Structures | |
struct | UserData |
struct | WorkUnit |
Public Types | |
using | ConstPointer = SmartPointer<const Self> |
using | ImageSampleContainerPointer |
using | ImageSampleContainerType |
using | ImageSampleType |
using | InputImageConstPointer |
using | InputImageIndexType |
using | InputImagePixelType |
using | InputImagePointer |
using | InputImagePointType |
using | InputImageRegionType |
using | InputImageSizeType = typename InputImageType::SizeType |
using | InputImageType |
using | MaskType = typename Superclass::MaskType |
using | Pointer = SmartPointer<Self> |
using | SampleGridIndexType = InputImageIndexType |
using | SampleGridSizeType = typename InputImageType::SizeType |
using | SampleGridSpacingType = typename InputImageType::OffsetType |
using | SampleGridSpacingValueType = typename SampleGridSpacingType::OffsetValueType |
using | Self = ImageGridSampler |
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 |
virtual const SampleGridSpacingType & | GetSampleGridSpacing () |
ITK_DISALLOW_COPY_AND_MOVE (ImageGridSampler) | |
itkStaticConstMacro (InputImageDimension, unsigned int, Superclass::InputImageDimension) | |
bool | SelectingNewSamplesOnUpdateSupported () const override |
bool | SelectNewSamplesOnUpdate () override |
void | SetNumberOfSamples (unsigned long nrofsamples) override |
void | SetSampleGridSpacing (const SampleGridSpacingType &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 |
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 | 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::ImageSamplerBase< TInputImage > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::VectorContainerSource< VectorDataContainer< std::vcl_size_t, ImageSample< TInputImage > > > | |
static Pointer | New () |
Protected Member Functions | |
void | GenerateData () override |
ImageGridSampler ()=default | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~ImageGridSampler () 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 | |
Static Private Member Functions | |
static std::pair< SampleGridIndexType, SampleGridSizeType > | DetermineGridIndexAndSize (const InputImageRegionType &croppedInputImageRegion, const SampleGridSpacingType &gridSpacing) |
template<elastix::MaskCondition VMaskCondition> | |
static void | GenerateDataForWorkUnit (WorkUnit &, const InputImageType &, const MaskType *, const SampleGridSpacingType &) |
static std::vector< WorkUnit > | GenerateWorkUnits (const ThreadIdType numberOfWorkUnits, const InputImageRegionType &croppedInputImageRegion, const SampleGridIndexType gridIndex, const SampleGridSpacingType gridSpacing, std::vector< ImageSampleType > &samples) |
template<unsigned int VIndex> | |
static unsigned int | GetGridSizeValue (const SampleGridSizeType &gridSize) |
template<unsigned int VIndex> | |
static void | JumpToNextGridPosition (SampleGridIndexType &index, const SampleGridIndexType &gridIndex, const SampleGridSpacingType &gridSpacing) |
static void | MultiThreadedGenerateData (MultiThreaderBase &multiThreader, const ThreadIdType numberOfWorkUnits, const TInputImage &inputImage, const MaskType *const mask, const InputImageRegionType &croppedInputImageRegion, const SampleGridSpacingType &gridSpacing, std::vector< ImageSampleType > &samples) |
static void | SingleThreadedGenerateData (const TInputImage &inputImage, const MaskType *const mask, const InputImageRegionType &croppedInputImageRegion, const SampleGridSpacingType &gridSpacing, std::vector< ImageSampleType > &samples) |
template<elastix::MaskCondition VMaskCondition> | |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ThreaderCallback (void *arg) |
Private Attributes | |
unsigned long | m_RequestedNumberOfSamples { 0 } |
SampleGridSpacingType | m_SampleGridSpacing { itk::MakeFilled<SampleGridSpacingType>(1) } |
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) |
Protected Attributes inherited from itk::ImageSamplerBase< TInputImage > | |
unsigned long | m_NumberOfSamples { 0 } |
bool | m_UseMultiThread { true } |
using itk::ImageGridSampler< TInputImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 54 of file itkImageGridSampler.h.
using itk::ImageSamplerBase< TInputImage >::ImageSampleContainerPointer |
Definition at line 78 of file itkImageSamplerBase.h.
using itk::ImageSamplerBase< TInputImage >::ImageSampleContainerType |
Definition at line 77 of file itkImageSamplerBase.h.
using itk::ImageSamplerBase< TInputImage >::ImageSampleType |
Other typdefs.
Definition at line 76 of file itkImageSamplerBase.h.
using itk::ImageSamplerBase< TInputImage >::InputImageConstPointer |
Definition at line 68 of file itkImageSamplerBase.h.
using itk::ImageSamplerBase< TInputImage >::InputImageIndexType |
Definition at line 80 of file itkImageSamplerBase.h.
using itk::ImageSamplerBase< TInputImage >::InputImagePixelType |
Definition at line 70 of file itkImageSamplerBase.h.
using itk::ImageSamplerBase< TInputImage >::InputImagePointer |
Definition at line 67 of file itkImageSamplerBase.h.
using itk::ImageSamplerBase< TInputImage >::InputImagePointType |
Definition at line 81 of file itkImageSamplerBase.h.
using itk::ImageSamplerBase< TInputImage >::InputImageRegionType |
Definition at line 69 of file itkImageSamplerBase.h.
using itk::ImageGridSampler< TInputImage >::InputImageSizeType = typename InputImageType::SizeType |
Definition at line 92 of file itkImageGridSampler.h.
using itk::ImageSamplerBase< TInputImage >::InputImageType |
Some Image related typedefs.
Definition at line 66 of file itkImageSamplerBase.h.
using itk::ImageGridSampler< TInputImage >::MaskType = typename Superclass::MaskType |
Definition at line 77 of file itkImageGridSampler.h.
using itk::ImageGridSampler< TInputImage >::Pointer = SmartPointer<Self> |
Definition at line 53 of file itkImageGridSampler.h.
using itk::ImageGridSampler< TInputImage >::SampleGridIndexType = InputImageIndexType |
Definition at line 91 of file itkImageGridSampler.h.
using itk::ImageGridSampler< TInputImage >::SampleGridSizeType = typename InputImageType::SizeType |
Definition at line 90 of file itkImageGridSampler.h.
using itk::ImageGridSampler< TInputImage >::SampleGridSpacingType = typename InputImageType::OffsetType |
Typedefs for support of user defined grid spacing for the spatial samples.
Definition at line 88 of file itkImageGridSampler.h.
using itk::ImageGridSampler< TInputImage >::SampleGridSpacingValueType = typename SampleGridSpacingType::OffsetValueType |
Definition at line 89 of file itkImageGridSampler.h.
using itk::ImageGridSampler< TInputImage >::Self = ImageGridSampler |
Standard ITK-stuff.
Definition at line 51 of file itkImageGridSampler.h.
using itk::ImageGridSampler< TInputImage >::Superclass = ImageSamplerBase<TInputImage> |
Definition at line 52 of file itkImageGridSampler.h.
|
protecteddefault |
The constructor.
|
overrideprotecteddefault |
The destructor.
|
staticprivate |
Determine the grid.
|
overrideprotected |
Function that does the work.
|
staticprivate |
Generates the data for one specific work unit.
|
staticprivate |
Generates the work units, to be processed when doing multi-threading.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ImageSamplerBase< TInputImage >.
Reimplemented in elastix::GridSampler< TElastix >.
|
inlinestaticprivate |
Retrieves the sample grid size along the axis, specified by VIndex
Definition at line 184 of file itkImageGridSampler.h.
|
virtual |
itk::ImageGridSampler< TInputImage >::ITK_DISALLOW_COPY_AND_MOVE | ( | ImageGridSampler< TInputImage > | ) |
itk::ImageGridSampler< TInputImage >::itkStaticConstMacro | ( | InputImageDimension | , |
unsigned int | , | ||
Superclass::InputImageDimension | ) |
The input image dimension.
|
inlinestaticprivate |
Jumps to the next grid position along the axis, specified by VIndex
Definition at line 199 of file itkImageGridSampler.h.
|
staticprivate |
|
static |
Method for creation through the object factory.
|
overrideprotected |
PrintSelf.
|
inlineoverridevirtual |
Returns whether the sampler supports SelectNewSamplesOnUpdate().
Reimplemented from itk::ImageSamplerBase< TInputImage >.
Definition at line 133 of file itkImageGridSampler.h.
|
inlineoverridevirtual |
Selecting new samples makes no sense if nothing changed. The same samples would be selected anyway.
Reimplemented from itk::ImageSamplerBase< TInputImage >.
Definition at line 125 of file itkImageGridSampler.h.
|
overridevirtual |
Define an isotropic SampleGridSpacing such that the desired number of samples is approximately realized. The following formula is used:
spacing = max[ 1, round( (availablevoxels / nrofsamples)^(1/dimension) ) ], with availablevoxels = nr of voxels in bounding box of the mask.
The InputImageRegion needs to be specified beforehand. However, the sample grid spacing is recomputed in the update phase, when the bounding box of the mask is known. Supplying nrofsamples=0 turns off the (re)computation of the SampleGridSpacing. Once nrofsamples=0 has been given, the last computed SampleGridSpacing is simply considered as a user parameter, which is not modified automatically anymore.
This function overrules any previous calls to SetSampleGridSpacing.
Reimplemented from itk::ImageSamplerBase< TInputImage >.
void itk::ImageGridSampler< TInputImage >::SetSampleGridSpacing | ( | const SampleGridSpacingType & | arg | ) |
Set/Get the sample grid spacing for each dimension (only integer factors) This function overrules previous calls to SetNumberOfSamples. Moreover, it calls SetNumberOfSamples(0) (see below), to make sure that the user-set sample grid spacing is never overruled.
|
staticprivate |
|
staticprivate |
|
private |
The number of samples entered in the SetNumberOfSamples method
Definition at line 250 of file itkImageGridSampler.h.
|
private |
An array of integer spacing factors
Definition at line 247 of file itkImageGridSampler.h.
Generated on 2024-07-17 for elastix by 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) |