Medical Imaging Interaction Toolkit  2018.4.99-1bab67a2
Medical Imaging Interaction Toolkit
mitkDICOMFileReaderSelector.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 mitkDICOMFileReaderSelector_h
14 #define mitkDICOMFileReaderSelector_h
15 
16 #include "mitkDICOMFileReader.h"
17 
18 #include <usModuleResource.h>
19 
20 namespace mitk
21 {
22 
42 class MITKDICOMREADER_EXPORT DICOMFileReaderSelector : public itk::LightObject
43 {
44  public:
45 
46  typedef std::list<DICOMFileReader::Pointer> ReaderList;
47 
49  itkNewMacro( DICOMFileReaderSelector );
50 
53  void AddConfig(const std::string& xmlDescription);
56  void AddConfigFile(const std::string& filename);
59  void AddConfigFromResource(us::ModuleResource& resource);
60 
62  void AddFileReaderCanditate(DICOMFileReader::Pointer reader);
63 
66  void LoadBuiltIn3DConfigs();
69  void LoadBuiltIn3DnTConfigs();
70 
74  ReaderList GetAllConfiguredReaders() const;
75 
77  void SetInputFiles(StringList filenames);
79  const StringList& GetInputFiles() const;
80 
82  DICOMFileReader::Pointer GetFirstReaderWithMinimumNumberOfOutputImages();
83 
84  protected:
85 
87  ~DICOMFileReaderSelector() override;
88 
89  void AddConfigsFromResources(const std::string& path);
90  void AddConfigFromResource(const std::string& resourcename);
91 
92  private:
93 
94  StringList m_PossibleConfigurations;
95  StringList m_InputFilenames;
96  ReaderList m_Readers;
97 
98  };
99 
100 } // namespace
101 
102 #endif // mitkDICOMFileReaderSelector_h
#define MITKDICOMREADER_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
std::list< DICOMFileReader::Pointer > ReaderList
Simple best-reader selection.
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:49
std::vector< std::string > StringList