ITK
6.0.0
Insight Toolkit
ITK
Modules
Core
ImageAdaptors
include
itkRGBToLuminanceImageAdaptor.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 itkRGBToLuminanceImageAdaptor_h
19
#define itkRGBToLuminanceImageAdaptor_h
20
21
#include "
itkImageAdaptor.h
"
22
#include "
itkMath.h
"
23
24
namespace
itk
25
{
26
namespace
Accessor
27
{
41
template
<
typename
TInternalType,
typename
TExternalType>
42
class
RGBToLuminancePixelAccessor
43
{
44
public
:
45
48
using
ExternalType
= TExternalType;
49
52
using
InternalType
= TInternalType;
53
54
static
inline
void
55
Set
(TInternalType & output,
const
TExternalType & input)
56
{
57
output = static_cast<TInternalType>(input.GetLuminance());
58
}
59
60
static
inline
TExternalType
61
Get
(
const
TInternalType & input)
62
{
63
return
static_cast<TExternalType>(input.GetLuminance());
64
}
65
};
66
}
// end namespace Accessor
67
79
template
<
typename
TImage,
typename
TOutputPixelType>
80
class
RGBToLuminanceImageAdaptor
81
:
public
ImageAdaptor
<TImage, Accessor::RGBToLuminancePixelAccessor<typename TImage::PixelType, TOutputPixelType>>
82
{
83
public
:
84
ITK_DISALLOW_COPY_AND_MOVE(
RGBToLuminanceImageAdaptor
);
85
87
using
Self
=
RGBToLuminanceImageAdaptor
;
88
using
Superclass
=
89
ImageAdaptor<TImage, Accessor::RGBToLuminancePixelAccessor<typename TImage::PixelType, TOutputPixelType>
>;
90
using
Pointer
=
SmartPointer<Self>
;
91
using
ConstPointer
=
SmartPointer<const Self>
;
92
94
itkNewMacro(
Self
);
95
97
itkOverrideGetNameOfClassMacro(
RGBToLuminanceImageAdaptor
);
98
99
protected
:
100
RGBToLuminanceImageAdaptor
() =
default
;
101
~RGBToLuminanceImageAdaptor
()
override
=
default
;
102
};
103
}
// end namespace itk
104
105
#endif
itk::Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType >::ExternalType
TOutputPixelType ExternalType
Definition:
itkRGBToLuminanceImageAdaptor.h:48
itk::Accessor::RGBToLuminancePixelAccessor
Give access to Luminance of a color pixel type.
Definition:
itkRGBToLuminanceImageAdaptor.h:42
itk::SmartPointer< Self >
itkImageAdaptor.h
itk::Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType >::InternalType
TImage::PixelType InternalType
Definition:
itkRGBToLuminanceImageAdaptor.h:52
itk::ImageAdaptor
Give access to partial aspects of voxels from an Image.
Definition:
itkImageAdaptor.h:56
itk::Accessor::RGBToLuminancePixelAccessor::Set
static void Set(TInternalType &output, const TExternalType &input)
Definition:
itkRGBToLuminanceImageAdaptor.h:55
itk::RGBToLuminanceImageAdaptor::~RGBToLuminanceImageAdaptor
~RGBToLuminanceImageAdaptor() override=default
itk::Accessor::RGBToLuminancePixelAccessor::Get
static TExternalType Get(const TInternalType &input)
Definition:
itkRGBToLuminanceImageAdaptor.h:61
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition:
itkAnatomicalOrientation.h:29
itk::Object
Base class for most ITK classes.
Definition:
itkObject.h:61
itk::RGBToLuminanceImageAdaptor
Presents a color image as being composed of the Luminance of its pixels.
Definition:
itkRGBToLuminanceImageAdaptor.h:80
itk::RGBToLuminanceImageAdaptor::RGBToLuminanceImageAdaptor
RGBToLuminanceImageAdaptor()=default
itkMath.h
itk::DataObject
Base class for all data objects in ITK.
Definition:
itkDataObject.h:293
Generated on
unknown
for ITK by
1.8.16