00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date: 2007-12-11 14:46:19 +0100 (Di, 11 Dez 2007) $ 00006 Version: $Revision: 11215 $ 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 #include "mitkNrrdDiffusionImageWriterFactory.h" 00019 00020 #include "itkCreateObjectFunction.h" 00021 #include "itkVersion.h" 00022 00023 #include <mitkNrrdDiffusionImageWriter.h> 00024 00025 namespace mitk 00026 { 00027 00028 template <class T> 00029 class CreateNrrdDiffusionImageWriter : public itk::CreateObjectFunctionBase 00030 { 00031 public: 00032 00034 typedef CreateNrrdDiffusionImageWriter Self; 00035 typedef itk::SmartPointer<Self> Pointer; 00036 00038 itkFactorylessNewMacro(Self); 00039 LightObject::Pointer CreateObject() { typename T::Pointer p = T::New(); 00040 p->Register(); 00041 return p.GetPointer(); 00042 } 00043 00044 protected: 00045 CreateNrrdDiffusionImageWriter() {} 00046 ~CreateNrrdDiffusionImageWriter() {} 00047 00048 private: 00049 CreateNrrdDiffusionImageWriter(const Self&); //purposely not implemented 00050 void operator=(const Self&); //purposely not implemented 00051 }; 00052 00053 NrrdDiffusionImageWriterFactory::NrrdDiffusionImageWriterFactory() 00054 { 00055 typedef short DiffusionPixelType; 00056 this->RegisterOverride("IOWriter", 00057 "NrrdDiffusionImageWriter", 00058 "NrrdDiffusionImage Writer", 00059 1, 00060 mitk::CreateNrrdDiffusionImageWriter< mitk::NrrdDiffusionImageWriter<DiffusionPixelType> >::New()); 00061 } 00062 00063 NrrdDiffusionImageWriterFactory::~NrrdDiffusionImageWriterFactory() 00064 { 00065 } 00066 00067 const char* NrrdDiffusionImageWriterFactory::GetITKSourceVersion() const 00068 { 00069 return ITK_SOURCE_VERSION; 00070 } 00071 00072 const char* NrrdDiffusionImageWriterFactory::GetDescription() const 00073 { 00074 return "NrrdDiffusionImageWriterFactory"; 00075 } 00076 00077 } // end namespace mitk