ITK  4.6.0
Insight Segmentation and Registration Toolkit
itkGPUDiscreteGaussianImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
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 __itkGPUDiscreteGaussianImageFilter_h
19 #define __itkGPUDiscreteGaussianImageFilter_h
20 
21 #include "itkGPUImage.h"
25 
26 namespace itk
27 {
46 template< typename TInputImage, typename TOutputImage >
48  public GPUImageToImageFilter< TInputImage, TOutputImage, DiscreteGaussianImageFilter< TInputImage, TOutputImage > >
49 {
50 public:
57 
59  itkNewMacro(Self);
60 
63 
65  typedef TInputImage InputImageType;
66  typedef TOutputImage OutputImageType;
67 
70  itkStaticConstMacro(ImageDimension, unsigned int,
71  TOutputImage::ImageDimension);
72 
75  typedef typename TOutputImage::PixelType OutputPixelType;
76  typedef typename TOutputImage::InternalPixelType OutputInternalPixelType;
77  typedef typename TInputImage::PixelType InputPixelType;
78  typedef typename TInputImage::InternalPixelType InputInternalPixelType;
79 
83 
84  typedef OutputPixelType
86  typedef GPUImage< OutputPixelType,
98 
99  virtual void GenerateInputRequestedRegion();
100 
101 protected:
103 
105  }
106  void PrintSelf(std::ostream & os, Indent indent) const;
107 
109  void GPUGenerateData();
110 
111 private:
112  GPUDiscreteGaussianImageFilter(const Self &); //purposely not implemented
113  void operator=(const Self &); //purposely not implemented
114 
118  std::vector< typename IntermediateFilterType::Pointer > m_IntermediateFilters;
120 };
121 } // end namespace itk
122 
123 #ifndef ITK_MANUAL_INSTANTIATION
124 #include "itkGPUDiscreteGaussianImageFilter.hxx"
125 #endif
126 
127 #endif
class to abstract the behaviour of the GPU filters.
NumericTraits< RealOutputPixelType >::ValueType RealOutputPixelValueType
GPUImageToImageFilter< TInputImage, TOutputImage, CPUSuperclass > GPUSuperclass
Base class for all process objects that output image data.
Applies a single NeighborhoodOperator to an image region using the GPU.
DiscreteGaussianImageFilter< TInputImage, TOutputImage > CPUSuperclass
Templated n-dimensional image class for the GPU.
Definition: itkGPUImage.h:40
GPUNeighborhoodOperatorImageFilter< InputImageType, RealOutputImageType, RealOutputPixelValueType > FirstFilterType
GPUNeighborhoodOperatorImageFilter< RealOutputImageType, RealOutputImageType, RealOutputPixelValueType > IntermediateFilterType
std::vector< typename IntermediateFilterType::Pointer > m_IntermediateFilters
NumericTraits< InputPixelType >::ValueType InputPixelValueType
TOutputImage::InternalPixelType OutputInternalPixelType
GPUImage< OutputPixelType, ImageDimension > RealOutputImageType
NumericTraits< OutputPixelType >::ValueType OutputPixelValueType
Control indentation during Print() invocation.
Definition: itkIndent.h:49
GPUNeighborhoodOperatorImageFilter< RealOutputImageType, OutputImageType, RealOutputPixelValueType > LastFilterType
Define additional traits for native types such as int or float.
GPUNeighborhoodOperatorImageFilter< InputImageType, OutputImageType, RealOutputPixelValueType > SingleFilterType
Blurs an image by separable convolution with discrete gaussian kernels. This filter performs Gaussian...
Blurs an image by separable convolution with discrete gaussian kernels. This filter performs Gaussian...
void PrintSelf(std::ostream &os, Indent indent) const
TInputImage::InternalPixelType InputInternalPixelType