Program: gdcm
Module: $RCSfile: gdcmDicomDirElement.cxx,v $
Language: C++
- Date: $Date: 2005/01/24 14:14:10 $
- Version: $Revision: 1.31 $
+ 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);
+
//-----------------------------------------------------------------------------
// Constructor / Destructor
-
/**
* \brief constructor : populates the chained lists
* from the file 'Dicts/DicomDir.dic'
std::ifstream from(filename.c_str());
if(!from)
{
- gdcmVerboseMacro( "Can't open DicomDirElement dictionary"
+ gdcmWarningMacro( "Can't open DicomDirElement dictionary"
<< filename.c_str());
FillDefaultDIRDict( this );
}
type = DD_IMAGE;
else
{
- gdcmVerboseMacro("Unknown type found in the file : "
+ gdcmWarningMacro("Unknown type found in the file : "
<<filename.c_str());
type = DD_UNKNOWN;
}
DicomDirImageList.clear();
}
+//-----------------------------------------------------------------------------
+// Public
+/**
+ * \brief Add an entry to one of the DicomDir Elements
+ * (Patient, Study, Serie, Image)
+ * @param type Element type (DD_PATIENT, DD_STUDY, DD_SERIE, DD_IMAGE)
+ * @param elem elem
+ */
+bool DicomDirElement::AddEntry(DicomDirType type, Element const &elem)
+{
+ switch( type )
+ {
+ case DD_META :
+ DicomDirMetaList.push_back(elem);
+ break;
+ case DD_PATIENT :
+ DicomDirPatientList.push_back(elem);
+ break;
+ case DD_STUDY :
+ DicomDirStudyList.push_back(elem);
+ break;
+ case DD_SERIE :
+ DicomDirSerieList.push_back(elem);
+ break;
+ case DD_IMAGE :
+ DicomDirImageList.push_back(elem);
+ break;
+ default :
+ return false;
+ }
+ return true;
+}
+
+/**
+ * \brief Add an entry to one of the DicomDir Elements
+ * (Patient, Study, Serie, Image)
+ * @param type Element type (DD_PATIENT, DD_STUDY, DD_SERIE, DD_IMAGE)
+ * @param group Group number of the entry to be added
+ * @param elem Element number of the entry to be added
+ */
+void DicomDirElement::AddDicomDirElement(DicomDirType type,
+ uint16_t group, uint16_t elem)
+{
+ Element el;
+ el.Group = group;
+ el.Elem = elem;
+ el.Value = "";
+ AddEntry(type, el);
+}
+//-----------------------------------------------------------------------------
+// Protected
+
+//-----------------------------------------------------------------------------
+// Private
+
//-----------------------------------------------------------------------------
// Print
/**
* \brief Print all
- * \todo add a 'Print Level' check
* @param os The output stream to be written to.
*/
void DicomDirElement::Print(std::ostream &os)
}
//-----------------------------------------------------------------------------
-// Public
-/**
- * \brief Add an entry
- * @param type type
- * @param elem elem
- */
-bool DicomDirElement::AddEntry(DicomDirType type, Element const &elem)
-{
- switch( type )
- {
- case DD_META :
- DicomDirMetaList.push_back(elem);
- break;
- case DD_PATIENT :
- DicomDirPatientList.push_back(elem);
- break;
- case DD_STUDY :
- DicomDirStudyList.push_back(elem);
- break;
- case DD_SERIE :
- DicomDirSerieList.push_back(elem);
- break;
- case DD_IMAGE :
- DicomDirImageList.push_back(elem);
- break;
- default :
- return false;
- }
- return true;
-}
-//-----------------------------------------------------------------------------
-// Protected
-
-//-----------------------------------------------------------------------------
-// Private
-
-//-----------------------------------------------------------------------------
-
} // end namespace gdcm