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: 10345 $ 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 #ifndef __MITK_NRRD_DIFFUSION_VOULMES_IO_FACTORY_CPP__ 00019 #define __MITK_NRRD_DIFFUSION_VOULMES_IO_FACTORY_CPP__ 00020 00021 #include "mitkDiffusionImageSource.h" 00022 #include "mitkDiffusionImage.h" 00023 00024 template<typename TPixelType> 00025 mitk::DiffusionImageSource<TPixelType>::DiffusionImageSource() 00026 { 00027 // Create the output. We use static_cast<> here because we know the default 00028 // output must be of type DiffusionImage 00029 typename mitk::DiffusionImage<TPixelType>::Pointer output 00030 = static_cast<typename mitk::DiffusionImage<TPixelType>*>(this->MakeOutput(0).GetPointer()); 00031 00032 Superclass::SetNumberOfRequiredOutputs(1); 00033 Superclass::SetNthOutput(0, output.GetPointer()); 00034 } 00035 00036 template<typename TPixelType> 00037 mitk::DiffusionImageSource<TPixelType>::~DiffusionImageSource() 00038 { 00039 } 00040 00041 00042 template<typename TPixelType> 00043 itk::DataObject::Pointer mitk::DiffusionImageSource<TPixelType>::MakeOutput( unsigned int /*idx*/ ) 00044 { 00045 return static_cast<itk::DataObject*>(mitk::DiffusionImage<TPixelType>::New().GetPointer()); 00046 } 00047 00048 00049 //template<typename TPixelType> 00050 //mitk::DiffusionImage<TPixelType>* mitk::DiffusionImageSource<TPixelType>::GetOutput() 00051 //{ 00052 // if (this->GetNumberOfOutputs() < 1) 00053 // { 00054 // return 0; 00055 // } 00056 // 00057 // return static_cast<mitk::DiffusionImage<TPixelType>*> 00058 // (this->BaseProcess::GetOutput(0)); 00059 //} 00060 // 00061 //template<typename TPixelType> 00062 //mitk::DiffusionImage<TPixelType>* mitk::DiffusionImageSource<TPixelType>::GetOutput(unsigned int idx) 00063 //{ 00064 // return static_cast<mitk::DiffusionImage<TPixelType>*> 00065 // (this->ProcessObject::GetOutput(idx)); 00066 //} 00067 // 00068 //template<typename TPixelType> 00069 //void mitk::DiffusionImageSource<TPixelType>::SetOutput(mitk::DiffusionImage<TPixelType>* output) 00070 //{ 00071 // itkWarningMacro(<< "SetOutput(): This method is slated to be removed from ITK. Please use GraftOutput() in possible combination with DisconnectPipeline() instead." ); 00072 // BaseProcess::SetNthOutput(0, output); 00073 //} 00074 // 00075 //template<typename TPixelType> 00076 //void mitk::DiffusionImageSource<TPixelType>::GraftOutput(mitk::DiffusionImage<TPixelType>* graft) 00077 //{ 00078 // this->GraftNthOutput(0, graft); 00079 //} 00080 // 00081 //template<typename TPixelType> 00082 //void mitk::DiffusionImageSource<TPixelType>::GraftNthOutput(unsigned int idx, mitk::DiffusionImage<TPixelType> *graft) 00083 //{ 00084 // if (idx < this->GetNumberOfOutputs()) 00085 // { 00086 // mitk::DiffusionImage<TPixelType> * output = this->GetOutput(idx); 00087 // 00088 // if (output && graft) 00089 // { 00090 // // grab a handle to the bulk data of the specified data object 00091 // // output->SetPixelContainer( graft->GetPixelContainer() ); @FIXME!!!! 00092 // 00093 // // copy the region ivars of the specified data object 00094 // output->SetRequestedRegion( graft );//graft->GetRequestedRegion() ); 00095 // // output->SetLargestPossibleRegion( graft->GetLargestPossibleRegion() ); @FIXME!!!! 00096 // // output->SetBufferedRegion( graft->GetBufferedRegion() ); @FIXME!!!! 00097 // 00098 // // copy the meta-information 00099 // output->CopyInformation( graft ); 00100 // } 00101 // } 00102 //} 00103 00104 #endif //__MITK_NRRD_DIFFUSION_VOULMES_IO_FACTORY_CPP__