- // Read
- void LoadHeaderEntries (void);
- void LoadHeaderEntry (gdcmHeaderEntry *);
- void LoadHeaderEntrySafe (gdcmHeaderEntry *);
- void FindHeaderEntryLength(gdcmHeaderEntry *);
- void FindHeaderEntryVR (gdcmHeaderEntry *);
-
- void SkipHeaderEntry (gdcmHeaderEntry *);
- void FixHeaderEntryFoundLength(gdcmHeaderEntry *, guint32);
- bool IsHeaderEntryAnInteger (gdcmHeaderEntry *);
-
- guint32 FindHeaderEntryLengthOB(void);
-
- guint16 ReadInt16(void);
- guint32 ReadInt32(void);
- void SkipBytes(guint32);
-
- void Initialise(void);
- void CheckSwap(void);
- void SwitchSwapToBigEndian(void);
- void SetMaxSizeLoadElementValue(long);
-
- // Dict
- gdcmDictEntry *GetDictEntryByName (std::string Name);
- gdcmDictEntry *GetDictEntryByNumber(guint16, guint16);
-
- // HeaderEntry related utilities
- gdcmHeaderEntry *ReadNextHeaderEntry (void);
- gdcmHeaderEntry *NewHeaderEntryByNumber(guint16 group, guint16 element);
- gdcmHeaderEntry *NewHeaderEntryByName (std::string Name);
-
- // Deprecated (Not used)
- gdcmHeaderEntry *NewManualHeaderEntryToPubDict(std::string NewTagName,
- std::string VR);
-
-// Variables
- // Pointer to the Value Representation Hash Table which contains all
- // the VR of the DICOM version3 public dictionary.
- gdcmVR *dicom_vr; // Not a class member for thread-safety reasons
-
- // Pointer to the Transfert Syntax Hash Table which contains all
- // the TS of the DICOM version3 public dictionary.
- gdcmTS *dicom_ts; // Not a class member for thread-safety reasons
-
- // Pointer to global dictionary container
- gdcmDictSet *Dicts; // Not a class member for thread-safety reasons
-
- // Public dictionary used to parse this header
- gdcmDict *RefPubDict;
-
- // Optional "shadow dictionary" (private elements) used to parse this
- // header
- gdcmDict *RefShaDict;
-
-
- // ================ Was in gdcmHeaderEntrySet =========
- TagHeaderEntryHT tagHT; // H Table (multimap), to provide fast access
- ListTag listEntries; // chained list, to keep the 'spacial' ordering
- int wasUpdated; // true if a gdcmHeaderEntry was added post parsing
- int printLevel; // for PrintHeader
- // ====================================================
-
- // Refering underlying filename.
- std::string filename;
-
- int enableSequences;
-
- // FIXME sw should be an enum e.g.
- //enum EndianType {
- //LittleEndian,
- //BadLittleEndian,
- //BigEndian,
- //BadBigEndian};
- // Swap code e.g. little, big, bad-big, bad-little endian). Warning:
- // this code is not fixed during header parsing.
- int sw;
-
- // Size treshold above which an element value will NOT be loaded in
- // memory (to avoid loading the image/volume itself). By default,
- // this upper bound is fixed to 1024 bytes (which might look reasonable
- // when one considers the definition of the various VR contents).
- guint32 MaxSizeLoadElementValue;
-
- static const unsigned int HEADER_LENGTH_TO_READ;
- static const unsigned int MAX_SIZE_LOAD_ELEMENT_VALUE;