ITK
4.3.0
Insight Segmentation and Registration Toolkit
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
ITK
Modules
Filtering
LabelMap
include
itkMergeLabelMapFilter.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright Insight Software Consortium
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 __itkMergeLabelMapFilter_h
19
#define __itkMergeLabelMapFilter_h
20
21
#include "
itkInPlaceLabelMapFilter.h
"
22
23
namespace
itk
24
{
52
template
<
class
TImage >
53
class
ITK_EXPORT
MergeLabelMapFilter
:
54
public
InPlaceLabelMapFilter
< TImage >
55
{
56
public
:
58
typedef
MergeLabelMapFilter
Self
;
59
typedef
InPlaceLabelMapFilter< TImage >
Superclass
;
60
typedef
SmartPointer< Self >
Pointer
;
61
typedef
SmartPointer< const Self >
ConstPointer
;
62
64
typedef
TImage
ImageType
;
65
typedef
typename
ImageType::Pointer
ImagePointer
;
66
typedef
typename
ImageType::ConstPointer
ImageConstPointer
;
67
typedef
typename
ImageType::PixelType
PixelType
;
68
typedef
typename
ImageType::IndexType
IndexType
;
69
typedef
typename
ImageType::LabelObjectType
LabelObjectType
;
70
typedef
typename
LabelObjectType::Pointer
LabelObjectPointer
;
71
73
itkStaticConstMacro(ImageDimension,
unsigned
int
, TImage::ImageDimension);
74
76
itkNewMacro(
Self
);
77
79
itkTypeMacro(
MergeLabelMapFilter
,
InPlaceLabelMapFilter
);
80
81
#ifdef ITK_USE_CONCEPT_CHECKING
82
83
/* itkConceptMacro(InputEqualityComparableCheck,
84
(Concept::EqualityComparable<InputImagePixelType>));
85
itkConceptMacro(IntConvertibleToInputCheck,
86
(Concept::Convertible<int, InputImagePixelType>));
87
itkConceptMacro(InputOStreamWritableCheck,
88
(Concept::OStreamWritable<InputImagePixelType>));*/
89
91
#endif
92
93
#ifdef STRICT
94
#undef STRICT
95
#endif
96
typedef
enum
{
97
KEEP = 0,
98
AGGREGATE = 1,
99
PACK = 2,
100
STRICT = 3
101
} MethodChoice;
102
104
itkSetMacro(Method, MethodChoice);
105
itkGetConstReferenceMacro(Method, MethodChoice);
107
108
protected
:
109
MergeLabelMapFilter
();
110
~MergeLabelMapFilter
() {}
111
112
void
GenerateData();
113
114
void
PrintSelf(std::ostream & os,
Indent
indent)
const
;
115
116
MethodChoice
m_Method
;
117
118
private
:
119
MergeLabelMapFilter
(
const
Self
&);
//purposely not implemented
120
void
operator=(
const
Self
&);
//purposely not implemented
121
122
void
MergeWithKeep();
123
124
void
MergeWithAggregate();
125
126
void
MergeWithPack();
127
128
void
MergeWithStrict();
129
};
// end of class
130
}
// end namespace itk
131
132
#ifndef ITK_MANUAL_INSTANTIATION
133
#include "itkMergeLabelMapFilter.hxx"
134
#endif
135
136
#endif
137
Generated on Sun Dec 9 2012 01:19:04 for ITK by
1.8.2