Program: gdcm
Module: $RCSfile: gdcmDocument.cxx,v $
Language: C++
- Date: $Date: 2004/08/02 16:42:14 $
- Version: $Revision: 1.65 $
+ Date: $Date: 2004/08/26 15:29:53 $
+ Version: $Revision: 1.68 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
{
return;
}
-
+
dbg.Verbose(0, "gdcmDocument::gdcmDocument: starting parsing of file: ",
Filename.c_str());
rewind(Fp);
{
if( Filetype == gdcmUnknown)
{
- std::cout << " gdcmDocument::IsReadable: Filetype " << Filetype
- << " " << "gdcmUnknown " << gdcmUnknown << std::endl; //JPR
dbg.Verbose(0, "gdcmDocument::IsReadable: wrong filetype");
return false;
}
return b;
}
+
+/*
+ * \brief Modifies the value of a given Header Entry (Dicom Element)
+ * when it exists. Create it when unexistant.
+ * @param Group Group number of the Entry
+ * @param Elem Element number of the Entry
+ * \return pointer to the modified/created SeqEntry (NULL when creation
+ * failed).
+ */
+gdcmSeqEntry * gdcmDocument::ReplaceOrCreateByNumber(
+ uint16_t group,
+ uint16_t elem)
+{
+ gdcmSeqEntry* b = 0;
+ gdcmDocEntry* a = GetDocEntryByNumber( group, elem);
+ if (!a)
+ {
+ a = NewSeqEntryByNumber(group, elem);
+ if (!a)
+ {
+ return 0;
+ }
+
+ b = new gdcmSeqEntry(a, 1); // FIXME : 1 (Depth)
+ AddEntry(b);
+ }
+ return b;
+}
+
/**
* \brief Set a new value if the invoked element exists
* Seems to be useless !!!
a=( ((a<< 8) & 0xff00ff00) | ((a>>8) & 0x00ff00ff) );
break;
default :
- std::cout << "swapCode= " << SwapCode << std::endl;
+ //std::cout << "swapCode= " << SwapCode << std::endl;
dbg.Error(" gdcmDocument::SwapLong : unset swap code");
a = 0;
}
}
delete newDocEntry;
}
-
return l; // Probably useless
}
if ( IsDocEntryAnInteger(entry) )
{
uint32_t NewInt;
- std::ostringstream s;
+ //std::ostringstream s; //shadow previous declaration
int nbInt;
// When short integer(s) are expected, read and convert the following
// n *two characters properly i.e. consider them as short integers as
{
uint16_t element = entry->GetElement();
std::string vr = entry->GetVR();
- uint16_t length16;
-
+ uint16_t length16;
if ( Filetype == gdcmExplicitVR && !entry->IsImplicitVR() )
{
{
// We reached the EOF (or an error occured) therefore
// header parsing has to be considered as finished.
- std::cout << e;
+ //std::cout << e;
return 0;
}
catch ( gdcmFormatError e )
{
// Call it quits
- std::cout << e;
+ //std::cout << e;
delete newEntry;
return 0;
}