Medical Imaging Interaction Toolkit  2021.10.99-fd647480
Medical Imaging Interaction Toolkit
mitkCompressedImageContainer.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkCompressedImageContainer_h
14 #define mitkCompressedImageContainer_h
15 
17 #include <mitkImage.h>
18 #include <array>
19 #include <memory>
20 #include <utility>
21 
22 namespace mitk
23 {
25  {
26  public:
29 
31  CompressedImageContainer& operator=(const CompressedImageContainer&) = delete;
32 
33  void CompressImage(const Image* image);
34  Image::Pointer DecompressImage() const;
35 
36  private:
37  using CompressedSliceData = std::pair<int, char*>;
38  using CompressedTimeStepData = std::vector<CompressedSliceData>;
39  using CompressedImageData = std::vector<CompressedTimeStepData>;
40 
41  void ClearCompressedImageData();
42 
43  CompressedImageData m_CompressedImageData;
44 
45  std::unique_ptr<PixelType> m_PixelType;
46  TimeGeometry::Pointer m_TimeGeometry;
47  std::array<unsigned int, 2> m_SliceDimensions;
48  unsigned int m_Dimension;
49  };
50 }
51 
52 #endif
#define MITKDATATYPESEXT_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
Image class for storing images.
Definition: mitkImage.h:69