Medical Imaging Interaction Toolkit  2016.11.0
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,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef mitkDICOMFileReaderSelector_h
18 #define mitkDICOMFileReaderSelector_h
19 
20 #include "mitkDICOMFileReader.h"
21 
22 #include <usModuleResource.h>
23 
24 namespace mitk
25 {
26 
46 class MITKDICOMREADER_EXPORT DICOMFileReaderSelector : public itk::LightObject
47 {
48  public:
49 
50  typedef std::list<DICOMFileReader::Pointer> ReaderList;
51 
53  itkNewMacro( DICOMFileReaderSelector )
54 
57  void AddConfig(const std::string& xmlDescription);
60  void AddConfigFile(const std::string& filename);
61 
63  void AddFileReaderCanditate(DICOMFileReader::Pointer reader);
64 
67  void LoadBuiltIn3DConfigs();
70  void LoadBuiltIn3DnTConfigs();
71 
75  ReaderList GetAllConfiguredReaders() const;
76 
78  void SetInputFiles(StringList filenames);
80  const StringList& GetInputFiles() const;
81 
83  DICOMFileReader::Pointer GetFirstReaderWithMinimumNumberOfOutputImages();
84 
85  protected:
86 
88  virtual ~DICOMFileReaderSelector();
89 
90  void AddConfigsFromResources(const std::string& path);
91  void AddConfigFromResource(const std::string& resourcename);
92  void AddConfigFromResource(us::ModuleResource& resource);
93 
94  private:
95 
96  StringList m_PossibleConfigurations;
97  StringList m_InputFilenames;
98  ReaderList m_Readers;
99 
100  };
101 
102 } // namespace
103 
104 #endif // mitkDICOMFileReaderSelector_h
#define MITKDICOMREADER_EXPORT
STL namespace.
DataCollection - Class to facilitate loading/accessing structured data.
std::list< DICOMFileReader::Pointer > ReaderList
Simple best-reader selection.
static const std::string filename
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:53
std::vector< std::string > StringList
Interface for DICOM readers that produce mitk::Images.