00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkScalarToArrayCastImageFilter_h
00018 #define __itkScalarToArrayCastImageFilter_h
00019
00020 #include "itkImageToImageFilter.h"
00021
00022 namespace itk
00023 {
00024
00041 template <class TInputImage, class TOutputImage>
00042 class ITK_EXPORT ScalarToArrayCastImageFilter :
00043 public ImageToImageFilter< TInputImage, TOutputImage >
00044 {
00045 public:
00047 typedef ScalarToArrayCastImageFilter Self;
00048 typedef ImageToImageFilter< TInputImage, TOutputImage > Superclass;
00049 typedef SmartPointer<Self> Pointer;
00050 typedef SmartPointer<const Self> ConstPointer;
00051
00053 itkNewMacro(Self);
00054 itkTypeMacro(ScalarToArrayCastImageFilter, ImageToImageFilter) ;
00056
00057 typedef typename Superclass::OutputImageRegionType OutputImageRegionType ;
00058 typedef typename TOutputImage::PixelType OutputImagePixelType ;
00059
00060 #ifdef ITK_USE_CONCEPT_CHECKING
00061
00062 itkConceptMacro(OutputHasNumericTraitsCheck,
00063 (Concept::HasNumericTraits<typename OutputImagePixelType::ValueType>));
00064 itkConceptMacro(OutputHasPixelTraitsCheck,
00065 (Concept::HasPixelTraits<OutputImagePixelType>));
00066
00068 #endif
00069
00070 protected:
00071 ScalarToArrayCastImageFilter() ;
00072 virtual ~ScalarToArrayCastImageFilter() {}
00073
00074 void ThreadedGenerateData(const OutputImageRegionType &outputRegionForThread,
00075 int threadId) ;
00076
00077 private:
00078 ScalarToArrayCastImageFilter(const Self&);
00079 void operator=(const Self&);
00080 };
00081
00082 }
00083
00084 #ifndef ITK_MANUAL_INSTANTIATION
00085 #include "itkScalarToArrayCastImageFilter.txx"
00086 #endif
00087
00088 #endif
00089