00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
#ifndef __itkMinimumMaximumImageFilter_h
00018
#define __itkMinimumMaximumImageFilter_h
00019
00020
#include "itkImageToImageFilter.h"
00021
#include "itkNumericTraits.h"
00022
00023
namespace itk
00024 {
00036
template <
class TInputImage>
00037 class ITK_EXPORT MinimumMaximumImageFilter :
00038
public ImageToImageFilter< TInputImage, TInputImage>
00039 {
00040
public:
00042
itkStaticConstMacro(InputImageDimension,
unsigned int,
00043 TInputImage::ImageDimension);
00044
itkStaticConstMacro(OutputImageDimension,
unsigned int,
00045 TInputImage::ImageDimension);
00046
00048
typedef MinimumMaximumImageFilter
Self;
00049 typedef ImageToImageFilter< TInputImage, TInputImage> Superclass;
00050 typedef SmartPointer<Self> Pointer;
00051 typedef SmartPointer<const Self> ConstPointer;
00052
00054
itkNewMacro(
Self);
00055
00057
itkTypeMacro(MinimumMaximumImageFilter,
ImageToImageFilter);
00058
00060
typedef TInputImage
InputImageType;
00061 typedef typename InputImageType::PixelType
InputPixelType;
00062
00064
itkGetMacro(Minimum,
InputPixelType);
00065
00067
itkGetMacro(Maximum,
InputPixelType);
00068
00069
protected:
00070 MinimumMaximumImageFilter()
00071 {
00072 m_Minimum =
NumericTraits<InputPixelType>::NonpositiveMin();
00073 m_Maximum =
NumericTraits<InputPixelType>::max();
00074 }
00075
virtual ~MinimumMaximumImageFilter() {}
00076 void PrintSelf(std::ostream& os,
Indent indent)
const;
00077
00078
void GenerateData();
00079
00080
private:
00081 MinimumMaximumImageFilter(
const Self&);
00082
void operator=(
const Self&);
00083
00084
InputPixelType m_Minimum;
00085
InputPixelType m_Maximum;
00086 };
00087
00088 }
00089
00090
#ifndef ITK_MANUAL_INSTANTIATION
00091
#include "itkMinimumMaximumImageFilter.txx"
00092
#endif
00093
00094
#endif