ITK
6.0.0
Insight Toolkit
ITK
Modules
Core
ImageAdaptors
include
itkNthElementImageAdaptor.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 itkNthElementImageAdaptor_h
19
#define itkNthElementImageAdaptor_h
20
21
#include "
itkImageAdaptor.h
"
22
#include "
itkNthElementPixelAccessor.h
"
23
24
namespace
itk
25
{
45
// Create a helper class to help the SunPro CC compiler
46
// parse the templates for the NthElementImageAdaptor.
47
// This is used to define the Super class. for NthElementImageAdaptor
48
template
<
typename
TImage,
typename
TOutputPixelType>
49
class
NthElementImageAdaptorHelper
50
{
51
public
:
52
using
PixelAccessor
=
NthElementPixelAccessor<TOutputPixelType, typename TImage::PixelType>
;
53
54
using
Super
=
ImageAdaptor<TImage, PixelAccessor>
;
55
};
56
57
template
<
typename
TImage,
typename
TOutputPixelType>
58
class
ITK_TEMPLATE_EXPORT
NthElementImageAdaptor
:
public
NthElementImageAdaptorHelper
<TImage, TOutputPixelType>::Super
59
{
60
public
:
61
ITK_DISALLOW_COPY_AND_MOVE(
NthElementImageAdaptor
);
62
64
using
Self
=
NthElementImageAdaptor
;
65
using
Superclass
=
typename
NthElementImageAdaptorHelper<TImage, TOutputPixelType>::Super
;
66
using
Pointer
=
SmartPointer<Self>
;
67
using
ConstPointer
=
SmartPointer<const Self>
;
68
70
itkOverrideGetNameOfClassMacro(
NthElementImageAdaptor
);
71
73
itkNewMacro(
Self
);
74
76
void
77
SelectNthElement
(
unsigned
int
nth)
78
{
79
this->GetPixelAccessor().SetElementNumber(nth);
80
this->Modified();
81
}
84
protected
:
85
NthElementImageAdaptor
() =
default
;
86
~
NthElementImageAdaptor
()
override
=
default
;
87
};
88
}
// end namespace itk
89
90
#endif
itk::NthElementImageAdaptor
Presents an image as being composed of the N-th element of its pixels.
Definition:
itkNthElementImageAdaptor.h:58
itk::SmartPointer< Self >
itkImageAdaptor.h
itk::ImageAdaptor
Give access to partial aspects of voxels from an Image.
Definition:
itkImageAdaptor.h:56
itk::NthElementPixelAccessor
Give access to the N-th of a Container type.
Definition:
itkNthElementPixelAccessor.h:53
itkNthElementPixelAccessor.h
itk::NthElementImageAdaptor::SelectNthElement
void SelectNthElement(unsigned int nth)
Definition:
itkNthElementImageAdaptor.h:77
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition:
itkAnatomicalOrientation.h:29
itk::NthElementImageAdaptorHelper
Definition:
itkNthElementImageAdaptor.h:49
itk::Object
Base class for most ITK classes.
Definition:
itkObject.h:61
itk::DataObject
Base class for all data objects in ITK.
Definition:
itkDataObject.h:293
Generated on
unknown
for ITK by
1.8.16