Program: gdcm
Module: $RCSfile: gdcmCommon.h,v $
Language: C++
- Date: $Date: 2005/02/07 19:17:27 $
- Version: $Revision: 1.61 $
+ Date: $Date: 2005/02/11 15:22:18 $
+ Version: $Revision: 1.62 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#include <string>
+/// \brief namespace for Grass root DiCoM
namespace gdcm
{
ACR_LIBIDO
};
+/// \brief type of the elements composing a DICOMDIR (for internal use only)
enum DicomDirType {
DD_UNKNOWN = 0,
DD_META,
Program: gdcm
Module: $RCSfile: gdcmDebug.h,v $
Language: C++
- Date: $Date: 2005/02/09 21:37:45 $
- Version: $Revision: 1.31 $
+ Date: $Date: 2005/02/11 15:22:18 $
+ Version: $Revision: 1.32 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
Debug();
~Debug();
- /// This is a global flag that controls whether any debug, warning
- /// messages are displayed.
+ /// \brief This is a global flag that controls whether any debug, warning
+ /// messages are displayed.
static void SetDebugFlag (bool flag);
static bool GetDebugFlag ();
/// \brief Sets the Debug Flag to true
/// \brief Sets the Debug Flag to false
static void DebugOff () { SetDebugFlag(false); };
- /// This is a global flag that controls if debug are redirected
- /// to a file or not
+ /// \brief This is a global flag that controls if debug are redirected
+ /// to a file or not
static void SetDebugToFile (bool flag);
static bool GetDebugToFile ();
/// \brief Next debug messages will be sent in the debug file
Program: gdcm
Module: $RCSfile: gdcmDicomDir.h,v $
Language: C++
- Date: $Date: 2005/02/07 14:48:34 $
- Version: $Revision: 1.55 $
+ Date: $Date: 2005/02/11 15:22:18 $
+ Version: $Revision: 1.56 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
// Meta
DicomDirMeta *NewMeta();
/// Returns a pointer to the DicomDirMeta for this DICOMDIR.
- DicomDirMeta* GetMeta() { return MetaElems; };
+ DicomDirMeta *GetMeta() { return MetaElems; };
// Patients
DicomDirPatient *NewPatient();
void SetElements(std::string const &path, VectDocument const &list);
void SetElement (std::string const &path, DicomDirType type,
Document *header);
- void MoveSQItem(DocEntrySet *dst,DocEntrySet *src);
+ void MoveSQItem(DocEntrySet *dst, DocEntrySet *src);
static bool HeaderLessThan(Document *header1, Document *header2);
// Variables
/// Pointer on *the* DicomDirObject 'DicomDirMeta Elements'
- DicomDirMeta* MetaElems;
+ DicomDirMeta *MetaElems;
/// Chained list of DicomDirPatient (to be exploited hierarchicaly)
ListDicomDirPatient Patients;
Program: gdcm
Module: $RCSfile: gdcmDicomDirElement.cxx,v $
Language: C++
- Date: $Date: 2005/02/07 14:48:34 $
- Version: $Revision: 1.35 $
+ Date: $Date: 2005/02/11 15:22:18 $
+ Version: $Revision: 1.36 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
namespace gdcm
{
//-----------------------------------------------------------------------------
+/// \brief auto generate function, to fill up the default elements for
+/// a DICOMDIR, if relevant file is not found on user's disk
void FillDefaultDIRDict(DicomDirElement *dde);
//-----------------------------------------------------------------------------
Program: gdcm
Module: $RCSfile: gdcmDicomDirElement.h,v $
Language: C++
- Date: $Date: 2005/02/07 14:48:34 $
- Version: $Revision: 1.27 $
+ Date: $Date: 2005/02/11 15:22:18 $
+ 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
typedef std::list<Element> ListDicomDirSerieElem;
typedef std::list<Element> ListDicomDirImageElem;
+// For future use (Full DICOMDIR)
+/*
+typedef std::list<Element> ListDicomDirVisit;
+typedef std::list<Element> ListDicomDirResult;
+typedef std::list<Element> ListDicomDirStudyComponent;
+
+typedef std::list<Element> ListDicomDirOverlay;
+typedef std::list<Element> ListDicomDirModalityLut;
+typedef std::list<Element> ListDicomDirModalityLut;
+typedef std::list<Element> ListDicomDirCurve;
+typedef std::list<Element> ListDicomDirStoredPrint;
+typedef std::list<Element> ListDicomDirRtDose;
+typedef std::list<Element> ListDicomDirRtStructureSet;
+typedef std::list<Element> ListDicomDirRtPlan;
+typedef std::list<Element> ListDicomDirRtTreatRecord;
+typedef std::list<Element> ListDicomDirPresentation;
+typedef std::list<Element> ListDicomDirSrDocument;
+typedef std::list<Element> ListDicomDirKeyObjectDoc;
+typedef std::list<Element> ListDicomDirSpectroscopy;
+typedef std::list<Element> ListDicomDirRawData;
+typedef std::list<Element> ListDicomDirRegistration;
+typedef std::list<Element> ListDicomDirFiducial;
+*/
+
//-----------------------------------------------------------------------------
/**
* \brief Represents elements contained in a DicomDir class
Program: gdcm
Module: $RCSfile: gdcmDict.cxx,v $
Language: C++
- Date: $Date: 2005/02/05 01:37:08 $
- Version: $Revision: 1.73 $
+ Date: $Date: 2005/02/11 15:22:18 $
+ Version: $Revision: 1.74 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
namespace gdcm
{
//-----------------------------------------------------------------------------
+/// \brief auto generate function, to fill up the Dicom Dictionnary,
+/// if relevant file is not found on user's disk
void FillDefaultDataDict(Dict *d);
//-----------------------------------------------------------------------------
Program: gdcm
Module: $RCSfile: gdcmDocEntrySet.cxx,v $
Language: C++
- Date: $Date: 2005/02/05 01:37:08 $
- Version: $Revision: 1.54 $
+ Date: $Date: 2005/02/11 15:22:18 $
+ Version: $Revision: 1.55 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
}
/**
- * \brief Modifies the value of a given Header Entry (Dicom Element)
+ * \brief Modifies the value of a given Doc Entry (Dicom Element)
* when it exists. Creates it when unexistant.
* @param group Group number of the Entry
* @param elem Element number of the Entry
SeqEntry *DocEntrySet::InsertSeqEntry(uint16_t group, uint16_t elem)
{
SeqEntry *seqEntry = 0;
- DocEntry *currentEntry = GetDocEntry( group, elem);
+ DocEntry *currentEntry = GetDocEntry( group, elem );
// Verify the currentEntry
if( currentEntry )
// Verify the VR
if( seqEntry )
- if( seqEntry->GetVR()!="SQ" )
- seqEntry = NULL;
+ seqEntry = NULL;
- // if currentEntry doesn't correspond to the requested valEntry
+ // if currentEntry doesn't correspond to the requested seqEntry
if( !seqEntry )
{
if (!RemoveEntry(currentEntry))
return NULL;
}
}
+
+ // TODO : Find a trick to insert a SequenceDelimitationItem
+ // in the SeqEntry, at the end.
return seqEntry;
}
+
+
/**
* \brief Checks if a given Dicom Element exists within the H table
Program: gdcm
Module: $RCSfile: gdcmGlobal.cxx,v $
Language: C++
- Date: $Date: 2005/02/07 14:48:34 $
- Version: $Revision: 1.20 $
+ Date: $Date: 2005/02/11 15:22:18 $
+ Version: $Revision: 1.21 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
namespace gdcm
{
//-----------------------------------------------------------------------------
-// Those global string that are return by reference everywhere in gdcm code
-// used to be in gdcmCommon.h but due to a 'bug' in gcc/MacOSX
-// you cannot have static initialization in a multithreaded environment
-// since there is a lazy construction everything got skrew up somehow
-// Therefore the actual initialization is done in a cxx file (avoid
-// duplicated symbol), and an extern is used in gdcmCommon.h
+/// \brief Those global string that are return by reference everywhere in
+/// gdcm code used to be in gdcmCommon.h but due to a 'bug' in gcc/MacOSX
+/// you cannot have static initialization in a multithreaded environment
+/// since there is a lazy construction everything got skrew up somehow
+/// Therefore the actual initialization is done in a cxx file (avoid
+/// duplicated symbol), and an extern is used in gdcmCommon.h
const std::string GDCM_UNKNOWN = "gdcm::Unknown";
const std::string GDCM_UNFOUND = "gdcm::Unfound";
const std::string GDCM_BINLOADED = "gdcm::Binary data loaded";
Program: gdcm
Module: $RCSfile: gdcmJpegLS.cxx,v $
Language: C++
- Date: $Date: 2005/02/05 01:37:09 $
- Version: $Revision: 1.3 $
+ Date: $Date: 2005/02/11 15:22:18 $
+ Version: $Revision: 1.4 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
* @warning : not yet made
*/
-bool gdcm_read_JPEGLS_file (std::ifstream* , void* )
+bool gdcm_read_JPEGLS_file (std::ifstream *fp, void *image_buffer)
{
+ (void)fp;
+ (void)image_buffer;
gdcmWarningMacro( "Sorry JPEG-LS File not yet taken into account" );
return false;
}
Program: gdcm
Module: $RCSfile: gdcmSeqEntry.cxx,v $
Language: C++
- Date: $Date: 2005/02/05 01:37:09 $
- Version: $Revision: 1.54 $
+ Date: $Date: 2005/02/11 15:22:18 $
+ Version: $Revision: 1.55 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#include "gdcmSeqEntry.h"
#include "gdcmSQItem.h"
+#include "gdcmValEntry.h"
#include "gdcmTS.h"
#include "gdcmGlobal.h"
#include "gdcmUtil.h"
}
/**
- * \brief Constructor from a given SeqEntry
+ * \brief Constructor from a given DocEntry
* @param e Pointer to existing Doc entry
* @param depth depth level of the current Seq entry
*/
Program: gdcm
Module: $RCSfile: gdcmSeqEntry.h,v $
Language: C++
- Date: $Date: 2005/02/04 14:49:01 $
- Version: $Revision: 1.33 $
+ Date: $Date: 2005/02/11 15:22:18 $
+ Version: $Revision: 1.34 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
/// Sets the Sequence Delimitation Item
void SetDelimitationItem(DocEntry *e) { SeqTerm = e; }
+
/// Gets the Sequence Delimitation Item
DocEntry *GetDelimitationItem() { return SeqTerm;}
Program: gdcm
Module: $RCSfile: gdcmTS.cxx,v $
Language: C++
- Date: $Date: 2005/02/05 01:37:09 $
- Version: $Revision: 1.42 $
+ Date: $Date: 2005/02/11 15:22:18 $
+ Version: $Revision: 1.43 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
// TODO
// a lot of troubles expected with TS : 1.2.840.113619.5.2
// Implicit VR - Big Endian
-// see : http://www.gemedicalsystemseurope.com/euen/it_solutions/pdf/lsqxi_rev2.pdf
+// http://www.gemedicalsystemseurope.com/euen/it_solutions/pdf/lsqxi_rev2.pdf
//
namespace gdcm
{
//-----------------------------------------------------------------------------
+/// \brief Transfer Syntaxes gdcm deals with (internal use onky)
static const char *SpecialStrings[] = {
// Implicit VR Little Endian
"1.2.840.10008.1.2",
"1.2.840.10008.1.2.4.55",
// JPEG Lossless, Non-Hierarchical (Process 14)
"1.2.840.10008.1.2.4.57",
- // JPEG Lossless, Hierarchical, First-Order Prediction (Process 14, [Selection Value 1])
+ // JPEG Lossless, Hierarchical, First-Order Prediction (Process 14,
+ // [Selection Value 1])
"1.2.840.10008.1.2.4.70",
// JPEG-LS Lossless Image Compression
"1.2.840.10008.1.2.4.80",
};
//-----------------------------------------------------------------------------
+/// \brief auto generated function, to fill up the Dicom Dictionnary,
+/// if relevant file is not found on user's disk
void FillDefaultTSDict(TSHT &ts);
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// Public
+
+/// \brief returns occurence number of the given key
int TS::Count(TSKey const &key)
{
return TsMap.count(key);
}
+/// \brief returns the human reabable value of a Transfer Synatx string
TSAtr const &TS::GetValue(TSKey const &key)
{
- // First thing clean up the string sometime the transfer syntax is padded with spaces
+ // First thing clean up the string
+ // (sometime the transfer syntax is padded with spaces)
std::string copy = key;
while ( copy.size() && !isdigit((unsigned char)copy[copy.size()-1]) )
{
Program: gdcm
Module: $RCSfile: gdcmUtil.cxx,v $
Language: C++
- Date: $Date: 2005/02/05 01:37:09 $
- Version: $Revision: 1.132 $
+ Date: $Date: 2005/02/11 15:22:18 $
+ Version: $Revision: 1.133 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
OUT AsnObjectIdentifier * supportedView);
#endif //_WIN32
-
+/// \brief gets current M.A.C adress (for internal use only)
int GetMacAddrSys ( unsigned char *addr )
{
#ifdef _WIN32
HANDLE PollForTrapEvent;
AsnObjectIdentifier SupportedView;
- UINT OID_ifEntryType[] = { 1, 3, 6, 1, 2, 1, 2, 2, 1, 3 };
- UINT OID_ifEntryNum[] = { 1, 3, 6, 1, 2, 1, 2, 1 };
+ UINT OID_ifEntryType[] = { 1, 3, 6, 1, 2, 1, 2, 2, 1, 3 };
+ UINT OID_ifEntryNum[] = { 1, 3, 6, 1, 2, 1, 2, 1 };
UINT OID_ipMACEntAddr[] = { 1, 3, 6, 1, 2, 1, 2, 2, 1, 6 };
AsnObjectIdentifier MIB_ifMACEntAddr = {
sizeof(OID_ipMACEntAddr) / sizeof(UINT), OID_ipMACEntAddr };
}
/**
- * Mini function to return the last digit from a number express in base 256
- * pre condition data contain an array of 6 unsigned char
- * post condition carry contain the last digit
+ * \brief Mini function to return the last digit from a number express in base 256
+ * pre condition data contain an array of 6 unsigned char
+ * post condition carry contain the last digit
*/
inline int getlastdigit(unsigned char *data)
{
//-------------------------------------------------------------------------
/**
- * \brief
+ * \brief class for binary write
* @param os ostream to write to
* @param val val
*/
Program: gdcm
Module: $RCSfile: gdcmVR.cxx,v $
Language: C++
- Date: $Date: 2005/02/05 01:37:09 $
- Version: $Revision: 1.35 $
+ Date: $Date: 2005/02/11 15:22:19 $
+ Version: $Revision: 1.36 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
namespace gdcm
{
//-----------------------------------------------------------------------------
+/// \brief auto generated function, to fill up the 'Value Representation'
+/// Dictionnary, if relevant file is not found on user's disk
void FillDefaultVRDict(VRHT &vr);
//-----------------------------------------------------------------------------