Orfeo Toolbox  3.16
itkImageDuplicator.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkImageDuplicator.h,v $
5  Language: C++
6  Date: $Date: 2010-04-22 02:21:14 $
7  Version: $Revision: 1.7 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 #ifndef __itkImageDuplicator_h
18 #define __itkImageDuplicator_h
19 
20 #include "itkObject.h"
21 #include "itkImage.h"
22 
23 namespace itk
24 {
25 
48 template <class TInputImage>
50 {
51 public:
54  typedef Object Superclass;
57 
59  itkNewMacro(Self);
60 
62  itkTypeMacro(ImageDuplicator, Object);
63 
65  typedef TInputImage ImageType;
66  typedef typename TInputImage::Pointer ImagePointer;
67  typedef typename TInputImage::ConstPointer ImageConstPointer;
68  typedef typename TInputImage::PixelType PixelType;
69  typedef typename TInputImage::IndexType IndexType;
70 
71  itkStaticConstMacro(ImageDimension, unsigned int, ImageType::ImageDimension);
72 
74  itkSetConstObjectMacro(InputImage,ImageType);
75 
77  itkGetObjectMacro(Output,ImageType);
78 
80  void Update(void);
81 
82 protected:
84  virtual ~ImageDuplicator() {};
85  void PrintSelf(std::ostream& os, Indent indent) const;
86 
87 private:
88  ImageDuplicator(const Self&); //purposely not implemented
89  void operator=(const Self&); //purposely not implemented
90 
93  unsigned long m_InternalImageTime;
94 
95 };
96 
97 } // end namespace itk
98 
99 // Define instantiation macro for this template.
100 #define ITK_TEMPLATE_ImageDuplicator(_, EXPORT, x, y) namespace itk { \
101  _(1(class EXPORT ImageDuplicator< ITK_TEMPLATE_1 x >)) \
102  namespace Templates { typedef ImageDuplicator< ITK_TEMPLATE_1 x > ImageDuplicator##y; } \
103  }
104 
105 #if ITK_TEMPLATE_EXPLICIT
106 # include "Templates/itkImageDuplicator+-.h"
107 #endif
108 
109 #if ITK_TEMPLATE_TXX
110 # include "itkImageDuplicator.txx"
111 #endif
112 
113 #endif /* __itkImageDuplicator_h */

Generated at Sat Feb 2 2013 23:42:42 for Orfeo Toolbox with doxygen 1.8.1.1