Medical Imaging Interaction Toolkit  2018.4.99-12ad79a3
Medical Imaging Interaction Toolkit
mitkIFileReader.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 IFileReader_H_HEADER_INCLUDED_C1E7E521
14 #define IFileReader_H_HEADER_INCLUDED_C1E7E521
15 
16 #include <mitkDataStorage.h>
17 #include <mitkIFileIO.h>
18 
19 #include <mitkServiceInterface.h>
20 
21 namespace mitk
22 {
23  class BaseData;
24 }
25 
26 namespace itk
27 {
28  template <class T>
29  class SmartPointer;
30 }
31 
32 namespace mitk
33 {
61  {
62  ~IFileReader() override;
63 
68  virtual void SetInput(const std::string &location) = 0;
69 
79  virtual void SetInput(const std::string &location, std::istream *is) = 0;
80 
85  virtual std::string GetInputLocation() const = 0;
86 
91  virtual std::istream *GetInputStream() const = 0;
92 
104  virtual std::vector<itk::SmartPointer<BaseData>> Read() = 0;
105 
119  virtual DataStorage::SetOfObjects::Pointer Read(mitk::DataStorage &ds) = 0;
120 
124  virtual std::vector< std::string > GetReadFiles() = 0;
125  };
126 
127 } // namespace mitk
128 
129 MITK_DECLARE_SERVICE_INTERFACE(mitk::IFileReader, "org.mitk.IFileReader")
130 
131 #endif /* IFileReader_H_HEADER_INCLUDED_C1E7E521 */
#define MITK_DECLARE_SERVICE_INTERFACE(IFace, IId)
Data management class that handles &#39;was created by&#39; relations.
#define MITKCORE_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
Common interface for all MITK file reader and writer.
Definition: mitkIFileIO.h:35
The common interface for all MITK file readers.