go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxOpenCLMovingGenericPyramid.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright UMC Utrecht and contributors
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 __elxOpenCLMovingGenericPyramid_h
19#define __elxOpenCLMovingGenericPyramid_h
20
21#include "elxIncludes.h" // include first to avoid MSVS warning
23#include "itkGPUImage.h"
24
25namespace elastix
26{
27
47template< class TElastix >
49 public MovingGenericPyramid< TElastix >
50{
51public:
52
58 typedef itk::SmartPointer< Self > Pointer;
59 typedef itk::SmartPointer< const Self > ConstPointer;
60
62 itkNewMacro( Self );
63
66
71 elxClassNameMacro( "OpenCLMovingGenericImagePyramid" );
72
74 itkStaticConstMacro( ImageDimension, unsigned int, Superclass1::ImageDimension );
75
79 typedef typename Superclass1::InputImageType::PixelType InputImagePixelType;
80 typedef typename Superclass1::OutputImageType::PixelType OutputImagePixelType;
81
83 typedef typename itk::ObjectFactoryBase::Pointer ObjectFactoryBasePointer;
84
91
96
98 virtual void BeforeRegistration( void );
99
101 virtual void ReadFromFile( void );
102
103protected:
104
106 void BeforeGenerateData( void );
107
109 virtual void GenerateData( void );
110
115
116private:
117
119 OpenCLMovingGenericPyramid( const Self & ); // purposely not implemented
121 void operator=( const Self & ); // purposely not implemented
122
124 void RegisterFactories( void );
125
127
129 void SwitchingToCPUAndReport( const bool configError );
130
132 void ReportToLog( void );
133
139 std::vector< ObjectFactoryBasePointer > m_Factories;
140};
141
142} // end namespace elastix
143
144#ifndef ITK_MANUAL_INSTANTIATION
145#include "elxOpenCLMovingGenericPyramid.hxx"
146#endif
147
148#endif // end #ifndef __elxOpenCLMovingGenericPyramid_h
A pyramid based on the itk::GenericMultiResolutionPyramidImageFilter.
This class is the elastix base class for all MovingImagePyramids.
A pyramid based on the itk::GenericMultiResolutionPyramidImageFilter. The parameters used in this cla...
std::vector< ObjectFactoryBasePointer > m_Factories
MovingGenericPyramid< TElastix > Superclass
MovingGenericPyramid< TElastix >::Superclass2 Superclass2
itkStaticConstMacro(ImageDimension, unsigned int, Superclass1::ImageDimension)
Superclass1::InputImageType::PixelType InputImagePixelType
itk::ObjectFactoryBase::Pointer ObjectFactoryBasePointer
void SwitchingToCPUAndReport(const bool configError)
MovingGenericPyramid< TElastix >::Superclass1 Superclass1
elxClassNameMacro("OpenCLMovingGenericImagePyramid")
itk::GPUImage< OutputImagePixelType, OutputImageType::ImageDimension > GPUOutputImageType
Superclass1::OutputImageType::PixelType OutputImagePixelType
itk::GPUImage< InputImagePixelType, InputImageType::ImageDimension > GPUInputImageType
itk::SmartPointer< const Self > ConstPointer
itk::GenericMultiResolutionPyramidImageFilter< GPUInputImageType, GPUOutputImageType, float > GPUPyramidType
virtual void BeforeRegistration(void)
Templated n-dimensional image class for the GPU.
Definition: itkGPUImage.h:64
Framework for creating images in a multi-resolution pyramid.


Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo