Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitkDICOMGDCMTagCache.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 mitkDICOMGDCMTagCache_h
14 #define mitkDICOMGDCMTagCache_h
15 
16 #include <mitkDICOMTagCache.h>
17 
18 #include <set>
19 #include <memory>
20 
21 #include <gdcmScanner.h>
22 
23 namespace mitk
24 {
25 
31  {
32  public:
33 
35  itkFactorylessNewMacro( DICOMGDCMTagCache );
36  itkCloneMacro(Self);
37 
45  DICOMDatasetFinding GetTagValue(DICOMImageFrameInfo* frame, const DICOMTag& tag) const override;
46 
56  FindingsListType GetTagValue(DICOMImageFrameInfo* frame, const DICOMTagPath& path) const override;
57 
63 
70  void InitCache(const std::set<DICOMTag>& scannedTags, const std::shared_ptr<gdcm::Scanner>& scanner, const StringList& inputFiles);
71 
76  const gdcm::Scanner& GetScanner() const;
77 
78  protected:
79 
81  ~DICOMGDCMTagCache() override;
82 
83  std::set<DICOMTag> m_ScannedTags;
84 
85  std::shared_ptr<gdcm::Scanner> m_Scanner;
86 
88 
89  private:
91  };
92 }
93 
94 #endif
#define MITKDICOM_EXPORT
Tag cache implementation used by the DICOMGDCMTagScanner.
std::shared_ptr< gdcm::Scanner > m_Scanner
~DICOMGDCMTagCache() override
void InitCache(const std::set< DICOMTag > &scannedTags, const std::shared_ptr< gdcm::Scanner > &scanner, const StringList &inputFiles)
Initialize the cache with scan results from a gdcm::Scanner.
FindingsListType GetTagValue(DICOMImageFrameInfo *frame, const DICOMTagPath &path) const override
Retrieve tag values for a specific frame and tag path.
DICOMDatasetFinding GetTagValue(DICOMImageFrameInfo *frame, const DICOMTag &tag) const override
Retrieve a tag value for a specific frame and tag.
mitkClassMacro(DICOMGDCMTagCache, DICOMTagCache)
const gdcm::Scanner & GetScanner() const
Get a const reference to the underlying gdcm::Scanner.
DICOMDatasetAccessingImageFrameList GetFrameInfoList() const override
Retrieve the list of frame info objects from the scan result.
std::set< DICOMTag > m_ScannedTags
DICOMDatasetAccessingImageFrameList m_ScanResult
Describes a frame within a DICOM file.
Abstract base class for caching DICOM tag values scanned from files.
std::list< DICOMDatasetFinding > FindingsListType
A list of DICOMDatasetFinding instances.
Class used to identify (nested) attributes in a DICOM dataset.
Representation of a DICOM tag.
Definition: mitkDICOMTag.h:33
Find image slices visible on a given plane.
std::vector< std::string > StringList
A list of strings, used throughout the DICOM module to hold file paths and similar data.
std::vector< DICOMDatasetAccessingImageFrameInfo::Pointer > DICOMDatasetAccessingImageFrameList
A list of smart pointers to DICOMDatasetAccessingImageFrameInfo instances.
Result structure for DICOMDatasetAccess::GetTagValueAsString.