From 5fd74f0089a19d2146c1916f55f0225901940154 Mon Sep 17 00:00:00 2001 From: regrain Date: Thu, 20 Jan 2005 11:26:17 +0000 Subject: [PATCH] * src/gdcmSQItem[h|cxx] : rename some methods to have coherent names -- BeNours --- ChangeLog | 3 ++ Example/TestPapyrus.cxx | 12 +++---- src/gdcmDicomDir.cxx | 17 +++++---- src/gdcmDocument.cxx | 8 ++--- src/gdcmSeqEntry.cxx | 76 ++++++++++++++++++++++------------------- src/gdcmSeqEntry.h | 18 +++++----- 6 files changed, 74 insertions(+), 60 deletions(-) diff --git a/ChangeLog b/ChangeLog index a05be787..bd622b9b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2005-01-20 Benoit Regrain + * src/gdcmSQItem[h|cxx] : rename some methods to have coherent names + 2005-01-20 Benoit Regrain * src/gdcmDicomDir*.[h|cxx] : rename methods to be logik in their name. Remove all access to the hash-tables or lists in the objects. diff --git a/Example/TestPapyrus.cxx b/Example/TestPapyrus.cxx index 893ab8cd..fbb05c69 100644 --- a/Example/TestPapyrus.cxx +++ b/Example/TestPapyrus.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: TestPapyrus.cxx,v $ Language: C++ - Date: $Date: 2005/01/19 17:49:42 $ - Version: $Revision: 1.1 $ + Date: $Date: 2005/01/20 11:26:17 $ + Version: $Revision: 1.2 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -100,7 +100,7 @@ int main(int argc, char* argv[]) return 1; } - gdcm::SQItem *sqi = seqPapyrus->GetFirstEntry(); + gdcm::SQItem *sqi = seqPapyrus->GetFirstSQItem(); if (sqi == 0) { std::cout << "NO SQItem found within private Papyrus Sequence" @@ -163,7 +163,7 @@ int main(int argc, char* argv[]) while (sqi) { nbImages++; - sqi = seqPapyrus->GetNextEntry(); + sqi = seqPapyrus->GetNextSQItem(); } std::cout <<"Number of frames :" << nbImages << std::endl; @@ -189,7 +189,7 @@ int main(int argc, char* argv[]) uint32_t offset; std::string previousRows = Rows; - sqi = seqPapyrus->GetFirstEntry(); + sqi = seqPapyrus->GetFirstSQItem(); while (sqi) { std::cout << "One more image read. Keep waiting" << std::endl; @@ -210,7 +210,7 @@ int main(int argc, char* argv[]) currentPosition +=lgrImage; std::string previousRowNb = Rows; - sqi = seqPapyrus->GetNextEntry(); + sqi = seqPapyrus->GetNextSQItem(); } // build up a new File, with file info + images info + global pixel area. diff --git a/src/gdcmDicomDir.cxx b/src/gdcmDicomDir.cxx index 9f05141b..4d2973c9 100644 --- a/src/gdcmDicomDir.cxx +++ b/src/gdcmDicomDir.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmDicomDir.cxx,v $ Language: C++ - Date: $Date: 2005/01/20 11:09:23 $ - Version: $Revision: 1.108 $ + Date: $Date: 2005/01/20 11:26:17 $ + Version: $Revision: 1.109 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -762,15 +762,16 @@ void DicomDir::CreateDicomDir() NewMeta(); - ListSQItem listItems = s->GetSQItems(); + //ListSQItem listItems = s->GetSQItems(); DocEntry *d; std::string v; SQItem *si; - for( ListSQItem::iterator i = listItems.begin(); - i !=listItems.end(); ++i ) + + SQItem *tmpSI=s->GetFirstSQItem(); + while(tmpSI) { - d = (*i)->GetDocEntry(0x0004, 0x1430); // Directory Record Type + d = tmpSI->GetDocEntry(0x0004, 0x1430); // Directory Record Type if ( ValEntry* valEntry = dynamic_cast(d) ) { v = valEntry->GetValue(); @@ -829,7 +830,9 @@ void DicomDir::CreateDicomDir() } if( si ) - MoveSQItem(si,*i); + MoveSQItem(si,tmpSI); + + tmpSI=s->GetNextSQItem(); } TagHT.clear(); } diff --git a/src/gdcmDocument.cxx b/src/gdcmDocument.cxx index 6e3d862b..369dc0de 100644 --- a/src/gdcmDocument.cxx +++ b/src/gdcmDocument.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmDocument.cxx,v $ Language: C++ - Date: $Date: 2005/01/20 11:07:07 $ - Version: $Revision: 1.201 $ + Date: $Date: 2005/01/20 11:26:17 $ + Version: $Revision: 1.202 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -1313,7 +1313,7 @@ void Document::ParseSQ( SeqEntry *seqEntry, { if ( newDocEntry->IsSequenceDelimitor() ) { - seqEntry->SetSequenceDelimitationItem( newDocEntry ); + seqEntry->SetDelimitationItem( newDocEntry ); break; } } @@ -1356,7 +1356,7 @@ void Document::ParseSQ( SeqEntry *seqEntry, offsetStartCurrentSQItem = Fp->tellg(); // end try ----------------- - seqEntry->AddEntry( itemSQ, SQItemNumber ); + seqEntry->AddSQItem( itemSQ, SQItemNumber ); SQItemNumber++; if ( !delim_mode && ((long)(Fp->tellg())-offset ) >= l_max ) { diff --git a/src/gdcmSeqEntry.cxx b/src/gdcmSeqEntry.cxx index 243ae59c..ec1a6d3d 100644 --- a/src/gdcmSeqEntry.cxx +++ b/src/gdcmSeqEntry.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmSeqEntry.cxx,v $ Language: C++ - Date: $Date: 2005/01/18 14:28:32 $ - Version: $Revision: 1.47 $ + Date: $Date: 2005/01/20 11:26:18 $ + Version: $Revision: 1.48 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -78,6 +78,8 @@ SeqEntry::~SeqEntry() } } +//----------------------------------------------------------------------------- +// Print /** * \brief canonical Printer */ @@ -119,6 +121,8 @@ void SeqEntry::Print( std::ostream &os, std::string const & ) } } +//----------------------------------------------------------------------------- +// Public /* * \brief canonical Writer */ @@ -146,23 +150,42 @@ void SeqEntry::WriteContent(std::ofstream *fp, FileType filetype) binary_write(*fp, seq_term_lg); } -//----------------------------------------------------------------------------- -// Public +/** + * \brief Get the first entry while visiting the SeqEntry + * \return The first SQItem if found, otherwhise NULL + */ +SQItem *SeqEntry::GetFirstSQItem() +{ + ItSQItem = Items.begin(); + if (ItSQItem != Items.end()) + return *ItSQItem; + return NULL; +} -/// \brief adds the passed ITEM to the ITEM chained List for this SeQuence. -void SeqEntry::AddEntry(SQItem *sqItem, int itemNumber) +/** + * \brief Get the next SQItem while visiting the SeqEntry + * \note : meaningfull only if GetFirstEntry already called + * \return The next SQItem if found, otherwhise NULL + */ + +SQItem *SeqEntry::GetNextSQItem() { - sqItem->SetSQItemNumber(itemNumber); - Items.push_back(sqItem); + gdcmAssertMacro (ItSQItem != Items.end()) + { + ++ItSQItem; + if (ItSQItem != Items.end()) + return *ItSQItem; + } + return NULL; } - + /** * \brief return a pointer to the SQItem referenced by its ordinal number. * Returns the first item when argument is negative. * Returns the last item when argument is bigger than the total * item number. */ -SQItem *SeqEntry::GetSQItemByOrdinalNumber(int nb) +SQItem *SeqEntry::GetSQItem(int nb) { if (nb<0) { @@ -181,35 +204,18 @@ SQItem *SeqEntry::GetSQItemByOrdinalNumber(int nb) return *(Items.end()); // Euhhhhh ?!? Is this the last one . FIXME } -/** - * \brief Get the first entry while visiting the SeqEntry - * \return The first SQItem if found, otherwhise NULL - */ -SQItem *SeqEntry::GetFirstEntry() +unsigned int SeqEntry::GetNumberOfSQItems() { - ItSQItem = Items.begin(); - if (ItSQItem != Items.end()) - return *ItSQItem; - return NULL; -} - -/** - * \brief Get the next SQItem while visiting the SeqEntry - * \note : meaningfull only if GetFirstEntry already called - * \return The next SQItem if found, otherwhise NULL - */ + return Items.size(); +} -SQItem *SeqEntry::GetNextEntry() +/// \brief adds the passed ITEM to the ITEM chained List for this SeQuence. +void SeqEntry::AddSQItem(SQItem *sqItem, int itemNumber) { - gdcmAssertMacro (ItSQItem != Items.end()) - { - ++ItSQItem; - if (ItSQItem != Items.end()) - return *ItSQItem; - } - return NULL; + sqItem->SetSQItemNumber(itemNumber); + Items.push_back(sqItem); } - + //----------------------------------------------------------------------------- // Protected diff --git a/src/gdcmSeqEntry.h b/src/gdcmSeqEntry.h index e8ce9c7f..6676c754 100644 --- a/src/gdcmSeqEntry.h +++ b/src/gdcmSeqEntry.h @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmSeqEntry.h,v $ Language: C++ - Date: $Date: 2005/01/18 12:16:10 $ - Version: $Revision: 1.29 $ + Date: $Date: 2005/01/20 11:26:18 $ + Version: $Revision: 1.30 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -47,18 +47,20 @@ public: void WriteContent(std::ofstream *fp, FileType filetype); /// returns the SQITEM chained List for this SeQuence. - ListSQItem const &GetSQItems() const { return Items; } - SQItem *GetFirstEntry(); - SQItem *GetNextEntry(); + //ListSQItem const &GetSQItems() const { return Items; } + SQItem *GetFirstSQItem(); + SQItem *GetNextSQItem(); + SQItem *GetSQItem(int itemNumber); + unsigned int GetNumberOfSQItems(); /// Sets the delimitor mode void SetDelimitorMode(bool dm) { DelimitorMode = dm; } /// Sets the Sequence Delimitation Item - void SetSequenceDelimitationItem(DocEntry *e) { SeqTerm = e;} + void SetDelimitationItem(DocEntry *e) { SeqTerm = e;} + DocEntry *GetDelimitationItem() { return SeqTerm;} - void AddEntry(SQItem *it, int itemNumber); - SQItem *GetSQItemByOrdinalNumber(int itemNumber); + void AddSQItem(SQItem *it, int itemNumber); /// Gets the depth level int GetDepthLevel() const { return SQDepthLevel; } -- 2.45.1