00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date: 2009-05-13 18:06:46 +0200 (Mi, 13 Mai 2009) $ 00006 Version: $Revision: 5308 $ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html 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 00018 00019 #ifndef _MITK_DIFFUSION_IMAGE_DATA_SOURCE_H_HEADER_ 00020 #define _MITK_DIFFUSION_IMAGE_DATA_SOURCE_H_HEADER_ 00021 00022 #include "mitkImageSource.h" 00023 #include "MitkDiffusionImagingExports.h" 00024 00025 namespace mitk { 00026 00027 template<typename TPixelType> 00028 class DiffusionImage; 00029 /*class DiffusionImage<double>; 00030 class DiffusionImage<int>; 00031 class DiffusionImage<unsigned int>; 00032 class DiffusionImage<short>; 00033 class DiffusionImage<unsigned short>; 00034 class DiffusionImage<char>; 00035 class DiffusionImage<unsigned char>; 00036 class DiffusionImage<long>; 00037 class DiffusionImage<unsigned long>;*/ 00038 00039 //##Documentation 00040 //## @brief Superclass of all classes generating diffusion volumes (instances 00041 //## of class DiffusionImage) as output. 00042 //## 00043 //## @ingroup Process 00044 template<typename TPixelType> 00045 class MitkDiffusionImaging_EXPORT DiffusionImageSource : public ImageSource 00046 { 00047 public: 00048 mitkClassMacro(DiffusionImageSource, BaseProcess); 00049 itkNewMacro(Self); 00050 00051 typedef DiffusionImage<TPixelType> OutputType; 00052 typedef itk::DataObject::Pointer DataObjectPointer; 00053 00054 virtual DataObjectPointer MakeOutput(unsigned int idx); 00055 00056 00057 //void SetOutput(OutputType* output); 00058 00059 //OutputType* GetOutput() 00060 //{return Superclass::GetOutput();} 00061 00062 //OutputType* GetOutput(unsigned int idx); 00063 00064 //virtual void GraftOutput(OutputType* graft); 00065 00066 //virtual void GraftNthOutput(unsigned int idx, OutputType *graft); 00067 00068 protected: 00069 DiffusionImageSource(); 00070 00071 virtual ~DiffusionImageSource(); 00072 }; 00073 00074 } // namespace mitk 00075 00076 #include "mitkDiffusionImageSource.cpp" 00077 00078 00079 #endif /* _MITK_DIFFUSION_IMAGE_DATA_SOURCE_H_HEADER_ */