go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkMultiInputImageRandomCoordinateSampler.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright UMC Utrecht and contributors
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef __MultiInputImageRandomCoordinateSampler_h
19 #define __MultiInputImageRandomCoordinateSampler_h
20 
22 #include "itkInterpolateImageFunction.h"
23 #include "itkBSplineInterpolateImageFunction.h"
24 #include "itkMersenneTwisterRandomVariateGenerator.h"
25 
26 namespace itk
27 {
28 
39 template< class TInputImage >
41  public ImageRandomSamplerBase< TInputImage >
42 {
43 public:
44 
49  typedef SmartPointer< const Self > ConstPointer;
50 
52  itkNewMacro( Self );
53 
56 
68  typedef typename Superclass::MaskType MaskType;
70  typedef typename InputImageType::SpacingType InputImageSpacingType;
75 
77  itkStaticConstMacro( InputImageDimension, unsigned int,
78  Superclass::InputImageDimension );
79 
83  typedef double CoordRepType;
84  typedef InterpolateImageFunction< InputImageType, CoordRepType > InterpolatorType;
85  typedef typename InterpolatorType::Pointer InterpolatorPointer;
86  typedef BSplineInterpolateImageFunction< InputImageType, CoordRepType, double > DefaultInterpolatorType;
87 
89  typedef itk::Statistics::MersenneTwisterRandomVariateGenerator RandomGeneratorType;
90  typedef typename RandomGeneratorType::Pointer RandomGeneratorPointer;
91 
93  itkSetObjectMacro( Interpolator, InterpolatorType );
94  itkGetObjectMacro( Interpolator, InterpolatorType );
95 
99  itkSetMacro( SampleRegionSize, InputImageSpacingType );
100  itkGetConstReferenceMacro( SampleRegionSize, InputImageSpacingType );
101 
104  itkGetConstMacro( UseRandomSampleRegion, bool );
105  itkSetMacro( UseRandomSampleRegion, bool );
106 
107 protected:
108 
109  typedef typename InterpolatorType::ContinuousIndexType InputImageContinuousIndexType;
110 
113 
116 
118  void PrintSelf( std::ostream & os, Indent indent ) const;
119 
121  virtual void GenerateData( void );
122 
126  const InputImageContinuousIndexType & smallestContIndex,
127  const InputImageContinuousIndexType & largestContIndex,
128  InputImageContinuousIndexType & randomContIndex );
129 
133 
135  virtual void GenerateSampleRegion(
136  InputImageContinuousIndexType & smallestContIndex,
137  InputImageContinuousIndexType & largestContIndex );
138 
139 private:
140 
142  MultiInputImageRandomCoordinateSampler( const Self & ); // purposely not implemented
144  void operator=( const Self & ); // purposely not implemented
145 
147 
148 };
149 
150 } // end namespace itk
151 
152 #ifndef ITK_MANUAL_INSTANTIATION
153 #include "itkMultiInputImageRandomCoordinateSampler.hxx"
154 #endif
155 
156 #endif // end #ifndef __MultiInputImageRandomCoordinateSampler_h
itk::MultiInputImageRandomCoordinateSampler::RandomGeneratorType
itk::Statistics::MersenneTwisterRandomVariateGenerator RandomGeneratorType
Definition: itkMultiInputImageRandomCoordinateSampler.h:89
itk::ImageSamplerBase< elx::ImageSamplerBase< TElastix >::InputImageType >::InputImagePointType
InputImageType::PointType InputImagePointType
Definition: itkImageSamplerBase.h:82
itk::MultiInputImageRandomCoordinateSampler::m_Interpolator
InterpolatorPointer m_Interpolator
Definition: itkMultiInputImageRandomCoordinateSampler.h:130
itk::MultiInputImageRandomCoordinateSampler::ConstPointer
SmartPointer< const Self > ConstPointer
Definition: itkMultiInputImageRandomCoordinateSampler.h:49
itk::MultiInputImageRandomCoordinateSampler::InputImageIndexType
Superclass::InputImageIndexType InputImageIndexType
Definition: itkMultiInputImageRandomCoordinateSampler.h:71
itk::ImageSamplerBase< elx::ImageSamplerBase< TElastix >::InputImageType >::ImageSampleValueType
ImageSampleType::RealType ImageSampleValueType
Definition: itkImageSamplerBase.h:84
itk::MultiInputImageRandomCoordinateSampler::MultiInputImageRandomCoordinateSampler
MultiInputImageRandomCoordinateSampler(const Self &)
itk::ImageSamplerBase< elx::ImageSamplerBase< TElastix >::InputImageType >::DataObjectPointer
Superclass::DataObjectPointer DataObjectPointer
Definition: itkImageSamplerBase.h:60
SmartPointer< Self >
itk::MultiInputImageRandomCoordinateSampler::PrintSelf
void PrintSelf(std::ostream &os, Indent indent) const
itk::MultiInputImageRandomCoordinateSampler::Superclass
ImageRandomSamplerBase< TInputImage > Superclass
Definition: itkMultiInputImageRandomCoordinateSampler.h:47
itk::ImageSamplerBase< elx::ImageSamplerBase< TElastix >::InputImageType >::InputImageSizeType
InputImageType::SizeType InputImageSizeType
Definition: itkImageSamplerBase.h:80
itk::MultiInputImageRandomCoordinateSampler::InputImageSpacingType
InputImageType::SpacingType InputImageSpacingType
Definition: itkMultiInputImageRandomCoordinateSampler.h:70
itk::MultiInputImageRandomCoordinateSampler::InputImageRegionType
Superclass::InputImageRegionType InputImageRegionType
Definition: itkMultiInputImageRandomCoordinateSampler.h:64
itk::ImageSamplerBase< elx::ImageSamplerBase< TElastix >::InputImageType >::InputImagePointer
Superclass::InputImagePointer InputImagePointer
Definition: itkImageSamplerBase.h:67
itk::MultiInputImageRandomCoordinateSampler::GenerateRandomCoordinate
virtual void GenerateRandomCoordinate(const InputImageContinuousIndexType &smallestContIndex, const InputImageContinuousIndexType &largestContIndex, InputImageContinuousIndexType &randomContIndex)
itk::MultiInputImageRandomCoordinateSampler::InputImageSizeType
Superclass::InputImageSizeType InputImageSizeType
Definition: itkMultiInputImageRandomCoordinateSampler.h:69
itk::MultiInputImageRandomCoordinateSampler::DefaultInterpolatorType
BSplineInterpolateImageFunction< InputImageType, CoordRepType, double > DefaultInterpolatorType
Definition: itkMultiInputImageRandomCoordinateSampler.h:86
itk::MultiInputImageRandomCoordinateSampler::m_UseRandomSampleRegion
bool m_UseRandomSampleRegion
Definition: itkMultiInputImageRandomCoordinateSampler.h:146
itk::MultiInputImageRandomCoordinateSampler::InputImagePointer
Superclass::InputImagePointer InputImagePointer
Definition: itkMultiInputImageRandomCoordinateSampler.h:62
itk::MultiInputImageRandomCoordinateSampler
Samples an image by randomly composing a set of physical coordinates.
Definition: itkMultiInputImageRandomCoordinateSampler.h:42
itk::MultiInputImageRandomCoordinateSampler::RandomGeneratorPointer
RandomGeneratorType::Pointer RandomGeneratorPointer
Definition: itkMultiInputImageRandomCoordinateSampler.h:90
itk::MultiInputImageRandomCoordinateSampler::DataObjectPointer
Superclass::DataObjectPointer DataObjectPointer
Definition: itkMultiInputImageRandomCoordinateSampler.h:55
itk::MultiInputImageRandomCoordinateSampler::InputImageConstPointer
Superclass::InputImageConstPointer InputImageConstPointer
Definition: itkMultiInputImageRandomCoordinateSampler.h:63
itk::MultiInputImageRandomCoordinateSampler::ImageSampleValueType
Superclass::ImageSampleValueType ImageSampleValueType
Definition: itkMultiInputImageRandomCoordinateSampler.h:74
itk::MultiInputImageRandomCoordinateSampler::ImageSampleType
Superclass::ImageSampleType ImageSampleType
Definition: itkMultiInputImageRandomCoordinateSampler.h:66
itk::ImageSample
A class that defines an image sample, which is the coordinates of a point and its value.
Definition: itkImageSample.h:35
itk::MultiInputImageRandomCoordinateSampler::Pointer
SmartPointer< Self > Pointer
Definition: itkMultiInputImageRandomCoordinateSampler.h:48
itk::MultiInputImageRandomCoordinateSampler::m_RandomGenerator
RandomGeneratorPointer m_RandomGenerator
Definition: itkMultiInputImageRandomCoordinateSampler.h:131
itk::MultiInputImageRandomCoordinateSampler::OutputVectorContainerPointer
Superclass::OutputVectorContainerPointer OutputVectorContainerPointer
Definition: itkMultiInputImageRandomCoordinateSampler.h:60
itk::MultiInputImageRandomCoordinateSampler::MaskType
Superclass::MaskType MaskType
Definition: itkMultiInputImageRandomCoordinateSampler.h:68
itk::ImageSamplerBase< elx::ImageSamplerBase< TElastix >::InputImageType >::InputImagePointValueType
InputImagePointType::ValueType InputImagePointValueType
Definition: itkImageSamplerBase.h:83
itk::MultiInputImageRandomCoordinateSampler::~MultiInputImageRandomCoordinateSampler
virtual ~MultiInputImageRandomCoordinateSampler()
Definition: itkMultiInputImageRandomCoordinateSampler.h:115
itk::ImageSamplerBase< elx::ImageSamplerBase< TElastix >::InputImageType >::InputImageRegionType
Superclass::InputImageRegionType InputImageRegionType
Definition: itkImageSamplerBase.h:69
itk::ImageSamplerBase< elx::ImageSamplerBase< TElastix >::InputImageType >::InputImageConstPointer
Superclass::InputImageConstPointer InputImageConstPointer
Definition: itkImageSamplerBase.h:68
itk::MultiInputImageRandomCoordinateSampler::OutputVectorContainerType
Superclass::OutputVectorContainerType OutputVectorContainerType
Definition: itkMultiInputImageRandomCoordinateSampler.h:59
itk::MultiInputImageRandomCoordinateSampler::InputImagePointValueType
Superclass::InputImagePointValueType InputImagePointValueType
Definition: itkMultiInputImageRandomCoordinateSampler.h:73
itk::MultiInputImageRandomCoordinateSampler::operator=
void operator=(const Self &)
itkImageRandomSamplerBase.h
itk::MultiInputImageRandomCoordinateSampler::InterpolatorPointer
InterpolatorType::Pointer InterpolatorPointer
Definition: itkMultiInputImageRandomCoordinateSampler.h:85
itk::MultiInputImageRandomCoordinateSampler::InputImageType
Superclass::InputImageType InputImageType
Definition: itkMultiInputImageRandomCoordinateSampler.h:61
itk::MultiInputImageRandomCoordinateSampler::InputImageContinuousIndexType
InterpolatorType::ContinuousIndexType InputImageContinuousIndexType
Definition: itkMultiInputImageRandomCoordinateSampler.h:105
itk
Definition: itkAdvancedImageToImageMetric.h:40
itk::MultiInputImageRandomCoordinateSampler::GenerateData
virtual void GenerateData(void)
itk::MultiInputImageRandomCoordinateSampler::InputImagePixelType
Superclass::InputImagePixelType InputImagePixelType
Definition: itkMultiInputImageRandomCoordinateSampler.h:65
itk::MultiInputImageRandomCoordinateSampler::CoordRepType
double CoordRepType
Definition: itkMultiInputImageRandomCoordinateSampler.h:83
itk::MultiInputImageRandomCoordinateSampler::GenerateSampleRegion
virtual void GenerateSampleRegion(InputImageContinuousIndexType &smallestContIndex, InputImageContinuousIndexType &largestContIndex)
itk::ImageSamplerBase< elx::ImageSamplerBase< TElastix >::InputImageType >::InputImageIndexType
InputImageType::IndexType InputImageIndexType
Definition: itkImageSamplerBase.h:81
itk::MultiInputImageRandomCoordinateSampler::ImageSampleContainerType
Superclass::ImageSampleContainerType ImageSampleContainerType
Definition: itkMultiInputImageRandomCoordinateSampler.h:67
itk::ImageSamplerBase< elx::ImageSamplerBase< TElastix >::InputImageType >::InputImagePixelType
Superclass::InputImagePixelType InputImagePixelType
Definition: itkImageSamplerBase.h:70
itk::MultiInputImageRandomCoordinateSampler::Self
MultiInputImageRandomCoordinateSampler Self
Definition: itkMultiInputImageRandomCoordinateSampler.h:46
itk::VectorDataContainer
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
Definition: itkVectorDataContainer.h:79
itk::ImageSamplerBase< elx::ImageSamplerBase< TElastix >::InputImageType >::InputImageType
Superclass::InputImageType InputImageType
Definition: itkImageSamplerBase.h:66
itk::MultiInputImageRandomCoordinateSampler::MultiInputImageRandomCoordinateSampler
MultiInputImageRandomCoordinateSampler()
itk::MultiInputImageRandomCoordinateSampler::m_SampleRegionSize
InputImageSpacingType m_SampleRegionSize
Definition: itkMultiInputImageRandomCoordinateSampler.h:132
itk::ImageRandomSamplerBase
This class is a base class for any image sampler that randomly picks samples.
Definition: itkImageRandomSamplerBase.h:38
itk::MultiInputImageRandomCoordinateSampler::itkStaticConstMacro
itkStaticConstMacro(InputImageDimension, unsigned int, Superclass::InputImageDimension)
itk::ImageSamplerBase< elx::ImageSamplerBase< TElastix >::InputImageType >::MaskType
SpatialObject< Self::InputImageDimension > MaskType
Definition: itkImageSamplerBase.h:85
itk::MultiInputImageRandomCoordinateSampler::InterpolatorType
InterpolateImageFunction< InputImageType, CoordRepType > InterpolatorType
Definition: itkMultiInputImageRandomCoordinateSampler.h:84
itk::MultiInputImageRandomCoordinateSampler::InputImagePointType
Superclass::InputImagePointType InputImagePointType
Definition: itkMultiInputImageRandomCoordinateSampler.h:72


Generated on OURCE_DATE_EPOCH for elastix by doxygen 1.8.18 elastix logo