Medical Imaging Interaction Toolkit  2018.4.99-f51274ea
Medical Imaging Interaction Toolkit
mitkDICOMTagScanner.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 mitkDICOMTagScanner_h
14 #define mitkDICOMTagScanner_h
15 
16 #include <stack>
17 #include "itkMutexLock.h"
18 
19 #include "mitkDICOMEnums.h"
20 #include "mitkDICOMTagPath.h"
21 #include "mitkDICOMTagCache.h"
23 
24 namespace mitk
25 {
26 
42  class MITKDICOMREADER_EXPORT DICOMTagScanner : public itk::Object
43  {
44  public:
46 
50  virtual void AddTag(const DICOMTag& tag) = 0;
54  virtual void AddTags(const DICOMTagList& tags) = 0;
58  virtual void AddTagPath(const DICOMTagPath& path) = 0;
62  virtual void AddTagPaths(const DICOMTagPathList& paths) = 0;
63 
69  virtual void SetInputFiles(const StringList& filenames) = 0;
70 
77  virtual void Scan() = 0;
78 
82  virtual DICOMDatasetAccessingImageFrameList GetFrameInfoList() const = 0;
83 
87  virtual DICOMTagCache::Pointer GetScanCache() const = 0;
88 
89  protected:
90 
92  static std::string GetActiveLocale();
97  void PushLocale() const;
102  void PopLocale() const;
103 
104  DICOMTagScanner();
105  ~DICOMTagScanner() override;
106 
107  private:
108 
109  static itk::MutexLock::Pointer s_LocaleMutex;
110 
111  mutable std::stack<std::string> m_ReplacedCLocales;
112  mutable std::stack<std::locale> m_ReplacedCinLocales;
113 
115  };
116 }
117 
118 #endif
Class is used to identify (nested) attributes in a DICOM dataset. In contrast to the class DICOMTag...
std::vector< DICOMTag > DICOMTagList
Definition: mitkDICOMTag.h:59
Representation of a DICOM tag.
Definition: mitkDICOMTag.h:32
#define MITKDICOMREADER_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:49
std::vector< std::string > StringList
std::vector< DICOMTagPath > DICOMTagPathList
Abstracts the tag scanning process for a set of DICOM files.
std::vector< DICOMDatasetAccessingImageFrameInfo::Pointer > DICOMDatasetAccessingImageFrameList