00001 #ifndef _itk_TensorToL2NormImageFilter_h_ 00002 #define _itk_TensorToL2NormImageFilter_h_ 00003 00004 #include "itkImageToImageFilter.h" 00005 00006 namespace itk 00007 { 00008 00009 template <class TInputImage, class TOutputImage> 00010 class ITK_EXPORT TensorToL2NormImageFilter 00011 : public ImageToImageFilter<TInputImage, TOutputImage> 00012 { 00013 00014 public: 00015 00016 typedef TensorToL2NormImageFilter Self; 00017 typedef ImageToImageFilter<TInputImage, TOutputImage> Superclass; 00018 00019 typedef SmartPointer<Self> Pointer; 00020 typedef SmartPointer<const Self> ConstPointer; 00021 00022 itkTypeMacro (TensorToL2NormImageFilter, ImageToImageFilter); 00023 00024 itkStaticConstMacro (ImageDimension, unsigned int, 00025 TOutputImage::ImageDimension); 00026 00027 itkNewMacro (Self); 00028 00029 typedef TInputImage InputImageType; 00030 typedef typename InputImageType::PixelType InputPixelType; 00031 typedef TOutputImage OutputImageType; 00032 typedef typename OutputImageType::PixelType OutputPixelType; 00033 typedef typename OutputImageType::RegionType OutputImageRegionType; 00034 00035 protected: 00036 TensorToL2NormImageFilter(){}; 00037 ~TensorToL2NormImageFilter(){}; 00038 00039 void PrintSelf (std::ostream& os, Indent indent) const 00040 { 00041 Superclass::PrintSelf (os, indent); 00042 } 00043 00044 00045 void ThreadedGenerateData(const OutputImageRegionType &outputRegionForThread, int threadId); 00046 00047 00048 private: 00049 TensorToL2NormImageFilter (const Self&); 00050 void operator=(const Self&); 00051 00052 }; 00053 00054 00055 } // end of namespace 00056 00057 00058 #ifndef ITK_MANUAL_INSTANTIATION 00059 #include "itkTensorToL2NormImageFilter.txx" 00060 #endif 00061 00062 00063 #endif