Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkItkImageIO.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 MITKITKFILEIO_H
14 #define MITKITKFILEIO_H
15 
16 #include "mitkAbstractFileIO.h"
17 
18 #include <itkImageIOBase.h>
19 
20 namespace mitk
21 {
31  {
32  public:
33  ItkImageIO(itk::ImageIOBase::Pointer imageIO);
34  ItkImageIO(const CustomMimeType &mimeType, itk::ImageIOBase::Pointer imageIO, int rank);
35 
36  // -------------- AbstractFileReader -------------
37 
39  std::vector<itk::SmartPointer<BaseData>> Read() override;
40 
41  ConfidenceLevel GetReaderConfidenceLevel() const override;
42 
43  // -------------- AbstractFileWriter -------------
44 
45  void Write() override;
46  ConfidenceLevel GetWriterConfidenceLevel() const override;
47 
48  protected:
49  virtual std::vector<std::string> FixUpImageIOExtensions(const std::string &imageIOName);
50  virtual void FixUpCustomMimeTypeName(const std::string &imageIOName, CustomMimeType &customMimeType);
51 
52  // Fills the m_DefaultMetaDataKeys vector with default values
53  virtual void InitializeDefaultMetaDataKeys();
54 
55  private:
56  ItkImageIO(const ItkImageIO &other);
57 
58  ItkImageIO *IOClone() const override;
59 
60  itk::ImageIOBase::Pointer m_ImageIO;
61 
62  std::vector<std::string> m_DefaultMetaDataKeys;
63  };
64 
65 } // namespace mitk
66 
67 #endif /* MITKITKFILEIO_H */
#define MITKCORE_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
std::vector< itk::SmartPointer< BaseData > > Read() override=0
Reads a path or stream and creates a list of BaseData objects.
The CustomMimeType class represents a custom mime-type which may be registered as a service object...
ConfidenceLevel
A confidence level describing the confidence of the reader or writer in handling the given data...
Definition: mitkIFileIO.h:45
Abstract class for implementing a reader and writer.