ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkBinaryReconstructionLabelMapFilter.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
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 * https://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 itkBinaryReconstructionLabelMapFilter_h
19#define itkBinaryReconstructionLabelMapFilter_h
20
23
24namespace itk
25{
44template <typename TImage,
45 typename TMarkerImage,
47class ITK_TEMPLATE_EXPORT BinaryReconstructionLabelMapFilter : public InPlaceLabelMapFilter<TImage>
48{
49public:
50 ITK_DISALLOW_COPY_AND_MOVE(BinaryReconstructionLabelMapFilter);
51
57
59 using ImageType = TImage;
60 using ImagePointer = typename ImageType::Pointer;
61 using ImageConstPointer = typename ImageType::ConstPointer;
62 using PixelType = typename ImageType::PixelType;
63 using IndexType = typename ImageType::IndexType;
64 using LabelObjectType = typename ImageType::LabelObjectType;
65
66 using MarkerImageType = TMarkerImage;
67 using MarkerImagePointer = typename MarkerImageType::Pointer;
68 using MarkerImageConstPointer = typename MarkerImageType::ConstPointer;
69 using MarkerImagePixelType = typename MarkerImageType::PixelType;
70
71 using AttributeAccessorType = TAttributeAccessor;
72
74 static constexpr unsigned int ImageDimension = TImage::ImageDimension;
75
77 itkNewMacro(Self);
78
80 itkOverrideGetNameOfClassMacro(BinaryReconstructionLabelMapFilter);
81
82 /* itkConceptMacro(InputEqualityComparableCheck,
83 (Concept::EqualityComparable<PixelType>));
84 itkConceptMacro(IntConvertibleToInputCheck,
85 (Concept::Convertible<int, PixelType>));
86 itkConceptMacro(InputOStreamWritableCheck,
87 (Concept::OStreamWritable<PixelType>));*/
88
95 void
96 SetInput1(TImage * input)
97 {
98 this->SetInput(input);
99 }
100
102 void
103 SetInput2(TMarkerImage * input)
104 {
105 this->SetMarkerImage(input);
106 }
107
113 itkSetMacro(ForegroundValue, MarkerImagePixelType);
114 itkGetConstMacro(ForegroundValue, MarkerImagePixelType);
116protected:
119
120 void
122
123 void
124 PrintSelf(std::ostream & os, Indent indent) const override;
125
126private:
128
129}; // end of class
130
131} // end namespace itk
132
133#ifndef ITK_MANUAL_INSTANTIATION
134# include "itkBinaryReconstructionLabelMapFilter.hxx"
135#endif
136
137#endif
Functor::AttributeLabelObjectAccessor< typename LabelMapType::LabelObjectType > AttributeAccessorType
~BinaryReconstructionLabelMapFilter() override=default
void PrintSelf(std::ostream &os, Indent indent) const override
itkSetInputMacro(MarkerImage, MarkerImageType)
void ThreadedProcessLabelObject(LabelObjectType *labelObject) override
itkGetInputMacro(MarkerImage, MarkerImageType)
virtual void SetInput(const InputImageType *input)
Control indentation during Print() invocation.
Definition itkIndent.h:50
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....