Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itkExtractOrthogonalSwath2DImageFilter.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Insight Segmentation & Registration Toolkit 00004 Module: $RCSfile: itkExtractOrthogonalSwath2DImageFilter.h,v $ 00005 Language: C++ 00006 Date: $Date: 2003/11/14 14:52:47 $ 00007 Version: $Revision: 1.4 $ 00008 00009 Copyright (c) Insight Software Consortium. All rights reserved. 00010 See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 #ifndef __itkExtractOrthogonalSwath2DImageFilter_h 00018 #define __itkExtractOrthogonalSwath2DImageFilter_h 00019 00020 #include "itkImageAndPathToImageFilter.h" 00021 #include "itkParametricPath.h" 00022 00023 namespace itk 00024 { 00025 00040 template <class TImage> 00041 class ITK_EXPORT ExtractOrthogonalSwath2DImageFilter : public 00042 ImageAndPathToImageFilter<TImage,ParametricPath<2>,TImage> 00043 { 00044 public: 00046 typedef ExtractOrthogonalSwath2DImageFilter Self; 00047 typedef ImageAndPathToImageFilter<TImage,ParametricPath<2>,TImage> Superclass; 00048 typedef SmartPointer<Self> Pointer; 00049 typedef SmartPointer<const Self> ConstPointer; 00050 00052 itkNewMacro(Self); 00053 00055 itkTypeMacro(ExtractOrthogonalSwath2DImageFilter, ImageAndPathToImageFilter); 00056 00058 typedef TImage ImageType; 00059 typedef typename ImageType::Pointer ImagePointer; 00060 typedef typename ImageType::ConstPointer ImageConstPointer; 00061 typedef typename ImageType::RegionType ImageRegionType; 00062 typedef typename ImageType::IndexType ImageIndexType; 00063 typedef typename ImageType::PixelType ImagePixelType; 00064 typedef ParametricPath<2> PathType; 00065 typedef typename PathType::ConstPointer PathConstPointer; 00066 typedef typename PathType::InputType PathInputType; 00067 typedef typename PathType::OutputType PathOutputType; 00068 typedef typename PathType::IndexType PathIndexType; 00069 typedef typename PathType::ContinuousIndexType PathContinuousIndexType; 00070 typedef typename PathType::OffsetType PathOffsetType; 00071 typedef typename PathType::VectorType PathVectorType; 00072 typedef typename ImageType::SizeType SizeType; 00073 00074 00076 itkStaticConstMacro(PathDimension, unsigned int, 00077 2); 00078 itkStaticConstMacro(ImageDimension, unsigned int, 00079 TImage::ImageDimension); 00080 00087 virtual void SetSpacing( const double spacing[ImageDimension] ); 00088 virtual void SetSpacing( const float spacing[ImageDimension] ); 00089 virtual const double* GetSpacing() const; 00090 00095 virtual void SetOrigin( const double origin[ImageDimension] ); 00096 virtual void SetOrigin( const float origin[ImageDimension] ); 00097 virtual const double * GetOrigin() const; 00098 00100 itkSetMacro( Size, SizeType ) 00101 00104 itkSetMacro( DefaultPixelValue, ImagePixelType ) 00105 00106 //-------------------------------------------------------------------------- 00107 // 00108 00110 virtual void EnlargeOutputRequestedRegion(DataObject *output) 00111 { 00112 output->SetRequestedRegionToLargestPossibleRegion(); 00113 } 00114 00115 // 00116 //-------------------------------------------------------------------------- 00117 00118 protected: 00119 ExtractOrthogonalSwath2DImageFilter() 00120 { 00121 m_DefaultPixelValue = NumericTraits<ImagePixelType>::Zero; 00122 m_Size[0] = 512; 00123 m_Size[1] = 16*2+1; // must be odd 00124 m_Origin[0] = m_Origin[1] = 0.0; 00125 m_Spacing[0] = m_Spacing[1] = 1.0; 00126 }; 00127 virtual ~ExtractOrthogonalSwath2DImageFilter() {}; 00128 void PrintSelf(std::ostream& os, Indent indent) const; 00129 00130 //-------------------------------------------------------------------------- 00131 // 00132 00134 virtual void GenerateOutputInformation(void); 00135 00137 virtual void GenerateInputRequestedRegion() 00138 { 00139 Superclass::GenerateInputRequestedRegion(); 00140 ( const_cast< ImageType * > (GetImageInput()) ) -> 00141 SetRequestedRegionToLargestPossibleRegion(); 00142 ( const_cast< PathType * > (GetPathInput()) ) -> 00143 SetRequestedRegionToLargestPossibleRegion(); 00144 } 00145 00146 virtual void GenerateData(void); 00147 00148 // 00149 //-------------------------------------------------------------------------- 00150 00151 private: 00152 ExtractOrthogonalSwath2DImageFilter(const Self&); //purposely not implemented 00153 void operator=(const Self&); //purposely not implemented 00154 00155 ImagePixelType m_DefaultPixelValue; 00156 SizeType m_Size; 00157 double m_Origin[ImageDimension]; 00158 double m_Spacing[ImageDimension]; 00159 }; 00160 00161 } // end namespace itk 00162 00163 #ifndef ITK_MANUAL_INSTANTIATION 00164 #include "itkExtractOrthogonalSwath2DImageFilter.txx" 00165 #endif 00166 00167 #endif

Generated at Sun Apr 1 02:27:52 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000