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 "mitkNrrdQBallImageWriterFactory.h" 00019 00020 #include "itkCreateObjectFunction.h" 00021 #include "itkVersion.h" 00022 00023 #include <mitkNrrdQBallImageWriter.h> 00024 00025 namespace mitk 00026 { 00027 00028 template <class T> 00029 class CreateNrrdQBallImageWriter : public itk::CreateObjectFunctionBase 00030 { 00031 public: 00032 00034 typedef CreateNrrdQBallImageWriter 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 CreateNrrdQBallImageWriter() {} 00046 ~CreateNrrdQBallImageWriter() {} 00047 00048 private: 00049 CreateNrrdQBallImageWriter(const Self&); //purposely not implemented 00050 void operator=(const Self&); //purposely not implemented 00051 }; 00052 00053 NrrdQBallImageWriterFactory::NrrdQBallImageWriterFactory() 00054 { 00055 typedef short DiffusionPixelType; 00056 this->RegisterOverride("IOWriter", 00057 "NrrdQBallImageWriter", 00058 "NrrdQBallImage Writer", 00059 1, 00060 mitk::CreateNrrdQBallImageWriter< mitk::NrrdQBallImageWriter >::New()); 00061 } 00062 00063 NrrdQBallImageWriterFactory::~NrrdQBallImageWriterFactory() 00064 { 00065 } 00066 00067 const char* NrrdQBallImageWriterFactory::GetITKSourceVersion() const 00068 { 00069 return ITK_SOURCE_VERSION; 00070 } 00071 00072 const char* NrrdQBallImageWriterFactory::GetDescription() const 00073 { 00074 return "NrrdQBallImageWriterFactory"; 00075 } 00076 00077 } // end namespace mitk