ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkShiftScaleImageFilter.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 itkShiftScaleImageFilter_h
19#define itkShiftScaleImageFilter_h
20
22#include "itkArray.h"
23#include <mutex>
24
25namespace itk
26{
39template <typename TInputImage, typename TOutputImage>
40class ITK_TEMPLATE_EXPORT ShiftScaleImageFilter : public ImageToImageFilter<TInputImage, TOutputImage>
41{
42public:
43 ITK_DISALLOW_COPY_AND_MOVE(ShiftScaleImageFilter);
44
50
52 itkNewMacro(Self);
53
55 using InputImageRegionType = typename TInputImage::RegionType;
56 using OutputImageRegionType = typename TOutputImage::RegionType;
57
59 using InputImagePointer = typename TInputImage::Pointer;
60 using OutputImagePointer = typename TOutputImage::Pointer;
61
63 using InputImagePixelType = typename TInputImage::PixelType;
64 using OutputImagePixelType = typename TOutputImage::PixelType;
65
67 using InputImageIndexType = typename TInputImage::IndexType;
68 using InputImageSizeType = typename TInputImage::SizeType;
69 using InputImageOffsetType = typename TInputImage::OffsetType;
70 using OutputImageIndexType = typename TOutputImage::IndexType;
71 using OutputImageSizeType = typename TOutputImage::SizeType;
72 using OutputImageOffsetType = typename TOutputImage::OffsetType;
73
76
78 static constexpr unsigned int ImageDimension = TInputImage::ImageDimension;
79
81 itkOverrideGetNameOfClassMacro(ShiftScaleImageFilter);
82
85 itkSetMacro(Shift, RealType);
86 itkGetConstMacro(Shift, RealType);
88
91 itkSetMacro(Scale, RealType);
92 itkGetConstMacro(Scale, RealType);
94
96 itkGetConstMacro(UnderflowCount, SizeValueType);
97 itkGetConstMacro(OverflowCount, SizeValueType);
99
102 itkConceptMacro(RealTypeMultiplyOperatorCheck, (Concept::MultiplyOperator<RealType>));
103
104protected:
106 ~ShiftScaleImageFilter() override = default;
107
108 void
109 PrintSelf(std::ostream & os, Indent indent) const override;
110
112 void
114
115 void
117
118private:
121
124
125 std::mutex m_Mutex{};
126};
127} // end namespace itk
128
129#ifndef ITK_MANUAL_INSTANTIATION
130# include "itkShiftScaleImageFilter.hxx"
131#endif
132
133#endif
Control indentation during Print() invocation.
Definition itkIndent.h:50
typename TOutputImage::RegionType OutputImageRegionType
typename TOutputImage::OffsetType OutputImageOffsetType
typename TInputImage::SizeType InputImageSizeType
void DynamicThreadedGenerateData(const OutputImageRegionType &) override
typename TInputImage::Pointer InputImagePointer
typename TInputImage::PixelType InputImagePixelType
typename TInputImage::OffsetType InputImageOffsetType
void PrintSelf(std::ostream &os, Indent indent) const override
typename TInputImage::IndexType InputImageIndexType
void BeforeThreadedGenerateData() override
typename TOutputImage::PixelType OutputImagePixelType
typename TInputImage::RegionType InputImageRegionType
typename TOutputImage::IndexType OutputImageIndexType
~ShiftScaleImageFilter() override=default
SmartPointer< const Self > ConstPointer
ImageToImageFilter< TInputImage, TOutputImage > Superclass
typename TOutputImage::SizeType OutputImageSizeType
typename NumericTraits< OutputImagePixelType >::RealType RealType
typename TOutputImage::Pointer OutputImagePointer
static constexpr unsigned int ImageDimension
Implements transparent reference counting.
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType
Definition itkIntTypes.h:86