[Dcmlib] strange behaviour
    Lazzarato Dr.Gianni 
    lazzadrgi at libero.it
       
    Sat Oct 20 16:12:47 CEST 2007
    
    
  
Hi Jean Pierre, Hi users,
                                   
Using a simplified piece of code and debugging it I found a very strange
behaviour
(please see the code at bottom).
Triing to read, more time, 2 different dataset  I have different different
result in size of series:   Dataset1  composed of 66 axial slices in only
one serie and no Xserie
 
Dat2set2  composed of 107 axial slices ( with 1 Xserie composed 1 slice)
 
Sometimes the size of serie is wrong detected ( loading varius time the
datasets) as indicated below.
 
Is it an error of mine or something related to
sh->OrderFileList((*i).second);  // sort the XCoherent Fileset  ?
 
Thank you very much for the ansvers
 
 
 
 
 
 
AnsiString tempfilename;
  TStringList *filelist;
  int nbFiles0 = 0;
  int nbFiles1 = 0;
  int size = 0;
 
  gdcm::SerieHelper *sh = gdcm::SerieHelper::New();
  sh->SetLoadMode(gdcm::LD_ALL);       // Load all for each file
  sh->SetDirectory(fold.c_str(),true); // Recursive parsing
 
  gdcm::FileList *l = sh->GetFirstSingleSerieUIDFileSet();
  gdcm::XCoherentFileSetmap xcm;
 
  while (l) // for each 'Single SerieUID FileSet'
   {
   if ( l->size() > 5)) 
            {
             xcm = sh->SplitOnOrientation(l);
             for (gdcm::XCoherentFileSetmap::iterator i = xcm.begin(); i !=
xcm.end();++i)
                  {
                  size = xcm.size();  
                  nbFiles0 = ((*i).second)->size();
DAT1 is 66,  DAT 2 is 107)
                   if ( (*i).second->size() > 5))
                         {
                         sh->OrderFileList((*i).second);  // sort the
XCoherent Fileset 
                          nbFiles1 = ((*i).second)->size();
DAT1 sometimes 66 sometimes 33 ,  DAT 2 sometimes 106 sometimes 53)
                          for (gdcm::FileList::iterator it =
((*i).second)->begin();it != ((*i).second)->end();++it)
                               {
                                tempfilename =
AnsiString((*it)->GetFileName().c_str());
                                filelist->Add(tempfilename); //make a
filelist
                               }
                          }
                    }
 
             }
            l = sh->GetNextSingleSerieUIDFileSet();
  }
  
  
  ....
  ....
  ....load filelist
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.creatis.insa-lyon.fr/pipermail/dcmlib/attachments/20071020/ab01e540/attachment.html>
    
    
More information about the Dcmlib
mailing list