Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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.