typedef string VRAtr;
typedef map<VRKey, VRAtr> VRHT; // Value Representation Hash Table
-/// \brief The purpous of an instance of gdcmHeader is to act as a container of
-/// all the DICOM elements and their corresponding values (and
-/// additionaly the corresponding DICOM dictionary entry) of the header
-/// of a DICOM file.
+/// The purpose of an instance of gdcmHeader is to act as a container of
+/// all the DICOM elements and their corresponding values (and
+/// additionaly the corresponding DICOM dictionary entry) of the header
+/// of a DICOM file.
///
/// The typical usage of instances of class gdcmHeader is to classify a set of
/// dicom files according to header information e.g. to create a file hierarchy
gdcmDictSet* Dicts;
/// Public dictionary used to parse this header
gdcmDict* RefPubDict;
- /// Optional "shadow dictionary" (private elements) used to parse this header
+ /// Optional "shadow dictionary" (private elements) used to parse this
+ /// header
gdcmDict* RefShaDict;
/// ELement VALueS parsed with the PUBlic dictionary.
- ElValSet PubElVals;
+ gdcmElValSet PubElVals;
/// ELement VALueS parsed with the SHAdow dictionary.
- ElValSet ShaElVals;
+ gdcmElValSet ShaElVals;
/// Refering underlying filename.
string filename;
FILE * fp;
void CheckSwap(void);
void InitVRDict(void);
void SwitchSwapToBigEndian(void);
+ gdcmElValue* NewManualElValToPubDict(string NewTagName, string VR);
void AddAndDefaultElements(void);
void SetMaxSizeLoadElementValue(long);
gdcmDictEntry * GetDictEntryByName(string name);
// ElValue related utilities
- ElValue * ReadNextElement(void);
- ElValue * NewElValueByKey(guint16 group, guint16 element);
- ElValue * NewElValueByName(string name);
- void FindLength(ElValue *);
- void FindVR(ElValue *);
- void LoadElementValue(ElValue *);
- void LoadElementValueSafe(ElValue *);
- void SkipElementValue(ElValue *);
- void FixFoundLength(ElValue*, guint32);
- bool IsAnInteger(ElValue *);
+ gdcmElValue * ReadNextElement(void);
+ gdcmElValue * NewElValueByKey(guint16 group, guint16 element);
+ gdcmElValue * NewElValueByName(string name);
+ void FindLength(gdcmElValue *);
+ void FindVR(gdcmElValue *);
+ void LoadElementValue(gdcmElValue *);
+ void LoadElementValueSafe(gdcmElValue *);
+ void SkipElementValue(gdcmElValue *);
+ void FixFoundLength(gdcmElValue*, guint32);
+ bool IsAnInteger(gdcmElValue *);
bool IsImplicitVRLittleEndianTransferSyntax(void);
bool IsExplicitVRLittleEndianTransferSyntax(void);
bool IsJPEGExtendedProcess2_4TransferSyntax(void);
bool IsJPEGExtendedProcess3_5TransferSyntax(void);
bool IsJPEGSpectralSelectionProcess6_8TransferSyntax(void);
+
+ bool IsJPEGLossless(void);
protected:
// FIXME: is this enum still necessary ??
int SetPubElValByNumber(string content, guint16 group, guint16 element);
int SetShaElValByName(string content, string ShadowTagName);
int SetShaElValByNumber(string content, guint16 group, guint16 element);
+
+ int gdcmHeader::SetPubElValLengthByNumber(guint32 lgr, guint16 group,
+ guint16 element);
- ElValSet GetPubElVals() { return(PubElVals); }
+ gdcmElValSet GetPubElVals() { return(PubElVals); }
};
#endif