Medical Imaging Interaction Toolkit  2022.04.99-194dd5d8
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 
118  std::string GetExternalJSONDirectory();
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 // MITKCUSTOMTAGPARSER_H
DataCollection - Class to facilitate loading/accessing structured data.
static const std::string m_CESTPropertyPrefix
prefix for all CEST related property names
static const std::string m_RevisionPropertyName
name of the property for the data acquisition revision
std::string m_RevisionMappingStrategy
How to handle parameter mapping based on absent revision jsons.
std::string m_DicomDataPath
path to the dicom data
std::string m_ClosestExternalRevision
the closest lower revision provided as a json beside the library, empty if none found ...
static const std::string m_DefaultJsonString
default revision dependent json string if none is found
std::string m_ClosestInternalRevision
the closest lower revision provided as resource, empty if none found
std::string m_ParseStrategy
Should the kind of data be automatically determined or should it be parsed as a specific one...
static const std::string m_RevisionIndependentMapping
revision independent mapping to inject into the revision dependent json string
#define MITKCEST_EXPORT
static const std::string m_JSONRevisionPropertyName
name of the property for the json parameter mapping revision
Property for time and space resolved string values.