17 #ifndef __itkImageAdaptor_h
18 #define __itkImageAdaptor_h
47 template <
class TImage,
class TAccessor >
55 itkStaticConstMacro(ImageDimension,
unsigned int, TImage::ImageDimension);
75 typedef typename TAccessor::ExternalType
PixelType;
96 typedef typename Superclass::SizeType
SizeType;
126 virtual void SetLargestPossibleRegion(
const RegionType ®ion);
131 virtual void SetBufferedRegion(
const RegionType ®ion);
136 virtual void SetRequestedRegion(
const RegionType ®ion);
142 virtual void SetRequestedRegion(
DataObject *data);
150 virtual const RegionType & GetRequestedRegion()
const;
160 virtual const RegionType& GetLargestPossibleRegion()
const;
167 virtual const RegionType& GetBufferedRegion()
const;
170 inline void Allocate()
178 virtual void Initialize();
182 { m_PixelAccessor.Set( m_Image->GetPixel(index), value ); }
186 {
return m_PixelAccessor.Get( m_Image->GetPixel(index) ); }
190 {
return m_PixelAccessor.Get( m_Image->GetPixel(index) ); }
193 const OffsetValueType *GetOffsetTable()
const;
196 IndexType ComputeIndex(OffsetValueType offset)
const;
206 {
return m_Image->GetPixelContainer(); }
209 {
return m_Image->GetPixelContainer(); }
213 void SetPixelContainer( PixelContainer *container );
236 virtual void SetSpacing(
const SpacingType &values );
237 virtual void SetSpacing(
const double* values );
238 virtual void SetSpacing(
const float* values );
248 virtual const PointType& GetOrigin()
const;
251 virtual void SetOrigin(
const PointType values);
252 virtual void SetOrigin(
const double* values );
253 virtual void SetOrigin(
const float* values );
264 virtual void SetImage( TImage * );
267 virtual void Modified()
const;
270 virtual unsigned long GetMTime()
const;
274 {
return m_PixelAccessor; }
278 {
return m_PixelAccessor; }
282 { m_PixelAccessor = accessor; }
285 virtual void Update();
286 virtual void CopyInformation(
const DataObject *data);
290 virtual void UpdateOutputInformation();
291 virtual void SetRequestedRegionToLargestPossibleRegion();
293 virtual
void UpdateOutputData();
294 virtual
bool VerifyRequestedRegion();
300 template<class TCoordRep>
301 bool TransformPhysicalPointToContinuousIndex(
302 const
Point<TCoordRep,
303 itkGetStaticConstMacro(ImageDimension)>& point,
305 itkGetStaticConstMacro(ImageDimension)>& index )
const
307 return m_Image->TransformPhysicalPointToContinuousIndex( point, index );
314 template<
class TCoordRep>
315 bool TransformPhysicalPointToIndex(
316 const Point<TCoordRep,
317 itkGetStaticConstMacro(ImageDimension)>& point,
320 return m_Image->TransformPhysicalPointToIndex( point, index );
327 template<
class TCoordRep>
328 void TransformContinuousIndexToPhysicalPoint(
330 itkGetStaticConstMacro(ImageDimension)>& index,
332 itkGetStaticConstMacro(ImageDimension)>& point )
const
334 m_Image->TransformContinuousIndexToPhysicalPoint( index, point );
342 template<
class TCoordRep>
343 void TransformIndexToPhysicalPoint(
346 itkGetStaticConstMacro(ImageDimension)>& point )
const
348 m_Image->TransformIndexToPhysicalPoint( index, point );
351 template<
class TCoordRep>
352 void TransformLocalVectorToPhysicalVector(
353 const FixedArray< TCoordRep, itkGetStaticConstMacro(ImageDimension) > & inputGradient,
354 FixedArray< TCoordRep, itkGetStaticConstMacro(ImageDimension) > & outputGradient )
const
356 m_Image->TransformLocalVectorToPhysicalVector( inputGradient, outputGradient );
363 void PrintSelf(std::ostream& os,
Indent indent)
const;
368 void operator=(
const Self&);
383 #ifndef ITK_MANUAL_INSTANTIATION