Program: gdcm
Module: $RCSfile: gdcmDicomDir.h,v $
Language: C++
- Date: $Date: 2004/06/19 23:51:03 $
- Version: $Revision: 1.22 $
+ Date: $Date: 2004/08/31 14:24:47 $
+ Version: $Revision: 1.28 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#include <vector>
//-----------------------------------------------------------------------------
-typedef std::list<gdcmDicomDirPatient *> ListDicomDirPatient;
-typedef std::vector<gdcmDocument *> VectDocument;
+typedef std::list<gdcmDicomDirPatient*> ListDicomDirPatient;
+typedef std::vector<gdcmDocument*> VectDocument;
typedef GDCM_EXPORT void(gdcmMethod)(void * = NULL);
//-----------------------------------------------------------------------------
class GDCM_EXPORT gdcmDicomDir: public gdcmDocument
{
public:
-// gdcmDicomDir(ListTag *l,
-// bool exception_on_error = false);
- gdcmDicomDir(const char *FileName,
- bool parseDir = false,
- bool exception_on_error = false);
- gdcmDicomDir(bool exception_on_error = false);
+ gdcmDicomDir( std::string const & fileName, bool parseDir = false );
+ gdcmDicomDir();
- ~gdcmDicomDir(void);
-
- /**
- * \ingroup gdcmDicomDir
- * \brief Sets the print level for the Dicom Header
- * \note 0 for Light Print; 1 for 'medium' Print, 2 for Heavy
- */
- void SetPrintLevel(int level)
- { printLevel = level; };
- /**
- * \ingroup gdcmDicomDir
- * \brief canonical Printer
- * \sa SetPrintLevel
- */
+ ~gdcmDicomDir();
+
+ /// \brief canonical Printer
+ /// \sa SetPrintLevel
virtual void Print(std::ostream &os = std::cout);
// Informations contained in the parser
- virtual bool IsReadable(void);
+ virtual bool IsReadable();
-/// \brief returns a pointer to the gdcmDicomDirMeta for this DICOMDIR.
- inline gdcmDicomDirMeta *GetDicomDirMeta()
- {return metaElems;};
+ /// Returns a pointer to the gdcmDicomDirMeta for this DICOMDIR.
+ gdcmDicomDirMeta* GetDicomDirMeta() { return metaElems; };
- /// \brief returns the PATIENT chained List for this DICOMDIR.
- inline ListDicomDirPatient &GetDicomDirPatients()
- {return patients;};
+ /// Returns the PATIENT chained List for this DICOMDIR.
+ ListDicomDirPatient &GetDicomDirPatients() { return patients; };
// Parsing
- void ParseDirectory(void);
+ void ParseDirectory();
void SetStartMethod(gdcmMethod *,void * =NULL,gdcmMethod * =NULL);
void SetStartMethodArgDelete(gdcmMethod *);
void SetEndMethod(gdcmMethod *,void * =NULL,gdcmMethod * =NULL);
void SetEndMethodArgDelete(gdcmMethod *);
-/// \brief GetProgress GetProgress
- inline float GetProgress(void)
- {return(progress);};
+ /// GetProgress GetProgress
+ float GetProgress() { return progress; };
-/// \brief AbortProgress AbortProgress
- inline void AbortProgress(void)
- {abort=true; };
+ /// AbortProgress AbortProgress
+ void AbortProgress() { abort = true; };
-/// \brief IsAborted IsAborted
- inline bool IsAborted(void)
- {return(abort); };
+ /// IsAborted IsAborted
+ bool IsAborted() { return abort; };
// Adding
- gdcmDicomDirMeta * NewMeta(void);
- gdcmDicomDirPatient * NewPatient(void);
+ gdcmDicomDirMeta* NewMeta();
+ gdcmDicomDirPatient* NewPatient();
-// Write
- void WriteEntries(FILE *_fp);
- bool Write(std::string fileName);
+// Write
+ bool WriteDicomDir(std::string const & fileName);
-/// Types of the gdcmObject within the gdcmDicomDir
+ /// Types of the gdcmObject within the gdcmDicomDir
typedef enum
{
GDCM_DICOMDIR_NONE,
} gdcmDicomDirType;
protected:
- void CreateDicomDirChainedList(std::string path);
-
- void CallStartMethod(void);
- void CallProgressMethod(void);
- void CallEndMethod(void);
+ void CreateDicomDirChainedList(std::string const & path);
+ void CallStartMethod();
+ void CallProgressMethod();
+ void CallEndMethod();
private:
- void Initialize(void);
- void CreateDicomDir(void);
-// void AddObjectToEnd(gdcmDicomDirType type, gdcmSQItem *s);
- void AddDicomDirMeta ();
+ void Initialize();
+ void CreateDicomDir();
+ void AddDicomDirMeta();
void AddDicomDirPatientToEnd(gdcmSQItem *s);
void AddDicomDirStudyToEnd (gdcmSQItem *s);
void AddDicomDirSerieToEnd (gdcmSQItem *s);
void SetElements(std::string &path, VectDocument &list);
void SetElement (std::string &path,gdcmDicomDirType type,
gdcmDocument *header);
-
- void UpdateDirectoryRecordSequenceLength(void);
static bool HeaderLessThan(gdcmDocument *header1,gdcmDocument *header2);
// Variables
-/// \brief pointer on *the* gdcmObject 'DicomDirMeta Elements'
+ /// Pointer on *the* gdcmObject 'DicomDirMeta Elements'
gdcmDicomDirMeta *metaElems;
-/// \brief chained list of DicomDirPatient (to be exploited recursively)
+ /// Chained list of DicomDirPatient (to be exploited recursively)
ListDicomDirPatient patients;
/// pointer to the initialisation method for any progress bar
gdcmMethod *startMethod;
/// pointer to the incrementation method for any progress bar
gdcmMethod *progressMethod;
-/// pointer to the tremination method for any progress bar
+/// pointer to the termination method for any progress bar
gdcmMethod *endMethod;
/// pointer to the ??? method for any progress bar
gdcmMethod *startMethodArgDelete;