14 #ifndef GDCMANONYMIZER_H
15 #define GDCMANONYMIZER_H
28 class CryptographicMessageSyntax;
85 bool Empty(
Tag const &t );
91 bool Remove(
Tag const &t );
97 bool Replace(
Tag const &t,
const char *value );
101 bool Replace(
Tag const &t,
const char *value,
VL const & vl );
106 bool RemovePrivateTags();
109 bool RemoveGroupLength();
112 bool RemoveRetired();
126 bool BasicApplicationLevelConfidentialityProfile(
bool deidentify =
true);
136 static std::vector<Tag> GetBasicApplicationLevelConfidentialityProfileAttributes();
140 static void ClearInternalUIDs();
144 bool BALCPProtect(
DataSet &ds,
Tag const & tag,
const IOD &iod);
145 bool CanEmptyTag(
Tag const &tag,
const IOD &iod)
const;
146 void RecurseDataSet(
DataSet & ds );
149 bool BasicApplicationLevelConfidentialityProfile1();
150 bool BasicApplicationLevelConfidentialityProfile2();
151 bool CheckIfSequenceContainsAttributeToAnonymize(
File const &file,
SequenceOfItems* sqi)
const;
158 typedef std::pair< Tag, std::string > TagValueKey;
159 typedef std::map< TagValueKey, std::string > DummyMapNonUIDTags;
160 typedef std::map< std::string, std::string > DummyMapUIDTags;
161 static DummyMapNonUIDTags dummyMapNonUIDTags;
162 static DummyMapUIDTags dummyMapUIDTags;
173 #endif //GDCMANONYMIZER_H