14#ifndef GDCMSTRICTSCANNER2_H
15#define GDCMSTRICTSCANNER2_H
56 StrictScanner2() : Values(), Filenames(), PublicMappings(), PrivateMappings(), Progress(0.0) {}
90 void Print(std::ostream &os)
const override;
93 void PrintTable(std::ostream &os,
bool header =
false)
const;
98 bool IsKey(
const char *filename)
const;
129 return strcmp(s1, s2) < 0;
146 return PrivateMappings;
156 const char *valueref)
const;
158 const char *valueref)
const;
163 Tag const &t,
const char *valueref)
const;
165 PrivateTag const &pt,
const char *valueref)
const;
171 Tag const &t,
const char *value)
const;
173 PrivateTag const &pt,
const char *value)
const;
192 typedef std::set<Tag> PublicTagsType;
193 typedef std::set<PrivateTag> PrivateTagsType;
194 std::set<Tag> PublicTags;
195 std::set<PrivateTag> PrivateTags;
196 std::set<Tag> SkipTags;
std::vector< FilenameType > FilenamesType
Definition gdcmDirectory.h:49
Class to represent a Private DICOM Data Element (Attribute) Tag (Group, Element, Owner)
Definition gdcmPrivateTag.h:39
Class for Smart Pointer.
Definition gdcmSmartPointer.h:40
StrictScanner2.
Definition gdcmStrictScanner2.h:52
std::map< const char *, PublicTagToValue, ltstr > PublicMappingType
Definition gdcmStrictScanner2.h:132
const char * GetPrivateValue(const char *filename, PrivateTag const &t) const
PublicTagToValue const & GetMappingFromPublicTagToValue(Tag const &t, const char *value) const
Directory::FilenamesType GetAllFilenamesFromPrivateTagToValue(PrivateTag const &pt, const char *valueref) const
StrictScanner2()
Definition gdcmStrictScanner2.h:56
PublicConstIterator Begin() const
Definition gdcmStrictScanner2.h:134
Directory::FilenamesType GetKeys() const
Directory::FilenamesType GetAllFilenamesFromPublicTagToValue(Tag const &t, const char *valueref) const
PublicMappingType const & GetPublicMappings() const
Definition gdcmStrictScanner2.h:144
const char * GetPublicValue(const char *filename, Tag const &t) const
Directory::FilenamesType const & GetFilenames() const
Return the list of filenames.
Definition gdcmStrictScanner2.h:87
PrivateTagToValue const & GetMappingFromPrivateTagToValue(PrivateTag const &pt, const char *value) const
Directory::FilenamesType GetPublicOrderedValues(Tag const &t) const
PrivateConstIterator PrivateEnd() const
Definition gdcmStrictScanner2.h:140
ValuesType GetPublicValues(Tag const &t) const
Get all the values found (in lexicographic order) associated with Tag 't'.
PublicTagToValue const & GetPublicMapping(const char *filename) const
Get the std::map mapping filenames to value for file 'filename'.
void ProcessPublicTag(StringFilter &sf, const char *filename)
bool IsKey(const char *filename) const
bool AddPrivateTag(PrivateTag const &pt)
PublicConstIterator End() const
Definition gdcmStrictScanner2.h:135
bool Scan(Directory::FilenamesType const &filenames)
Start the scan !
PublicTagToValue::value_type PublicTagToValueValueType
Definition gdcmStrictScanner2.h:66
ValuesType GetPrivateValues(PrivateTag const &pt) const
PrivateTagToValue const & GetPrivateMapping(const char *filename) const
Directory::FilenamesType GetPrivateOrderedValues(PrivateTag const &pt) const
void Print(std::ostream &os) const override
Print result.
std::set< std::string > ValuesType
Definition gdcmStrictScanner2.h:105
PrivateMappingType::const_iterator PrivateConstIterator
Definition gdcmStrictScanner2.h:138
void PrintTable(std::ostream &os, bool header=false) const
Print result as CSV table.
PublicMappingType::const_iterator PublicConstIterator
Definition gdcmStrictScanner2.h:133
bool AddSkipTag(Tag const &t)
Add a tag that will need to be skipped. Those are root level skip tags.
bool AddPublicTag(Tag const &t)
Add a tag that will need to be read. Those are root level tags.
const char * GetFilenameFromPrivateTagToValue(PrivateTag const &pt, const char *valueref) const
~StrictScanner2() override
std::map< PrivateTag, const char * > PrivateTagToValue
Definition gdcmStrictScanner2.h:68
void ProcessPrivateTag(StringFilter &sf, const char *filename)
PrivateTagToValue::value_type PrivateTagToValueValueType
Definition gdcmStrictScanner2.h:69
const char * GetFilenameFromPublicTagToValue(Tag const &t, const char *valueref) const
PrivateConstIterator PrivateBegin() const
Definition gdcmStrictScanner2.h:139
PrivateMappingType const & GetPrivateMappings() const
Definition gdcmStrictScanner2.h:145
static SmartPointer< StrictScanner2 > New()
for wrapped language: instantiate a reference counted object
Definition gdcmStrictScanner2.h:184
std::map< Tag, const char * > PublicTagToValue
Definition gdcmStrictScanner2.h:65
ValuesType const & GetValues() const
Get all the values found (in lexicographic order)
Definition gdcmStrictScanner2.h:108
std::map< const char *, PrivateTagToValue, ltstr > PrivateMappingType
Definition gdcmStrictScanner2.h:137
StringFilter.
Definition gdcmStringFilter.h:30
Subject.
Definition gdcmSubject.h:29
Class to represent a DICOM Data Element (Attribute) Tag (Group, Element).
Definition gdcmTag.h:39
#define GDCM_EXPORT
Definition gdcmWin32.h:34
std::ostream & operator<<(std::ostream &os, const Directory &d)
Definition gdcmDirectory.h:88
Definition gdcmStrictScanner2.h:126
bool operator()(const char *s1, const char *s2) const
Definition gdcmStrictScanner2.h:127