class GDCM_EXPORT gdcmParser
{
public:
- gdcmParser(bool exception_on_error = false);
- gdcmParser(const char *inFilename,
- bool exception_on_error = false,
- bool enable_sequences = false,
- bool ignore_shadow = false);
- virtual ~gdcmParser(void);
// Print
/**
// Write (used in gdcmFile, gdcmDicomDir)
virtual bool Write(FILE *, FileType);
- bool ReplaceOrCreateByNumber(std::string Value, guint16 Group, guint16 Elem);
- bool ReplaceOrCreateByNumber( char *Value, guint16 Group, guint16 Elem);
+ gdcmHeaderEntry * ReplaceOrCreateByNumber(std::string Value, guint16 Group, guint16 Elem);
+ gdcmHeaderEntry * ReplaceOrCreateByNumber( char *Value, guint16 Group, guint16 Elem);
bool ReplaceIfExistByNumber ( char *Value, guint16 Group, guint16 Elem);
// System access
guint32 UnswapLong(guint32); // needed by gdcmFile
protected:
+// constructor and destructor are protected to forbid end user
+// to instanciate class gdcmParser
+// (only gdcmHeader and gdcmDicomDir are meaningfull)
+ gdcmParser(bool exception_on_error = false);
+ gdcmParser(const char *inFilename,
+ bool exception_on_error = false,
+ bool enable_sequences = false,
+ bool ignore_shadow = false);
+ virtual ~gdcmParser(void);
// Entry
int CheckIfEntryExistByNumber(guint16 Group, guint16 Elem ); // int !
virtual std::string GetEntryByName (std::string tagName);
void WriteEntriesDeprecated(FILE *_fp,FileType type); // JPR
void AddHeaderEntry (gdcmHeaderEntry *);
-
+
+ /**
+ * \ingroup gdcmParser
+ * \brief Set the external File Name
+ */
+ inline void SetFileName(char* fileName)
+ {filename = fileName;}
+
// Variables
/**
* \brief File Pointer, open during Header parsing
*/
FileType filetype;
+/// after opening the file, we read HEADER_LENGTH_TO_READ bytes.
static const unsigned int HEADER_LENGTH_TO_READ;
+/// Elements whose value is longer than MAX_SIZE_LOAD_ELEMENT_VALUE are NOT loaded
static const unsigned int MAX_SIZE_LOAD_ELEMENT_VALUE;
+/// Elements whose value is longer than MAX_SIZE_PRINT_ELEMENT_VALUE are NOT printed
static const unsigned int MAX_SIZE_PRINT_ELEMENT_VALUE;
protected:
gdcmHeaderEntry *NewHeaderEntryByNumber(guint16 group,
guint16 element);
gdcmHeaderEntry *NewHeaderEntryByName (std::string Name);
-
-
+
// Deprecated (Not used) --> commented out
//gdcmHeaderEntry *NewManualHeaderEntryToPubDict(std::string NewTagName,
- // std::string VR);
+ // std::string VR);
guint32 GenerateFreeTagKeyInGroup(guint16 group);
*/
int sw;
/**
- * \brief Size treshold above which an element value will NOT be loaded in
+ * \brief Size threshold 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).
+ * when one considers the definition of the various VR contents).
*/
guint32 MaxSizeLoadEntry;
/**
- * \brief Size treshold above which an element value will NOT be *printed* in
+ * \brief Size threshold above which an element value will NOT be *printed* in
* order no to polute the screen output.
* By default, this upper bound is fixed to 64 bytes.
*/