/*========================================================================= Program: Tensor ToolKit - TTK Module: $URL$ Language: C++ Date: $Date$ Version: $Revision$ Copyright (c) INRIA 2010. All rights reserved. See LICENSE.txt for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #ifndef _itk_CircleTensorImageSource_h_ #define _itk_CircleTensorImageSource_h_ #include "itkImageSource.h" namespace itk { template class CircleTensorImageSource : public ImageSource { public: typedef CircleTensorImageSource Self; typedef ImageSource Superclass; typedef SmartPointer Pointer; typedef SmartPointer ConstPointer; itkNewMacro (Self); itkTypeMacro (CircleTensorImageSource, ImageSource); typedef TTensorImage TensorImageType; typedef typename TensorImageType::PixelType TensorType; typedef typename TensorImageType::RegionType RegionType; typedef typename TensorImageType::PointType PointType; typedef typename TensorType::VectorType VectorType; itkSetMacro (Radius1, double); itkGetMacro (Radius1, double); itkSetMacro (Radius2, double); itkGetMacro (Radius2, double); protected: CircleTensorImageSource() { m_Radius1 = 1.0; m_Radius2 = 2.0; } ~CircleTensorImageSource(){}; virtual void DynamicThreadedGenerateData (const RegionType&); virtual void GenerateOutputInformation(); private: CircleTensorImageSource(const Self&); void operator=(const Self&); double m_Radius1; double m_Radius2; }; } // end of namespace #include "itkCircleTensorImageSource.txx" #endif