ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkGPUBoxImageFilter.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 itkGPUBoxImageFilter_h
19#define itkGPUBoxImageFilter_h
20
22#include "itkCastImageFilter.h"
23#include "itkBoxImageFilter.h"
24
25namespace itk
26{
38
39template <typename TInputImage,
40 typename TOutputImage,
41 typename TParentImageFilter = BoxImageFilter<TInputImage, TOutputImage>>
42class ITK_TEMPLATE_EXPORT GPUBoxImageFilter
43 : public GPUImageToImageFilter<TInputImage, TOutputImage, TParentImageFilter>
44{
45public:
46 ITK_DISALLOW_COPY_AND_MOVE(GPUBoxImageFilter);
47
51 using CPUSuperclass = TParentImageFilter;
54
56 itkNewMacro(Self);
57
59 itkOverrideGetNameOfClassMacro(GPUBoxImageFilter);
60
62 using InputImageType = TInputImage;
63 using RegionType = typename CPUSuperclass::RegionType;
64 using SizeType = typename CPUSuperclass::SizeType;
65 using IndexType = typename CPUSuperclass::IndexType;
66 using OffsetType = typename CPUSuperclass::OffsetType;
67 using InputPixelType = typename TInputImage::PixelType;
68
69 using OutputImageType = TOutputImage;
70 using OutputPixelType = typename OutputImageType::PixelType;
71
73 using RadiusType = typename CPUSuperclass::SizeType;
74 using RadiusValueType = typename InputImageType::SizeValueType;
75
76protected:
77 GPUBoxImageFilter() = default;
78 ~GPUBoxImageFilter() override = default;
79
80 void
81 PrintSelf(std::ostream & os, Indent indent) const override
82 {
83 GPUSuperclass::PrintSelf(os, indent);
84 }
85};
86} // namespace itk
87
88#endif
A base class for all the filters working on a box neighborhood.
typename CPUSuperclass::SizeType RadiusType
TParentImageFilter CPUSuperclass
typename CPUSuperclass::SizeType SizeType
~GPUBoxImageFilter() override=default
typename TInputImage::PixelType InputPixelType
void PrintSelf(std::ostream &os, Indent indent) const override
typename CPUSuperclass::IndexType IndexType
GPUImageToImageFilter< TInputImage, TOutputImage, TParentImageFilter > GPUSuperclass
SmartPointer< const Self > ConstPointer
typename InputImageType::SizeValueType RadiusValueType
typename OutputImageType::PixelType OutputPixelType
typename CPUSuperclass::RegionType RegionType
typename CPUSuperclass::OffsetType OffsetType
SmartPointer< Self > Pointer
void PrintSelf(std::ostream &os, Indent indent) const override
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....