00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision: 1.0 $ 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 mitkCompressedImageContainer_h_Included 00019 #define mitkCompressedImageContainer_h_Included 00020 00021 #include "mitkCommon.h" 00022 #include "MitkExtExports.h" 00023 #include "mitkImage.h" 00024 #include "mitkGeometry3D.h" 00025 #include "mitkImageDataItem.h" 00026 00027 #include <itkObject.h> 00028 00029 #include <vector> 00030 00031 namespace mitk 00032 { 00033 00041 class MitkExt_EXPORT CompressedImageContainer : public itk::Object 00042 { 00043 public: 00044 00045 mitkClassMacro(CompressedImageContainer, Object); 00046 itkNewMacro(CompressedImageContainer); 00047 00054 void SetImage( Image* ); 00055 00063 Image::Pointer GetImage(); 00064 00065 protected: 00066 00067 CompressedImageContainer(); // purposely hidden 00068 virtual ~CompressedImageContainer(); 00069 00070 PixelType m_PixelType; 00071 00072 unsigned int m_ImageDimension; 00073 std::vector<unsigned int> m_ImageDimensions; 00074 00075 unsigned long m_OneTimeStepImageSizeInBytes; 00076 00077 unsigned int m_NumberOfTimeSteps; 00078 00080 std::vector< std::pair<unsigned char*, unsigned long> > m_ByteBuffers; 00081 00082 Geometry3D::Pointer m_ImageGeometry; 00083 }; 00084 00085 } // namespace 00086 00087 #endif 00088 00089