Medical Imaging Interaction Toolkit  2025.12.02
Medical Imaging Interaction Toolkit
mitkCustomTagParser.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 mitkCustomTagParser_h
14 #define mitkCustomTagParser_h
15 
16 #include<mitkPropertyList.h>
18 
19 #include <MitkCESTExports.h>
20 
21 namespace mitk
22 {
71  {
72  public:
74  CustomTagParser(std::string relevantFile);
75 
77  mitk::PropertyList::Pointer ParseDicomProperty(mitk::TemporoSpatialStringProperty *dicomProperty);
79  mitk::PropertyList::Pointer ParseDicomPropertyString(std::string dicomPropertyString);
80 
81  static std::string ReadListFromFile(const std::string& filePath);
82 
87  static std::string ExtractRevision(std::string sequenceFileName);
88 
89  void SetParseStrategy(std::string parseStrategy);
90  void SetRevisionMappingStrategy(std::string revisionMappingStrategy);
91 
93  static const std::string m_RevisionPropertyName;
94 
96  static const std::string m_JSONRevisionPropertyName;
97 
99  static const std::string m_CESTPropertyPrefix;
100 
101  protected:
102  std::string GetRevisionAppropriateJSONString(std::string revisionString);
103  void GetClosestLowerRevision(std::string revisionString);
104  std::string GetClosestLowerRevision(std::string revisionString, std::vector<int> availableRevisionsVector);
105 
107  bool IsT1Sequence(std::string preparationType, std::string recoveryMode, std::string spoilingType, std::string revisionString);
108 
110  std::string GetOffsetString(std::string samplingType, std::string offset, std::string measurements);
111 
113  std::vector<int> GetExternalRevisions();
115  std::vector<int> GetInternalRevisions();
116 
119 
124 
126  static const std::string m_RevisionIndependentMapping;
128  static const std::string m_DefaultJsonString;
130  std::string m_DicomDataPath;
132  std::string m_ParseStrategy;
135  };
136 
137 }
138 
139 #endif
#define MITKCEST_EXPORT
static std::string ExtractRevision(std::string sequenceFileName)
static std::string ReadListFromFile(const std::string &filePath)
std::string m_ClosestInternalRevision
the closest lower revision provided as resource, empty if none found
std::string GetRevisionAppropriateJSONString(std::string revisionString)
static const std::string m_RevisionIndependentMapping
revision independent mapping to inject into the revision dependent json string
CustomTagParser(std::string relevantFile)
the constructor expects a path to one of the files to be loaded or the directory of the dicom files
std::string GetClosestLowerRevision(std::string revisionString, std::vector< int > availableRevisionsVector)
std::string GetExternalJSONDirectory()
returns the path where external jsons are expected to be located
std::vector< int > GetInternalRevisions()
returns a vector revision numbers of all REVISIONNUMBER.json provided as resources during the compile
static const std::string m_RevisionPropertyName
name of the property for the data acquisition revision
static const std::string m_JSONRevisionPropertyName
name of the property for the json parameter mapping revision
static const std::string m_CESTPropertyPrefix
prefix for all CEST related property names
mitk::PropertyList::Pointer ParseDicomPropertyString(std::string dicomPropertyString)
parse the provided string and return a property list based on the closest revision parameter mapping
bool IsT1Sequence(std::string preparationType, std::string recoveryMode, std::string spoilingType, std::string revisionString)
Decides whether or not the image is likely to be a T1Map, if not it is assumed to be a CEST sequence.
std::string m_ParseStrategy
Should the kind of data be automatically determined or should it be parsed as a specific one.
void GetClosestLowerRevision(std::string revisionString)
static const std::string m_DefaultJsonString
default revision dependent json string if none is found
std::vector< int > GetExternalRevisions()
returns a vector revision numbers of all REVISIONNUMBER.json found beside the MitkCEST library
mitk::PropertyList::Pointer ParseDicomProperty(mitk::TemporoSpatialStringProperty *dicomProperty)
parse the provided dicom property and return a property list based on the closest revision parameter ...
std::string m_ClosestExternalRevision
the closest lower revision provided as a json beside the library, empty if none found
std::string m_RevisionMappingStrategy
How to handle parameter mapping based on absent revision jsons.
void SetRevisionMappingStrategy(std::string revisionMappingStrategy)
void SetParseStrategy(std::string parseStrategy)
std::string GetOffsetString(std::string samplingType, std::string offset, std::string measurements)
Get a string filled with the properly formatted offsets based on the sampling type and offset.
std::string m_DicomDataPath
path to the dicom data
Property for time and space resolved string values.
Find image slices visible on a given plane.