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
itkChangeLabelLabelMapFilter.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 __itkChangeLabelLabelMapFilter_h
19
#define __itkChangeLabelLabelMapFilter_h
20
21
#include "
itkInPlaceLabelMapFilter.h
"
22
#include <map>
23
24
namespace
itk
25
{
43
template
<
class
TImage >
44
class
ITK_EXPORT
ChangeLabelLabelMapFilter
:
45
public
InPlaceLabelMapFilter
< TImage >
46
{
47
public
:
49
typedef
ChangeLabelLabelMapFilter
Self
;
50
typedef
InPlaceLabelMapFilter< TImage >
Superclass
;
51
typedef
SmartPointer< Self >
Pointer
;
52
typedef
SmartPointer< const Self >
ConstPointer
;
53
55
typedef
TImage
ImageType
;
56
typedef
typename
ImageType::Pointer
ImagePointer
;
57
typedef
typename
ImageType::ConstPointer
ImageConstPointer
;
58
typedef
typename
ImageType::PixelType
PixelType
;
59
typedef
typename
ImageType::IndexType
IndexType
;
60
typedef
typename
ImageType::LabelObjectType
LabelObjectType
;
61
63
itkStaticConstMacro(ImageDimension,
unsigned
int
, TImage::ImageDimension);
64
66
itkNewMacro(
Self
);
67
69
itkTypeMacro(
ChangeLabelLabelMapFilter
,
InPlaceLabelMapFilter
);
70
71
typedef
typename
std::map< PixelType, PixelType >
ChangeMapType
;
72
typedef
typename
ChangeMapType::const_iterator
ChangeMapIterator
;
73
74
#ifdef ITK_USE_CONCEPT_CHECKING
75
76
/* itkConceptMacro(InputEqualityComparableCheck,
77
(Concept::EqualityComparable<InputImagePixelType>));
78
itkConceptMacro(IntConvertibleToInputCheck,
79
(Concept::Convertible<int, InputImagePixelType>));
80
itkConceptMacro(InputOStreamWritableCheck,
81
(Concept::OStreamWritable<InputImagePixelType>));*/
82
84
#endif
85
88
void
SetChangeMap(
const
ChangeMapType
& changeMap);
89
90
const
ChangeMapType
& GetChangeMap()
const
;
91
92
void
SetChange(
const
PixelType
& oldLabel,
const
PixelType
& newLabel);
93
94
void
ClearChangeMap();
95
96
protected
:
97
ChangeLabelLabelMapFilter
();
98
~ChangeLabelLabelMapFilter
() {}
99
100
void
GenerateData();
101
102
void
PrintSelf(std::ostream & os,
Indent
indent)
const
;
103
104
ChangeMapType
m_MapOfLabelToBeReplaced
;
105
106
private
:
107
ChangeLabelLabelMapFilter
(
const
Self
&);
//purposely not implemented
108
void
operator=(
const
Self
&);
//purposely not implemented
109
};
// end of class
110
}
// end namespace itk
111
112
#ifndef ITK_MANUAL_INSTANTIATION
113
#include "itkChangeLabelLabelMapFilter.hxx"
114
#endif
115
116
#endif
117
Generated on Sun Dec 9 2012 00:51:53 for ITK by
1.8.2