ITK  6.0.0
Insight Toolkit
itkAutoCropLabelMapFilter.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/*=========================================================================
19 *
20 * Portions of this file are subject to the VTK Toolkit Version 3 copyright.
21 *
22 * Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
23 *
24 * For complete copyright, license and disclaimer of warranty information
25 * please refer to the NOTICE file at the top of the ITK source tree.
26 *
27 *=========================================================================*/
28#ifndef itkAutoCropLabelMapFilter_h
29#define itkAutoCropLabelMapFilter_h
30
32
33namespace itk
34{
52template <typename TInputImage>
53class ITK_TEMPLATE_EXPORT AutoCropLabelMapFilter : public ChangeRegionLabelMapFilter<TInputImage>
54{
55public:
56 ITK_DISALLOW_COPY_AND_MOVE(AutoCropLabelMapFilter);
57
63
65 itkNewMacro(Self);
66
68 itkOverrideGetNameOfClassMacro(AutoCropLabelMapFilter);
69
71 using typename Superclass::OutputImageType;
72 using typename Superclass::OutputImagePointer;
73 using typename Superclass::OutputImageRegionType;
74 using typename Superclass::OutputImagePixelType;
75
77 using InputImageType = TInputImage;
81 using InputImagePixelType = typename InputImageType::PixelType;
82 using LabelObjectType = typename InputImageType::LabelObjectType;
83
84 using PixelType = typename InputImageType::PixelType;
88
89 using TOutputImage = TInputImage;
90
92 static constexpr unsigned int InputImageDimension = TInputImage::ImageDimension;
93 static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension;
94 static constexpr unsigned int ImageDimension = TOutputImage::ImageDimension;
95
99 itkSetMacro(CropBorder, SizeType);
100 itkGetConstReferenceMacro(CropBorder, SizeType);
103protected:
105 ~AutoCropLabelMapFilter() override = default;
106
107 void
108 PrintSelf(std::ostream & os, Indent indent) const override;
109
110 void
112
113private:
114 SizeType m_CropBorder{};
115};
116} // end namespace itk
117
118#ifndef ITK_MANUAL_INSTANTIATION
119# include "itkAutoCropLabelMapFilter.hxx"
120#endif
121
122#endif
Crop a LabelMap image to fit exactly the objects in the LabelMap.
typename InputImageType::IndexType IndexType
void GenerateOutputInformation() override
typename InputImageType::SizeType SizeType
typename InputImageType::LabelObjectType LabelObjectType
~AutoCropLabelMapFilter() override=default
typename InputImageType::Pointer InputImagePointer
typename InputImageType::PixelType PixelType
typename InputImageType::PixelType InputImagePixelType
typename InputImageType::ConstPointer InputImageConstPointer
void PrintSelf(std::ostream &os, Indent indent) const override
typename InputImageType::RegionType InputImageRegionType
typename InputImageType::RegionType RegionType
Change the region of a label map.
Control indentation during Print() invocation.
Definition: itkIndent.h:50
Light weight base class for most itk classes.
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....