#include <gdcmElementSet.h>
Inheritance diagram for gdcm::ElementSet:
Public Member Functions | |
ElementSet (int) | |
Constructor for a given ElementSet. | |
~ElementSet () | |
Canonical destructor. | |
virtual void | Print (std::ostream &os=std::cout, std::string const &indent="") |
Prints the Header Entries (Dicom Elements) from the H Table. | |
void | WriteContent (std::ofstream *fp, FileType filetype) |
Writes the Header Entries (Dicom Elements) from the H Table. | |
bool | AddEntry (DocEntry *Entry) |
add a new Dicom Element pointer to the H Table | |
bool | RemoveEntry (DocEntry *EntryToRemove) |
Clear the hash table from given entry AND delete the entry. | |
bool | RemoveEntryNoDestroy (DocEntry *EntryToRemove) |
Clear the hash table from given entry BUT keep the entry. | |
void | ClearEntry () |
delete all entries in the ElementSet | |
DocEntry * | GetFirstEntry () |
Get the first entry while visiting *the* 'zero level' DocEntrySet (DocEntries out of any Sequence). | |
DocEntry * | GetNextEntry () |
Get the next entry while visiting *the* 'zero level' DocEntrySet (DocEntries out of any Sequence). | |
DocEntry * | GetDocEntry (uint16_t group, uint16_t elem) |
retrieves a Dicom Element using (group, element) | |
bool | IsEmpty () |
Tells us if the ElementSet contains no entry. | |
virtual std::string | GetEntryValue (uint16_t group, uint16_t elem) |
Get the "std::string representable" value of the Dicom entry. | |
virtual void * | GetEntryBinArea (uint16_t group, uint16_t elem) |
Gets (from Header) a 'non string' element value. | |
virtual int | GetEntryLength (uint16_t group, uint16_t elem) |
Searches within Header Entries (Dicom Elements) parsed with the public and private dictionaries for the value length of a given tag.. | |
virtual std::string | GetEntryVR (uint16_t group, uint16_t elem) |
Searches within Header Entries (Dicom Elements) parsed with the public [and private dictionaries] for the element value representation of a given tag.. Obtaining the VR (Value Representation) might be needed by caller to convert the string typed content to caller's native type (think of C++ vs Python). The VR is actually of a higher level of semantics than just the native C++ type. | |
ValEntry * | GetValEntry (uint16_t group, uint16_t elem) |
Same as Document::GetDocEntry except it only returns a result when the corresponding entry is of type ValEntry. | |
BinEntry * | GetBinEntry (uint16_t group, uint16_t elem) |
Same as Document::GetDocEntry except it only returns a result when the corresponding entry is of type BinEntry. | |
SeqEntry * | GetSeqEntry (uint16_t group, uint16_t elem) |
Same as Document::GetDocEntry except it only returns a result when the corresponding entry is of type SeqEntry. | |
bool | SetValEntry (std::string const &content, uint16_t group, uint16_t elem) |
Accesses an existing DocEntry (i.e. a Dicom Element) through it's (group, element) and modifies it's content with the given value. | |
bool | SetValEntry (std::string const &content, ValEntry *entry) |
Accesses an existing DocEntry (i.e. a Dicom Element) and modifies it's content with the given value. | |
bool | SetBinEntry (uint8_t *content, int lgth, uint16_t group, uint16_t elem) |
Accesses an existing DocEntry (i.e. a Dicom Element) through it's (group, element) and modifies it's content with the given value. | |
bool | SetBinEntry (uint8_t *content, int lgth, BinEntry *entry) |
Accesses an existing BinEntry (i.e. a Dicom Element) and modifies it's content with the given value. | |
ValEntry * | InsertValEntry (std::string const &value, uint16_t group, uint16_t elem, TagName const &vr=GDCM_UNKNOWN) |
Modifies the value of a given Doc Entry (Dicom Element) when it exists. Create it with the given value when unexistant. | |
BinEntry * | InsertBinEntry (uint8_t *binArea, int lgth, uint16_t group, uint16_t elem, TagName const &vr=GDCM_UNKNOWN) |
Modifies the value of a given Header Entry (Dicom Element) when it exists. Create it with the given value when unexistant. A copy of the binArea is made to be kept in the Document. | |
SeqEntry * | InsertSeqEntry (uint16_t group, uint16_t elem) |
Modifies the value of a given Doc Entry (Dicom Element) when it exists. Creates it when unexistant. | |
virtual bool | CheckIfEntryExist (uint16_t group, uint16_t elem) |
Checks if a given Dicom Element exists within the H table. | |
ValEntry * | NewValEntry (uint16_t group, uint16_t elem, TagName const &vr=GDCM_UNKNOWN) |
Build a new Val Entry from all the low level arguments. Check for existence of dictionary entry, and build a default one when absent. | |
BinEntry * | NewBinEntry (uint16_t group, uint16_t elem, TagName const &vr=GDCM_UNKNOWN) |
Build a new Bin Entry from all the low level arguments. Check for existence of dictionary entry, and build a default one when absent. | |
SeqEntry * | NewSeqEntry (uint16_t group, uint16_t elem) |
Build a new Seq Entry from all the low level arguments. Check for existence of dictionary entry, and build a default one when absent. | |
DictEntry * | NewVirtualDictEntry (uint16_t group, uint16_t elem, TagName const &vr=GDCM_UNKNOWN, TagName const &vm=GDCM_UNKNOWN, TagName const &name=GDCM_UNKNOWN) |
Request a new virtual dict entry to the dict set. | |
void | SetPrintLevel (int level) |
Sets the print level for the Dicom Header Elements. | |
int | GetPrintLevel () |
Gets the print level for the Dicom Entries. | |
Protected Member Functions | |
DictEntry * | GetDictEntry (uint16_t group, uint16_t elem) |
Searches [both] the public [and the shadow dictionary (when they exist)] for the presence of the DictEntry with given group and element. The public dictionary has precedence on the shadow one. | |
DictEntry * | GetDictEntry (uint16_t group, uint16_t elem, TagName const &vr) |
Searches [both] the public [and the shadow dictionary (when they exist)] for the presence of the DictEntry with given group and element, and create a new virtual DictEntry if necessary. | |
Protected Attributes | |
int | PrintLevel |
Amount of printed details for each Dicom Entries : 0 : stands for the least detail level. | |
Private Attributes | |
TagDocEntryHT | TagHT |
Hash Table (map), to provide fast access. | |
TagDocEntryHT::iterator | ItTagHT |
iterator, used to visit the TagHT variable | |
TagDocEntryHT::iterator | ItValEntryTagHT |
iterator, used to visit the TagHT variable, seeking only for ValEntries |
Definition at line 44 of file gdcmElementSet.h.
|
Constructor for a given ElementSet.
Definition at line 33 of file gdcmElementSet.cxx.
00034 : DocEntrySet() 00035 { 00036 (void)depthLevel; 00037 } |
|
Canonical destructor.
Definition at line 42 of file gdcmElementSet.cxx. References ClearEntry().
00043 { 00044 ClearEntry(); 00045 } |
|
add a new Dicom Element pointer to the H Table
Implements gdcm::DocEntrySet. Definition at line 69 of file gdcmElementSet.cxx. References gdcmWarningMacro, gdcm::DocEntry::GetKey(), TagHT, and gdcm::TagKey. Referenced by gdcm::File::File(), gdcm::DocEntryArchive::Push(), and gdcm::DocEntryArchive::Restore().
00070 { 00071 const TagKey &key = newEntry->GetKey(); 00072 00073 if( TagHT.count(key) == 1 ) 00074 { 00075 gdcmWarningMacro( "Key already present: " << key.c_str()); 00076 return false; 00077 } 00078 else 00079 { 00080 TagHT.insert(TagDocEntryHT::value_type(newEntry->GetKey(), newEntry)); 00081 return true; 00082 } 00083 } |
|
Checks if a given Dicom Element exists within the H table.
Definition at line 434 of file gdcmDocEntrySet.cxx. References gdcm::DocEntrySet::GetDocEntry().
00435 { 00436 return GetDocEntry(group,elem)!=NULL; 00437 } |
|
delete all entries in the ElementSet
Implements gdcm::DocEntrySet. Definition at line 125 of file gdcmElementSet.cxx. References TagHT. Referenced by gdcm::DicomDir::CreateDicomDir(), gdcm::DicomDir::SetElements(), and ~ElementSet().
|
|
Same as Document::GetDocEntry except it only returns a result when the corresponding entry is of type BinEntry.
Definition at line 127 of file gdcmDocEntrySet.cxx. References gdcmWarningMacro, and gdcm::DocEntrySet::GetDocEntry(). Referenced by gdcm::DocEntrySet::GetEntryBinArea(), and gdcm::DocEntrySet::SetBinEntry().
00128 { 00129 DocEntry *currentEntry = GetDocEntry(group, elem); 00130 if ( !currentEntry ) 00131 { 00132 gdcmWarningMacro( "No corresponding BinEntry " << std::hex << group << 00133 "," << elem); 00134 return NULL; 00135 } 00136 00137 return dynamic_cast<BinEntry*>(currentEntry); 00138 } |
|
Searches [both] the public [and the shadow dictionary (when they exist)] for the presence of the DictEntry with given group and element, and create a new virtual DictEntry if necessary.
Definition at line 558 of file gdcmDocEntrySet.cxx. References gdcm::GDCM_UNKNOWN, gdcm::DocEntrySet::GetDictEntry(), gdcm::DictEntry::GetName(), gdcm::DictEntry::GetVR(), gdcm::DocEntrySet::NewVirtualDictEntry(), and gdcm::TagName.
00560 { 00561 DictEntry *dictEntry = GetDictEntry(group,elem); 00562 DictEntry *goodEntry = dictEntry; 00563 std::string goodVR = vr; 00564 00565 if (elem == 0x0000) goodVR="UL"; 00566 00567 if ( goodEntry ) 00568 { 00569 if ( goodVR != goodEntry->GetVR() 00570 && goodVR != GDCM_UNKNOWN ) 00571 { 00572 goodEntry = NULL; 00573 } 00574 } 00575 00576 // Create a new virtual DictEntry if necessary 00577 if (!goodEntry) 00578 { 00579 if (dictEntry) 00580 { 00581 goodEntry = NewVirtualDictEntry(group, elem, goodVR, "FIXME", 00582 dictEntry->GetName() ); 00583 } 00584 else 00585 { 00586 goodEntry = NewVirtualDictEntry(group, elem, goodVR); 00587 } 00588 } 00589 return goodEntry; 00590 } |
|
Searches [both] the public [and the shadow dictionary (when they exist)] for the presence of the DictEntry with given group and element. The public dictionary has precedence on the shadow one.
Definition at line 534 of file gdcmDocEntrySet.cxx. References gdcmWarningMacro, and gdcm::Dict::GetEntry(). Referenced by gdcm::DocEntrySet::GetDictEntry(), gdcm::DocEntrySet::NewBinEntry(), gdcm::DocEntrySet::NewSeqEntry(), gdcm::DocEntrySet::NewValEntry(), and gdcm::Document::ReadNextDocEntry().
00535 { 00536 DictEntry *found = 0; 00537 Dict *pubDict = Global::GetDicts()->GetDefaultPubDict(); 00538 if (!pubDict) 00539 { 00540 gdcmWarningMacro( "We SHOULD have a default dictionary"); 00541 } 00542 else 00543 { 00544 found = pubDict->GetEntry(group, elem); 00545 } 00546 return found; 00547 } |
|
retrieves a Dicom Element using (group, element)
Implements gdcm::DocEntrySet. Definition at line 172 of file gdcmElementSet.cxx. References TagHT, and gdcm::TagKey. Referenced by gdcm::File::AnonymizeFile(), gdcm::File::AnonymizeNoLoad(), gdcm::FileHelper::CopyBinEntry(), gdcm::FileHelper::CopyValEntry(), gdcm::DicomDir::CreateDicomDir(), gdcm::DicomDir::DicomDir(), gdcm::File::File(), gdcm::File::GetPixelAreaLength(), gdcm::File::GetPixelOffset(), gdcm::Document::GetTransferSyntax(), gdcm::File::HasLUT(), gdcm::Document::IsDicomV3(), gdcm::Document::IsPapyrus(), gdcm::File::IsReadable(), gdcm::Document::LoadEntryBinArea(), gdcm::DocEntryArchive::Push(), gdcm::DocEntryArchive::Restore(), gdcm::FileHelper::SetWriteToLibido(), gdcm::FileHelper::SetWriteToNoLibido(), and gdcm::File::Write().
|
|
Gets (from Header) a 'non string' element value.
Definition at line 57 of file gdcmDocEntrySet.cxx. References gdcm::BinEntry::GetBinArea(), and gdcm::DocEntrySet::GetBinEntry(). Referenced by gdcm::PixelReadConvert::GrabInformationsFromFile().
00058 { 00059 BinEntry *entry = GetBinEntry(group, elem); 00060 if( entry ) 00061 return entry->GetBinArea(); 00062 return 0; 00063 } |
|
Searches within Header Entries (Dicom Elements) parsed with the public and private dictionaries for the value length of a given tag..
Definition at line 73 of file gdcmDocEntrySet.cxx. References gdcm::DocEntrySet::GetDocEntry(), and gdcm::DocEntry::GetLength(). Referenced by gdcm::DicomDir::SetElement(), and gdcm::File::Write().
00074 { 00075 DocEntry *entry = GetDocEntry(group, elem); 00076 if( entry ) 00077 return entry->GetLength(); 00078 return -1; 00079 } |
|
|
Searches within Header Entries (Dicom Elements) parsed with the public [and private dictionaries] for the element value representation of a given tag.. Obtaining the VR (Value Representation) might be needed by caller to convert the string typed content to caller's native type (think of C++ vs Python). The VR is actually of a higher level of semantics than just the native C++ type.
Definition at line 94 of file gdcmDocEntrySet.cxx. References gdcm::GDCM_UNFOUND, gdcm::DocEntrySet::GetDocEntry(), and gdcm::DocEntry::GetVR().
00095 { 00096 DocEntry *entry = GetDocEntry(group, elem); 00097 if( entry ) 00098 return entry->GetVR(); 00099 return GDCM_UNFOUND; 00100 } |
|
Get the first entry while visiting *the* 'zero level' DocEntrySet (DocEntries out of any Sequence).
Implements gdcm::DocEntrySet. Definition at line 142 of file gdcmElementSet.cxx. References ItTagHT, and TagHT. Referenced by gdcm::Document::ComputeGroup0002Length(), gdcm::DicomDir::DicomDir(), and gdcm::DicomDir::NewMeta().
|
|
Get the next entry while visiting *the* 'zero level' DocEntrySet (DocEntries out of any Sequence).
Implements gdcm::DocEntrySet. Definition at line 156 of file gdcmElementSet.cxx. References gdcmAssertMacro, ItTagHT, and TagHT. Referenced by gdcm::Document::ComputeGroup0002Length().
|
|
Gets the print level for the Dicom Entries.
Definition at line 48 of file gdcmBase.h.
00048 { return PrintLevel; }; |
|
Same as Document::GetDocEntry except it only returns a result when the corresponding entry is of type SeqEntry.
Definition at line 148 of file gdcmDocEntrySet.cxx. References gdcmWarningMacro, and gdcm::DocEntrySet::GetDocEntry().
00149 { 00150 DocEntry *currentEntry = GetDocEntry(group, elem); 00151 if ( !currentEntry ) 00152 { 00153 gdcmWarningMacro( "No corresponding SeqEntry " << std::hex << group << 00154 "," << elem); 00155 return NULL; 00156 } 00157 00158 return dynamic_cast<SeqEntry*>(currentEntry); 00159 } |
|
Same as Document::GetDocEntry except it only returns a result when the corresponding entry is of type ValEntry.
Definition at line 110 of file gdcmDocEntrySet.cxx. References gdcm::DocEntrySet::GetDocEntry(). Referenced by gdcm::DocEntrySet::SetValEntry(), and gdcm::File::Write().
00111 { 00112 DocEntry *currentEntry = GetDocEntry(group, elem); 00113 if ( !currentEntry ) 00114 return NULL; 00115 00116 return dynamic_cast<ValEntry*>(currentEntry); 00117 } |
|
Modifies the value of a given Header Entry (Dicom Element) when it exists. Create it with the given value when unexistant. A copy of the binArea is made to be kept in the Document.
Definition at line 309 of file gdcmDocEntrySet.cxx. References gdcm::DocEntrySet::AddEntry(), gdcmWarningMacro, gdcm::DocEntrySet::GetDocEntry(), gdcm::DocEntry::GetVR(), gdcm::DocEntrySet::NewBinEntry(), gdcm::DocEntrySet::RemoveEntry(), gdcm::DocEntrySet::SetBinEntry(), and gdcm::TagName. Referenced by gdcm::File::InitializeDefaultFile(), and gdcm::FileHelper::InsertBinEntry().
00312 { 00313 BinEntry *binEntry = 0; 00314 DocEntry *currentEntry = GetDocEntry( group, elem ); 00315 00316 // Verify the currentEntry 00317 if (currentEntry) 00318 { 00319 binEntry = dynamic_cast<BinEntry *>(currentEntry); 00320 00321 // Verify the VR 00322 if( binEntry ) 00323 if( binEntry->GetVR()!=vr ) 00324 binEntry = NULL; 00325 00326 // if currentEntry doesn't correspond to the requested valEntry 00327 if( !binEntry) 00328 { 00329 if( !RemoveEntry(currentEntry) ) 00330 { 00331 gdcmWarningMacro( "Removal of previous DocEntry failed."); 00332 00333 return NULL; 00334 } 00335 } 00336 } 00337 00338 // Create a new binEntry if necessary 00339 if( !binEntry) 00340 { 00341 binEntry = NewBinEntry(group, elem, vr); 00342 00343 if ( !AddEntry(binEntry) ) 00344 { 00345 gdcmWarningMacro( "AddEntry failed allthough this is a creation."); 00346 00347 delete binEntry; 00348 return NULL; 00349 } 00350 } 00351 00352 // Set the binEntry value 00353 uint8_t *tmpArea; 00354 if( lgth>0 && binArea ) 00355 { 00356 tmpArea = new uint8_t[lgth]; 00357 memcpy(tmpArea,binArea,lgth); 00358 } 00359 else 00360 { 00361 tmpArea = 0; 00362 } 00363 if( !SetBinEntry(tmpArea,lgth,binEntry) ) 00364 { 00365 if( tmpArea ) 00366 { 00367 delete[] tmpArea; 00368 } 00369 } 00370 00371 return binEntry; 00372 } |
|
Modifies the value of a given Doc Entry (Dicom Element) when it exists. Creates it when unexistant.
Definition at line 382 of file gdcmDocEntrySet.cxx. References gdcm::DocEntrySet::AddEntry(), gdcmWarningMacro, gdcm::DocEntrySet::GetDocEntry(), gdcm::DocEntrySet::NewSeqEntry(), and gdcm::DocEntrySet::RemoveEntry(). Referenced by gdcm::FileHelper::InsertSeqEntry().
00383 { 00384 SeqEntry *seqEntry = 0; 00385 DocEntry *currentEntry = GetDocEntry( group, elem ); 00386 00387 // Verify the currentEntry 00388 if( currentEntry ) 00389 { 00390 seqEntry = dynamic_cast<SeqEntry *>(currentEntry); 00391 00392 // Verify the VR 00393 if( seqEntry ) 00394 seqEntry = NULL; 00395 00396 // if currentEntry doesn't correspond to the requested seqEntry 00397 if( !seqEntry ) 00398 { 00399 if (!RemoveEntry(currentEntry)) 00400 { 00401 gdcmWarningMacro( "Removal of previous DocEntry failed."); 00402 00403 return NULL; 00404 } 00405 } 00406 } 00407 // Create a new seqEntry if necessary 00408 if( !seqEntry ) 00409 { 00410 seqEntry = NewSeqEntry(group, elem); 00411 00412 if( !AddEntry(seqEntry) ) 00413 { 00414 gdcmWarningMacro( "AddEntry failed allthough this is a creation."); 00415 00416 delete seqEntry; 00417 return NULL; 00418 } 00419 } 00420 00421 // TODO : Find a trick to insert a SequenceDelimitationItem 00422 // in the SeqEntry, at the end. 00423 return seqEntry; 00424 } |
|
Modifies the value of a given Doc Entry (Dicom Element) when it exists. Create it with the given value when unexistant.
Definition at line 250 of file gdcmDocEntrySet.cxx. References gdcm::DocEntrySet::AddEntry(), gdcmWarningMacro, gdcm::DocEntrySet::GetDocEntry(), gdcm::DocEntry::GetVR(), gdcm::DocEntrySet::NewValEntry(), gdcm::DocEntrySet::RemoveEntry(), gdcm::DocEntrySet::SetValEntry(), and gdcm::TagName. Referenced by gdcm::File::InitializeDefaultFile(), gdcm::FileHelper::InsertValEntry(), and gdcm::File::Write().
00253 { 00254 ValEntry *valEntry = 0; 00255 DocEntry *currentEntry = GetDocEntry( group, elem ); 00256 00257 if (currentEntry) 00258 { 00259 valEntry = dynamic_cast<ValEntry *>(currentEntry); 00260 00261 // Verify the VR 00262 if( valEntry ) 00263 if( valEntry->GetVR()!=vr ) 00264 valEntry = NULL; 00265 00266 // if currentEntry doesn't correspond to the requested valEntry 00267 if( !valEntry) 00268 { 00269 if( !RemoveEntry(currentEntry) ) 00270 { 00271 gdcmWarningMacro( "Removal of previous DocEntry failed."); 00272 00273 return NULL; 00274 } 00275 } 00276 } 00277 00278 // Create a new valEntry if necessary 00279 if( !valEntry ) 00280 { 00281 valEntry = NewValEntry( group, elem, vr ); 00282 00283 if ( !AddEntry(valEntry) ) 00284 { 00285 gdcmWarningMacro("AddEntry failed although this is a creation."); 00286 00287 delete valEntry; 00288 return NULL; 00289 } 00290 } 00291 00292 // Set the binEntry value 00293 SetValEntry(value, valEntry); // The std::string value 00294 return valEntry; 00295 } |
|
Tells us if the ElementSet contains no entry.
Implements gdcm::DocEntrySet. Definition at line 63 of file gdcmElementSet.h. Referenced by gdcm::Document::IsReadable().
00063 { return TagHT.empty(); }; |
|
Build a new Bin Entry from all the low level arguments. Check for existence of dictionary entry, and build a default one when absent.
Definition at line 471 of file gdcmDocEntrySet.cxx. References gdcmAssertMacro, gdcmWarningMacro, gdcm::DocEntrySet::GetDictEntry(), and gdcm::TagName. Referenced by gdcm::FileHelper::CopyBinEntry(), gdcm::DocEntrySet::InsertBinEntry(), and gdcm::Document::ReadNextDocEntry().
00473 { 00474 DictEntry *dictEntry = GetDictEntry(group, elem, vr); 00475 gdcmAssertMacro(dictEntry); 00476 00477 BinEntry *newEntry = new BinEntry(dictEntry); 00478 if (!newEntry) 00479 { 00480 gdcmWarningMacro( "Failed to allocate BinEntry"); 00481 return 0; 00482 } 00483 return newEntry; 00484 } |
|
Build a new Seq Entry from all the low level arguments. Check for existence of dictionary entry, and build a default one when absent.
Definition at line 493 of file gdcmDocEntrySet.cxx. References gdcmAssertMacro, gdcmWarningMacro, and gdcm::DocEntrySet::GetDictEntry(). Referenced by gdcm::DocEntrySet::InsertSeqEntry(), and gdcm::Document::ReadNextDocEntry().
00494 { 00495 DictEntry *dictEntry = GetDictEntry(group, elem, "SQ"); 00496 gdcmAssertMacro(dictEntry); 00497 00498 SeqEntry *newEntry = new SeqEntry( dictEntry ); 00499 if (!newEntry) 00500 { 00501 gdcmWarningMacro( "Failed to allocate SeqEntry"); 00502 return 0; 00503 } 00504 return newEntry; 00505 } |
|
Build a new Val Entry from all the low level arguments. Check for existence of dictionary entry, and build a default one when absent.
Definition at line 447 of file gdcmDocEntrySet.cxx. References gdcmAssertMacro, gdcmWarningMacro, gdcm::DocEntrySet::GetDictEntry(), and gdcm::TagName. Referenced by gdcm::FileHelper::CopyValEntry(), gdcm::DocEntrySet::InsertValEntry(), and gdcm::Document::ReadNextDocEntry().
00449 { 00450 DictEntry *dictEntry = GetDictEntry(group, elem, vr); 00451 gdcmAssertMacro(dictEntry); 00452 00453 ValEntry *newEntry = new ValEntry(dictEntry); 00454 if (!newEntry) 00455 { 00456 gdcmWarningMacro( "Failed to allocate ValEntry"); 00457 return 0; 00458 } 00459 return newEntry; 00460 } |
|
Request a new virtual dict entry to the dict set.
Definition at line 515 of file gdcmDocEntrySet.cxx. References gdcm::TagName. Referenced by gdcm::File::File(), and gdcm::DocEntrySet::GetDictEntry().
00519 {
00520 return Global::GetDicts()->NewVirtualDictEntry(group,elem,vr,vm,name);
00521 }
|
|
Prints the Header Entries (Dicom Elements) from the H Table.
Reimplemented from gdcm::Base. Reimplemented in gdcm::DicomDir. Definition at line 195 of file gdcmElementSet.cxx. References gdcm::DocEntry::Print(), gdcm::Base::SetPrintLevel(), and TagHT. Referenced by gdcm::FileHelper::Print().
00196 { 00197 for( TagDocEntryHT::const_iterator i = TagHT.begin(); i != TagHT.end(); ++i) 00198 { 00199 DocEntry *entry = i->second; 00200 00201 entry->SetPrintLevel(PrintLevel); 00202 entry->Print(os); 00203 00204 if ( dynamic_cast<SeqEntry*>(entry) ) 00205 { 00206 // Avoid the newline for a sequence: 00207 continue; 00208 } 00209 os << std::endl; 00210 } 00211 } |
|
Clear the hash table from given entry AND delete the entry.
Implements gdcm::DocEntrySet. Definition at line 89 of file gdcmElementSet.cxx. References gdcmWarningMacro, gdcm::DocEntry::GetKey(), TagHT, and gdcm::TagKey. Referenced by gdcm::File::File(), and gdcm::DocEntryArchive::Restore().
00090 { 00091 const TagKey &key = entryToRemove->GetKey(); 00092 if( TagHT.count(key) == 1 ) 00093 { 00094 TagHT.erase(key); 00095 //gdcmWarningMacro( "One element erased."); 00096 delete entryToRemove; 00097 return true; 00098 } 00099 00100 gdcmWarningMacro( "Key not present"); 00101 return false ; 00102 } |
|
Clear the hash table from given entry BUT keep the entry.
Implements gdcm::DocEntrySet. Definition at line 108 of file gdcmElementSet.cxx. References gdcmWarningMacro, gdcm::DocEntry::GetKey(), TagHT, and gdcm::TagKey. Referenced by gdcm::DicomDir::NewMeta(), gdcm::DocEntryArchive::Push(), and gdcm::File::Write().
00109 { 00110 const TagKey &key = entryToRemove->GetKey(); 00111 if( TagHT.count(key) == 1 ) 00112 { 00113 TagHT.erase(key); 00114 //gdcmWarningMacro( "One element erased."); 00115 return true; 00116 } 00117 00118 gdcmWarningMacro( "Key not present"); 00119 return false ; 00120 } |
|
Accesses an existing BinEntry (i.e. a Dicom Element) and modifies it's content with the given value.
Definition at line 228 of file gdcmDocEntrySet.cxx. References gdcm::GDCM_BINLOADED, gdcm::BinEntry::SetBinArea(), gdcm::DocEntry::SetLength(), and gdcm::ContentEntry::SetValue().
00229 { 00230 if(entry) 00231 { 00232 entry->SetBinArea(content); 00233 entry->SetLength(lgth); 00234 entry->SetValue(GDCM_BINLOADED); 00235 return true; 00236 } 00237 return false; 00238 } |
|
Accesses an existing DocEntry (i.e. a Dicom Element) through it's (group, element) and modifies it's content with the given value.
Definition at line 191 of file gdcmDocEntrySet.cxx. References gdcmWarningMacro, and gdcm::DocEntrySet::GetBinEntry(). Referenced by gdcm::DocEntrySet::InsertBinEntry(), and gdcm::FileHelper::SetBinEntry().
00193 { 00194 BinEntry *entry = GetBinEntry(group, elem); 00195 if (!entry ) 00196 { 00197 gdcmWarningMacro( "No corresponding ValEntry " << std::hex << group << 00198 "," << elem << " element (try promotion first)."); 00199 return false; 00200 } 00201 00202 return SetBinEntry(content,lgth,entry); 00203 } |
|
Sets the print level for the Dicom Header Elements.
Definition at line 45 of file gdcmBase.h. Referenced by gdcm::SQItem::Print(), gdcm::SeqEntry::Print(), gdcm::FileHelper::Print(), Print(), and gdcm::DicomDir::Print().
00045 { PrintLevel = level; }; |
|
Accesses an existing DocEntry (i.e. a Dicom Element) and modifies it's content with the given value.
Definition at line 211 of file gdcmDocEntrySet.cxx. References gdcm::ValEntry::SetValue().
00212 { 00213 if(entry) 00214 { 00215 entry->SetValue(content); 00216 return true; 00217 } 00218 return false; 00219 } |
|
Accesses an existing DocEntry (i.e. a Dicom Element) through it's (group, element) and modifies it's content with the given value.
Definition at line 169 of file gdcmDocEntrySet.cxx. References gdcmWarningMacro, and gdcm::DocEntrySet::GetValEntry(). Referenced by gdcm::File::AnonymizeFile(), gdcm::Document::Document(), gdcm::DocEntrySet::InsertValEntry(), gdcm::FileHelper::SetValEntry(), and gdcm::File::Write().
00171 { 00172 ValEntry *entry = GetValEntry(group, elem); 00173 if (!entry ) 00174 { 00175 gdcmWarningMacro( "No corresponding ValEntry " << std::hex << group << 00176 "," << elem << " element (try promotion first)."); 00177 return false; 00178 } 00179 return SetValEntry(content,entry); 00180 } |
|
Writes the Header Entries (Dicom Elements) from the H Table.
Implements gdcm::DocEntrySet. Reimplemented in gdcm::Document. Definition at line 55 of file gdcmElementSet.cxx. References TagHT.
|
|
iterator, used to visit the TagHT variable
Definition at line 72 of file gdcmElementSet.h. Referenced by GetFirstEntry(), and GetNextEntry(). |
|
iterator, used to visit the TagHT variable, seeking only for ValEntries
Definition at line 74 of file gdcmElementSet.h. |
|
Amount of printed details for each Dicom Entries : 0 : stands for the least detail level.
Definition at line 53 of file gdcmBase.h. Referenced by gdcm::Base::Base(). |
|
Hash Table (map), to provide fast access.
Definition at line 70 of file gdcmElementSet.h. Referenced by AddEntry(), ClearEntry(), GetDocEntry(), GetFirstEntry(), GetNextEntry(), Print(), RemoveEntry(), RemoveEntryNoDestroy(), and WriteContent(). |