Orfeo Toolbox
3.16
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
OTB
Utilities
ITK
Code
Common
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>
49
class
ITK_EXPORT
ImageDuplicator
:
public
Object
50
{
51
public
:
53
typedef
ImageDuplicator
Self
;
54
typedef
Object
Superclass
;
55
typedef
SmartPointer<Self>
Pointer
;
56
typedef
SmartPointer<const Self>
ConstPointer
;
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
:
83
ImageDuplicator
();
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
91
ImageConstPointer
m_InputImage
;
92
ImagePointer
m_Output
;
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