go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkImageSamplerBase.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 __ImageSamplerBase_h
19 #define __ImageSamplerBase_h
20 
22 #include "itkImageSample.h"
23 #include "itkVectorDataContainer.h"
24 #include "itkSpatialObject.h"
25 
26 namespace itk
27 {
41 template< class TInputImage >
43  public ImageToVectorContainerFilter< TInputImage,
44  VectorDataContainer< unsigned long, ImageSample< TInputImage > > >
45 {
46 public:
47 
51  TInputImage, VectorDataContainer<
54  typedef SmartPointer< const Self > ConstPointer;
55 
57  itkNewMacro( Self );
58 
61 
71 
73  itkStaticConstMacro( InputImageDimension, unsigned int,
74  InputImageType::ImageDimension );
75 
80  typedef typename InputImageType::SizeType InputImageSizeType;
81  typedef typename InputImageType::IndexType InputImageIndexType;
82  typedef typename InputImageType::PointType InputImagePointType;
83  typedef typename InputImagePointType::ValueType InputImagePointValueType;
85  typedef SpatialObject< Self::InputImageDimension > MaskType;
86  typedef typename MaskType::Pointer MaskPointer;
87  typedef typename MaskType::ConstPointer MaskConstPointer;
88  typedef std::vector< MaskConstPointer > MaskVectorType;
89  typedef std::vector< InputImageRegionType > InputImageRegionVectorType;
90 
94  virtual void SetMask( const MaskType * _arg, unsigned int pos );
95 
99  virtual void SetMask( const MaskType * _arg )
100  {
101  this->SetMask( _arg, 0 );
102  }
103 
104 
106  virtual const MaskType * GetMask( unsigned int pos ) const;
107 
109  virtual const MaskType * GetMask( void ) const
110  {
111  return this->GetMask( 0 );
112  }
113 
114 
116  virtual void SetNumberOfMasks( const unsigned int _arg );
117 
119  itkGetConstMacro( NumberOfMasks, unsigned int );
120 
124  virtual void SetInputImageRegion( const InputImageRegionType _arg, unsigned int pos );
125 
127  virtual void SetInputImageRegion( const InputImageRegionType _arg )
128  {
129  this->SetInputImageRegion( _arg, 0 );
130  }
131 
132 
134  virtual const InputImageRegionType & GetInputImageRegion( unsigned int pos ) const;
135 
137  virtual const InputImageRegionType & GetInputImageRegion( void ) const
138  {
139  return this->GetInputImageRegion( 0 );
140  }
141 
142 
144  virtual void SetNumberOfInputImageRegions( const unsigned int _arg );
145 
147  itkGetConstMacro( NumberOfInputImageRegions, unsigned int );
148 
155  virtual bool SelectNewSamplesOnUpdate( void );
156 
158  virtual bool SelectingNewSamplesOnUpdateSupported( void ) const
159  {
160  return true;
161  }
162 
163 
165  itkGetConstReferenceMacro( CroppedInputImageRegion, InputImageRegionType );
166 
168  itkGetConstMacro( NumberOfSamples, unsigned long );
169 
171  itkSetMacro( UseMultiThread, bool );
172 
173 protected:
174 
177 
179  virtual ~ImageSamplerBase() {}
180 
182  void PrintSelf( std::ostream & os, Indent indent ) const;
183 
185  virtual void GenerateInputRequestedRegion( void );
186 
188  virtual bool IsInsideAllMasks( const InputImagePointType & point ) const;
189 
191  virtual void UpdateAllMasks( void );
192 
196  virtual bool CheckInputImageRegions( void );
197 
199  void CropInputImageRegion( void );
200 
202  virtual void BeforeThreadedGenerateData( void );
203 
204  virtual void AfterThreadedGenerateData( void );
205 
206  /***/
207  unsigned long m_NumberOfSamples;
208  std::vector< ImageSampleContainerPointer > m_ThreaderSampleContainer;
209 
210  //tmp?
212 
213 private:
214 
216  ImageSamplerBase( const Self & ); // purposely not implemented
218  void operator=( const Self & ); // purposely not implemented
219 
223  unsigned int m_NumberOfMasks;
227 
230 
231 };
232 
233 } // end namespace itk
234 
235 #ifndef ITK_MANUAL_INSTANTIATION
236 #include "itkImageSamplerBase.hxx"
237 #endif
238 
239 #endif // end #ifndef __ImageSamplerBase_h
itk::ImageSamplerBase::InputImagePointType
InputImageType::PointType InputImagePointType
Definition: itkImageSamplerBase.h:82
itk::ImageSamplerBase::OutputVectorContainerPointer
Superclass::OutputVectorContainerPointer OutputVectorContainerPointer
Definition: itkImageSamplerBase.h:65
itk::ImageSamplerBase::ImageSampleValueType
ImageSampleType::RealType ImageSampleValueType
Definition: itkImageSamplerBase.h:84
itk::ImageSamplerBase::PrintSelf
void PrintSelf(std::ostream &os, Indent indent) const
itk::ImageSamplerBase::m_MaskVector
MaskVectorType m_MaskVector
Definition: itkImageSamplerBase.h:222
itk::ImageSamplerBase::itkStaticConstMacro
itkStaticConstMacro(InputImageDimension, unsigned int, InputImageType::ImageDimension)
itk::ImageSample::RealType
NumericTraits< PixelType >::RealType RealType
Definition: itkImageSample.h:46
itk::ImageSamplerBase::DataObjectPointer
Superclass::DataObjectPointer DataObjectPointer
Definition: itkImageSamplerBase.h:60
SmartPointer< Self >
itk::ImageToVectorContainerFilter< elx::ImageSamplerBase< TElastix >::InputImageType, VectorDataContainer< unsigned long, ImageSample< elx::ImageSamplerBase< TElastix >::InputImageType > > >::DataObjectPointer
Superclass::DataObjectPointer DataObjectPointer
Definition: itkImageToVectorContainerFilter.h:48
itk::ImageSamplerBase::CheckInputImageRegions
virtual bool CheckInputImageRegions(void)
itk::ImageSamplerBase::~ImageSamplerBase
virtual ~ImageSamplerBase()
Definition: itkImageSamplerBase.h:179
itk::ImageSamplerBase::InputImageSizeType
InputImageType::SizeType InputImageSizeType
Definition: itkImageSamplerBase.h:80
itk::ImageSamplerBase::InputImageRegionVectorType
std::vector< InputImageRegionType > InputImageRegionVectorType
Definition: itkImageSamplerBase.h:89
itk::ImageSamplerBase::AfterThreadedGenerateData
virtual void AfterThreadedGenerateData(void)
itk::ImageSamplerBase::InputImagePointer
Superclass::InputImagePointer InputImagePointer
Definition: itkImageSamplerBase.h:67
itk::ImageSamplerBase::m_ThreaderSampleContainer
std::vector< ImageSampleContainerPointer > m_ThreaderSampleContainer
Definition: itkImageSamplerBase.h:208
itk::ImageSamplerBase::ImageSamplerBase
ImageSamplerBase(const Self &)
itk::ImageSamplerBase::SetMask
virtual void SetMask(const MaskType *_arg, unsigned int pos)
itk::ImageSamplerBase::OutputVectorContainerType
Superclass::OutputVectorContainerType OutputVectorContainerType
Definition: itkImageSamplerBase.h:64
itk::ImageSamplerBase::m_InputImageRegion
InputImageRegionType m_InputImageRegion
Definition: itkImageSamplerBase.h:224
itk::ImageSamplerBase::GetMask
virtual const MaskType * GetMask(unsigned int pos) const
itk::ImageSamplerBase::BeforeThreadedGenerateData
virtual void BeforeThreadedGenerateData(void)
itk::ImageSamplerBase::ConstPointer
SmartPointer< const Self > ConstPointer
Definition: itkImageSamplerBase.h:54
itk::ImageToVectorContainerFilter< elx::ImageSamplerBase< TElastix >::InputImageType, VectorDataContainer< unsigned long, ImageSample< elx::ImageSamplerBase< TElastix >::InputImageType > > >::InputImageConstPointer
InputImageType::ConstPointer InputImageConstPointer
Definition: itkImageToVectorContainerFilter.h:58
itk::ImageSamplerBase::MaskConstPointer
MaskType::ConstPointer MaskConstPointer
Definition: itkImageSamplerBase.h:87
itk::ImageToVectorContainerFilter
Base class that takes in an image and pops out a vector container.
Definition: itkImageToVectorContainerFilter.h:35
itk::ImageSamplerBase::MaskPointer
MaskType::Pointer MaskPointer
Definition: itkImageSamplerBase.h:86
itk::ImageSamplerBase::SetInputImageRegion
virtual void SetInputImageRegion(const InputImageRegionType _arg, unsigned int pos)
itkImageToVectorContainerFilter.h
itk::ImageToVectorContainerFilter< elx::ImageSamplerBase< TElastix >::InputImageType, VectorDataContainer< unsigned long, ImageSample< elx::ImageSamplerBase< TElastix >::InputImageType > > >::InputImageRegionType
InputImageType::RegionType InputImageRegionType
Definition: itkImageToVectorContainerFilter.h:59
itk::ImageSamplerBase::SetNumberOfInputImageRegions
virtual void SetNumberOfInputImageRegions(const unsigned int _arg)
itk::ImageSamplerBase::m_InputImageRegionVector
InputImageRegionVectorType m_InputImageRegionVector
Definition: itkImageSamplerBase.h:225
itk::ImageSamplerBase::ImageSampleContainerPointer
ImageSampleContainerType::Pointer ImageSampleContainerPointer
Definition: itkImageSamplerBase.h:79
itk::ImageSamplerBase::UpdateAllMasks
virtual void UpdateAllMasks(void)
itk::ImageSample
A class that defines an image sample, which is the coordinates of a point and its value.
Definition: itkImageSample.h:35
itk::ImageSamplerBase::m_NumberOfInputImageRegions
unsigned int m_NumberOfInputImageRegions
Definition: itkImageSamplerBase.h:226
itk::ImageSamplerBase::m_NumberOfSamples
unsigned long m_NumberOfSamples
Definition: itkImageSamplerBase.h:207
itk::ImageSamplerBase::Self
ImageSamplerBase Self
Definition: itkImageSamplerBase.h:49
itk::ImageSamplerBase::operator=
void operator=(const Self &)
itk::ImageToVectorContainerFilter< elx::ImageSamplerBase< TElastix >::InputImageType, VectorDataContainer< unsigned long, ImageSample< elx::ImageSamplerBase< TElastix >::InputImageType > > >::InputImageType
elx::ImageSamplerBase< TElastix >::InputImageType InputImageType
Definition: itkImageToVectorContainerFilter.h:56
itk::ImageSamplerBase::ImageSampleContainerType
VectorDataContainer< unsigned long, ImageSampleType > ImageSampleContainerType
Definition: itkImageSamplerBase.h:78
itkVectorDataContainer.h
itk::ImageSamplerBase::InputImagePointValueType
InputImagePointType::ValueType InputImagePointValueType
Definition: itkImageSamplerBase.h:83
itk::ImageToVectorContainerFilter< elx::ImageSamplerBase< TElastix >::InputImageType, VectorDataContainer< unsigned long, ImageSample< elx::ImageSamplerBase< TElastix >::InputImageType > > >::InputImagePixelType
InputImageType::PixelType InputImagePixelType
Definition: itkImageToVectorContainerFilter.h:60
itk::ImageSamplerBase::InputImageRegionType
Superclass::InputImageRegionType InputImageRegionType
Definition: itkImageSamplerBase.h:69
itk::ImageSamplerBase::ImageSampleType
ImageSample< InputImageType > ImageSampleType
Definition: itkImageSamplerBase.h:77
itk::ImageSamplerBase::m_NumberOfMasks
unsigned int m_NumberOfMasks
Definition: itkImageSamplerBase.h:223
itk::ImageSamplerBase::m_DummyInputImageRegion
InputImageRegionType m_DummyInputImageRegion
Definition: itkImageSamplerBase.h:229
itk::ImageSamplerBase::InputImageConstPointer
Superclass::InputImageConstPointer InputImageConstPointer
Definition: itkImageSamplerBase.h:68
itk::ImageSamplerBase::SetMask
virtual void SetMask(const MaskType *_arg)
Definition: itkImageSamplerBase.h:99
itk::ImageSamplerBase::m_Mask
MaskConstPointer m_Mask
Definition: itkImageSamplerBase.h:221
itk::ImageSamplerBase::SetNumberOfMasks
virtual void SetNumberOfMasks(const unsigned int _arg)
itk::ImageSamplerBase::GetMask
virtual const MaskType * GetMask(void) const
Definition: itkImageSamplerBase.h:109
itk::ImageSamplerBase::MaskVectorType
std::vector< MaskConstPointer > MaskVectorType
Definition: itkImageSamplerBase.h:88
itk
Definition: itkAdvancedImageToImageMetric.h:40
itk::ImageSamplerBase::GetInputImageRegion
virtual const InputImageRegionType & GetInputImageRegion(unsigned int pos) const
itk::ImageToVectorContainerFilter< elx::ImageSamplerBase< TElastix >::InputImageType, VectorDataContainer< unsigned long, ImageSample< elx::ImageSamplerBase< TElastix >::InputImageType > > >::InputImagePointer
InputImageType::Pointer InputImagePointer
Definition: itkImageToVectorContainerFilter.h:57
itk::ImageSamplerBase::Pointer
SmartPointer< Self > Pointer
Definition: itkImageSamplerBase.h:53
itk::ImageSamplerBase::IsInsideAllMasks
virtual bool IsInsideAllMasks(const InputImagePointType &point) const
itk::ImageSamplerBase::SelectNewSamplesOnUpdate
virtual bool SelectNewSamplesOnUpdate(void)
itk::ImageSamplerBase::CropInputImageRegion
void CropInputImageRegion(void)
itk::ImageSamplerBase::ImageSamplerBase
ImageSamplerBase()
itk::ImageSamplerBase::InputImageIndexType
InputImageType::IndexType InputImageIndexType
Definition: itkImageSamplerBase.h:81
itk::ImageSamplerBase
This class is a base class for any image sampler.
Definition: itkImageSamplerBase.h:45
itk::ImageSamplerBase::m_UseMultiThread
bool m_UseMultiThread
Definition: itkImageSamplerBase.h:211
itk::ImageSamplerBase::SetInputImageRegion
virtual void SetInputImageRegion(const InputImageRegionType _arg)
Definition: itkImageSamplerBase.h:127
itk::ImageSamplerBase::InputImagePixelType
Superclass::InputImagePixelType InputImagePixelType
Definition: itkImageSamplerBase.h:70
itk::VectorDataContainer
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
Definition: itkVectorDataContainer.h:79
itk::ImageSamplerBase::GenerateInputRequestedRegion
virtual void GenerateInputRequestedRegion(void)
itk::ImageSamplerBase::m_CroppedInputImageRegion
InputImageRegionType m_CroppedInputImageRegion
Definition: itkImageSamplerBase.h:228
itk::ImageSamplerBase::InputImageType
Superclass::InputImageType InputImageType
Definition: itkImageSamplerBase.h:66
itkImageSample.h
itk::ImageSamplerBase::SelectingNewSamplesOnUpdateSupported
virtual bool SelectingNewSamplesOnUpdateSupported(void) const
Definition: itkImageSamplerBase.h:158
itk::ImageSamplerBase::Superclass
ImageToVectorContainerFilter< TInputImage, VectorDataContainer< unsigned long, ImageSample< TInputImage > > > Superclass
Definition: itkImageSamplerBase.h:52
itk::ImageSamplerBase::MaskType
SpatialObject< Self::InputImageDimension > MaskType
Definition: itkImageSamplerBase.h:85
itk::ImageSamplerBase::GetInputImageRegion
virtual const InputImageRegionType & GetInputImageRegion(void) const
Definition: itkImageSamplerBase.h:137


Generated on OURCE_DATE_EPOCH for elastix by doxygen 1.8.18 elastix logo