00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
#ifndef __itkMedianImageFilter_h
00018
#define __itkMedianImageFilter_h
00019
00020
#include "itkImageToImageFilter.h"
00021
#include "itkImage.h"
00022
00023
namespace itk
00024 {
00044
template <
class TInputImage,
class TOutputImage>
00045 class ITK_EXPORT MedianImageFilter :
00046
public ImageToImageFilter< TInputImage, TOutputImage >
00047 {
00048
public:
00050
itkStaticConstMacro(InputImageDimension,
unsigned int,
00051 TInputImage::ImageDimension);
00052
itkStaticConstMacro(OutputImageDimension,
unsigned int,
00053 TOutputImage::ImageDimension);
00054
00056
typedef TInputImage
InputImageType;
00057 typedef TOutputImage
OutputImageType;
00058
00060
typedef MedianImageFilter
Self;
00061 typedef ImageToImageFilter< InputImageType, OutputImageType> Superclass;
00062 typedef SmartPointer<Self> Pointer;
00063 typedef SmartPointer<const Self> ConstPointer;
00064
00066
itkNewMacro(
Self);
00067
00069
itkTypeMacro(MedianImageFilter,
ImageToImageFilter);
00070
00072
typedef typename InputImageType::PixelType
InputPixelType;
00073 typedef typename OutputImageType::PixelType
OutputPixelType;
00074
00075
typedef typename InputImageType::RegionType
InputImageRegionType;
00076 typedef typename OutputImageType::RegionType
OutputImageRegionType;
00077
00078
typedef typename InputImageType::SizeType
InputSizeType;
00079
00081
itkSetMacro(Radius,
InputSizeType);
00082
00084
itkGetConstReferenceMacro(Radius,
InputSizeType);
00085
00092
virtual void GenerateInputRequestedRegion() throw(
InvalidRequestedRegionError);
00093
00094 protected:
00095 MedianImageFilter();
00096 virtual ~MedianImageFilter() {}
00097 void PrintSelf(std::ostream& os,
Indent indent)
const;
00098
00109
void ThreadedGenerateData(
const OutputImageRegionType& outputRegionForThread,
00110
int threadId );
00111
00112
private:
00113 MedianImageFilter(
const Self&);
00114
void operator=(
const Self&);
00115
00116
InputSizeType m_Radius;
00117 };
00118
00119 }
00120
00121
#ifndef ITK_MANUAL_INSTANTIATION
00122
#include "itkMedianImageFilter.txx"
00123
#endif
00124
00125
#endif