ITK
5.2.0
Insight Toolkit
ITK
Modules
Core
ImageAdaptors
include
itkComplexToImaginaryImageAdaptor.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
* http://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 itkComplexToImaginaryImageAdaptor_h
19
#define itkComplexToImaginaryImageAdaptor_h
20
21
#include "
itkImageAdaptor.h
"
22
#include <complex>
23
24
namespace
itk
25
{
26
namespace
Accessor
27
{
44
template
<
typename
TInternalType,
typename
TExternalType>
45
class
ComplexToImaginaryPixelAccessor
46
{
47
public
:
48
51
using
ExternalType
= TExternalType;
52
55
using
InternalType
= TInternalType;
56
57
static
inline
void
58
Set
(TInternalType & output,
const
TExternalType & input)
59
{
60
output = (TInternalType)(input);
61
}
62
63
static
inline
TExternalType
64
Get
(
const
TInternalType & input)
65
{
66
return
(TExternalType)(input.imag());
67
}
68
};
69
}
// end namespace Accessor
70
82
template
<
typename
TImage,
typename
TOutputPixelType>
83
class
ComplexToImaginaryImageAdaptor
84
:
public
ImageAdaptor
<TImage, Accessor::ComplexToImaginaryPixelAccessor<typename TImage::PixelType, TOutputPixelType>>
85
{
86
public
:
87
ITK_DISALLOW_COPY_AND_MOVE(
ComplexToImaginaryImageAdaptor
);
88
90
using
Self
=
ComplexToImaginaryImageAdaptor
;
91
using
Superclass
=
92
ImageAdaptor<TImage, Accessor::ComplexToImaginaryPixelAccessor<typename TImage::PixelType, TOutputPixelType>
>;
93
94
using
Pointer
=
SmartPointer<Self>
;
95
using
ConstPointer
=
SmartPointer<const Self>
;
96
98
itkNewMacro(
Self
);
99
101
itkTypeMacro(
ComplexToImaginaryImageAdaptor
,
ImageAdaptor
);
102
103
protected
:
104
ComplexToImaginaryImageAdaptor
() =
default
;
105
~ComplexToImaginaryImageAdaptor
()
override
=
default
;
106
};
107
}
// end namespace itk
108
109
#endif
itk::Accessor::ComplexToImaginaryPixelAccessor::Get
static TExternalType Get(const TInternalType &input)
Definition:
itkComplexToImaginaryImageAdaptor.h:64
itk::SmartPointer< Self >
itkImageAdaptor.h
itk::ComplexToImaginaryImageAdaptor::~ComplexToImaginaryImageAdaptor
~ComplexToImaginaryImageAdaptor() override=default
itk::ImageAdaptor
Give access to partial aspects of voxels from an Image.
Definition:
itkImageAdaptor.h:56
itk::Accessor::ComplexToImaginaryPixelAccessor::Set
static void Set(TInternalType &output, const TExternalType &input)
Definition:
itkComplexToImaginaryImageAdaptor.h:58
itk::ComplexToImaginaryImageAdaptor::ComplexToImaginaryImageAdaptor
ComplexToImaginaryImageAdaptor()=default
itk::ComplexToImaginaryImageAdaptor
Presents a complex image as being composed of imag() part of its pixels.
Definition:
itkComplexToImaginaryImageAdaptor.h:83
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition:
itkAnnulusOperator.h:24
itk::Accessor::ComplexToImaginaryPixelAccessor
Give access to the Imaginary part of a std::complex<> value.
Definition:
itkComplexToImaginaryImageAdaptor.h:45
itk::Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType >::ExternalType
TOutputPixelType ExternalType
Definition:
itkComplexToImaginaryImageAdaptor.h:51
itk::Object
Base class for most ITK classes.
Definition:
itkObject.h:62
itk::Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType >::InternalType
TImage::PixelType InternalType
Definition:
itkComplexToImaginaryImageAdaptor.h:55
itk::DataObject
Base class for all data objects in ITK.
Definition:
itkDataObject.h:293
Generated on Thu Apr 1 2021 01:39:03 for ITK by
1.8.16