00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision: 13129 $ 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 __itkImportMitkImageContainer_h 00019 #define __itkImportMitkImageContainer_h 00020 00021 #include <itkImportImageContainer.h> 00022 #include <mitkImageDataItem.h> 00023 00024 namespace itk 00025 { 00026 00041 template <typename TElementIdentifier, typename TElement> 00042 class ImportMitkImageContainer: public ImportImageContainer<TElementIdentifier, TElement> 00043 { 00044 public: 00046 typedef ImportMitkImageContainer Self; 00047 typedef Object Superclass; 00048 typedef SmartPointer<Self> Pointer; 00049 typedef SmartPointer<const Self> ConstPointer; 00050 00052 typedef TElementIdentifier ElementIdentifier; 00053 typedef TElement Element; 00054 00056 itkNewMacro(Self); 00057 00059 itkTypeMacro(ImportMitkImageContainer, ImportImageContainer); 00060 00062 //TElement *GetImportPointer() {return m_ImportPointer;}; 00063 00065 void SetImageDataItem(mitk::ImageDataItem* imageDataItem); 00066 00067 protected: 00068 ImportMitkImageContainer(); 00069 virtual ~ImportMitkImageContainer(); 00070 00074 void PrintSelf(std::ostream& os, Indent indent) const; 00075 00076 private: 00077 ImportMitkImageContainer(const Self&); //purposely not implemented 00078 void operator=(const Self&); //purposely not implemented 00079 00080 mitk::ImageDataItem::Pointer m_ImageDataItem; 00081 }; 00082 00083 } // end namespace itk 00084 00085 // Define instantiation macro for this template. 00086 #define ITK_TEMPLATE_ImportMitkImageContainer(_, EXPORT, x, y) namespace itk { \ 00087 _(2(class EXPORT ImportMitkImageContainer< ITK_TEMPLATE_2 x >)) \ 00088 namespace Templates { typedef ImportMitkImageContainer< ITK_TEMPLATE_2 x > ImportMitkImageContainer##y; } \ 00089 } 00090 00091 //#if ITK_TEMPLATE_EXPLICIT 00092 //# include "Templates/itkImportMitkImageContainer+-.h" 00093 //#endif 00094 00095 #if ITK_TEMPLATE_TXX 00096 # include "itkImportMitkImageContainer.txx" 00097 #endif 00098 00099 #endif