ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkScalarToRGBColormapImageFilter.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 itkScalarToRGBColormapImageFilter_h
19#define itkScalarToRGBColormapImageFilter_h
20
22#include "itkColormapFunction.h"
23#include "ITKColormapExport.h"
24
25namespace itk
26{
55#if !defined(ITK_LEGACY_REMOVE)
57using RGBColormapFilterEnumType = ScalarToRGBColormapImageFilterEnums::RGBColormapFilter;
58// We need to expose the enum values at the class level
59// for backwards compatibility
60static constexpr RGBColormapFilterEnum Red = RGBColormapFilterEnum::Red;
61static constexpr RGBColormapFilterEnum Green = RGBColormapFilterEnum::Green;
62static constexpr RGBColormapFilterEnum Blue = RGBColormapFilterEnum::Blue;
63static constexpr RGBColormapFilterEnum Grey = RGBColormapFilterEnum::Grey;
64static constexpr RGBColormapFilterEnum Hot = RGBColormapFilterEnum::Hot;
65static constexpr RGBColormapFilterEnum Cool = RGBColormapFilterEnum::Cool;
66static constexpr RGBColormapFilterEnum Spring = RGBColormapFilterEnum::Spring;
67static constexpr RGBColormapFilterEnum Summer = RGBColormapFilterEnum::Summer;
68static constexpr RGBColormapFilterEnum Autumn = RGBColormapFilterEnum::Autumn;
69static constexpr RGBColormapFilterEnum Winter = RGBColormapFilterEnum::Winter;
70static constexpr RGBColormapFilterEnum Copper = RGBColormapFilterEnum::Copper;
71static constexpr RGBColormapFilterEnum Jet = RGBColormapFilterEnum::Jet;
72static constexpr RGBColormapFilterEnum HSV = RGBColormapFilterEnum::HSV;
73static constexpr RGBColormapFilterEnum OverUnder = RGBColormapFilterEnum::OverUnder;
74#endif
76extern ITKColormap_EXPORT std::ostream &
78
129template <typename TInputImage, typename TOutputImage>
130class ITK_TEMPLATE_EXPORT ScalarToRGBColormapImageFilter : public ImageToImageFilter<TInputImage, TOutputImage>
131{
132public:
133 ITK_DISALLOW_COPY_AND_MOVE(ScalarToRGBColormapImageFilter);
134
140
142 itkNewMacro(Self);
143
145 itkOverrideGetNameOfClassMacro(ScalarToRGBColormapImageFilter);
146
148 using InputImageType = TInputImage;
149 using InputImagePointer = typename InputImageType::ConstPointer;
150 using InputImageRegionType = typename InputImageType::RegionType;
151 using InputImagePixelType = typename InputImageType::PixelType;
152 using OutputImageType = TOutputImage;
153 using OutputImagePointer = typename OutputImageType::Pointer;
154 using OutputImageRegionType = typename OutputImageType::RegionType;
155 using OutputImagePixelType = typename OutputImageType::PixelType;
156
158
160#if !defined(ITK_LEGACY_REMOVE)
162 using ColormapEnumType = RGBColormapFilterEnum;
163#endif
164
165#if !defined(ITK_LEGACY_REMOVE)
166 // We need to expose the enum values at the class level
167 // for backwards compatibility
168 static constexpr RGBColormapFilterEnum Red = RGBColormapFilterEnum::Red;
169 static constexpr RGBColormapFilterEnum Green = RGBColormapFilterEnum::Green;
170 static constexpr RGBColormapFilterEnum Blue = RGBColormapFilterEnum::Blue;
171 static constexpr RGBColormapFilterEnum Grey = RGBColormapFilterEnum::Grey;
172 static constexpr RGBColormapFilterEnum Hot = RGBColormapFilterEnum::Hot;
173 static constexpr RGBColormapFilterEnum Cool = RGBColormapFilterEnum::Cool;
174 static constexpr RGBColormapFilterEnum Spring = RGBColormapFilterEnum::Spring;
175 static constexpr RGBColormapFilterEnum Summer = RGBColormapFilterEnum::Summer;
176 static constexpr RGBColormapFilterEnum Autumn = RGBColormapFilterEnum::Autumn;
177 static constexpr RGBColormapFilterEnum Winter = RGBColormapFilterEnum::Winter;
178 static constexpr RGBColormapFilterEnum Copper = RGBColormapFilterEnum::Copper;
179 static constexpr RGBColormapFilterEnum Jet = RGBColormapFilterEnum::Jet;
180 static constexpr RGBColormapFilterEnum HSV = RGBColormapFilterEnum::HSV;
181 static constexpr RGBColormapFilterEnum OverUnder = RGBColormapFilterEnum::OverUnder;
182#endif
183
186 itkSetObjectMacro(Colormap, ColormapType);
187 itkGetModifiableObjectMacro(Colormap, ColormapType);
190
195 itkSetMacro(UseInputImageExtremaForScaling, bool);
196 itkGetConstMacro(UseInputImageExtremaForScaling, bool);
197 itkBooleanMacro(UseInputImageExtremaForScaling);
199protected:
202
203 void
204 PrintSelf(std::ostream & os, Indent indent) const override;
205
208 void
210 {
212 OutputImageType * output = this->GetOutput();
213
214 if (!output)
215 {
216 return;
217 }
218 if (output->GetNumberOfComponentsPerPixel() != 3)
219 {
220 output->SetNumberOfComponentsPerPixel(3);
221 }
222 }
223
236 void
237 DynamicThreadedGenerateData(const OutputImageRegionType & outputRegionForThread) override;
238
240 void
242
243private:
244private:
246
248};
249} // end namespace itk
250
251#ifndef ITK_MANUAL_INSTANTIATION
252# include "itkScalarToRGBColormapImageFilter.hxx"
253#endif
254
255#endif
Function object which maps a scalar value into an RGB colormap value.
OutputImageType * GetOutput()
Control indentation during Print() invocation.
Definition itkIndent.h:50
virtual void GenerateOutputInformation()
Contains all enum classes for ScalarToRGBColormapImageFilter class.
typename InputImageType::PixelType InputImagePixelType
typename OutputImageType::Pointer OutputImagePointer
typename InputImageType::ConstPointer InputImagePointer
typename OutputImageType::RegionType OutputImageRegionType
ScalarToRGBColormapImageFilterEnums::RGBColormapFilter RGBColormapFilterEnum
void BeforeThreadedGenerateData() override
void PrintSelf(std::ostream &os, Indent indent) const override
ImageToImageFilter< TInputImage, TOutputImage > Superclass
typename InputImageType::RegionType InputImageRegionType
Function::ColormapFunction< InputImagePixelType, OutputImagePixelType > ColormapType
typename OutputImageType::PixelType OutputImagePixelType
~ScalarToRGBColormapImageFilter() override=default
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) override
void SetColormap(RGBColormapFilterEnum)
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)