]> Creatis software - bbtk.git/blobdiff - packages/gdcmvtk/src/bbgdcmvtkGetXCoherentInfoGdcmReader.cxx
re-indent
[bbtk.git] / packages / gdcmvtk / src / bbgdcmvtkGetXCoherentInfoGdcmReader.cxx
index 21fcdcf1dcb17dd9e083d0a66f0d49aad2b6c370..092a2a834c1df10f6d009a4d8024c6adb66b0f16 100644 (file)
@@ -14,7 +14,7 @@ BBTK_ADD_BLACK_BOX_TO_PACKAGE(gdcmvtk,GetXCoherentInfoGdcmReader)
 BBTK_BLACK_BOX_IMPLEMENTATION(GetXCoherentInfoGdcmReader,bbtk::AtomicBlackBox);
 void GetXCoherentInfoGdcmReader::Process()
 {
- // Read the first image file    
+ // Read the *first* image file (a SET of file names is given as input) 
    f = GDCM_NAME_SPACE::File::New();
    f->SetFileName( bbGetInputIn()[0] );
    bool res = f->Load();  
@@ -29,6 +29,7 @@ void GetXCoherentInfoGdcmReader::Process()
    std::vector<double> v_iop;
    float iop[6];
    f->GetImageOrientationPatient(iop);
+   
    for(i=0; i< 6; i++)
       v_iop.push_back(iop[i]);
    bbSetOutputIOP(v_iop );
@@ -36,21 +37,15 @@ void GetXCoherentInfoGdcmReader::Process()
    std::vector<double> v_ipp;
    float ipp[3];
    f->GetImagePositionPatient(ipp);
+   
    for(i=0; i< 3; i++)
       v_ipp.push_back(ipp[i]);
    bbSetOutputIPP(v_ipp );
 
-   std::vector<double> v_pixelspacing;
-   v_pixelspacing.push_back(f->GetXSpacing());
-   v_pixelspacing.push_back(f->GetYSpacing());
-   if (f->GetZSize() != 1) {
-      v_pixelspacing.push_back(f->GetZSpacing());
-   }
-   bbSetOutputPixelSpacing(v_pixelspacing);
-
-// Add all the files to the SerieHelper
+// Add *all the files* to the SerieHelper
    sh = GDCM_NAME_SPACE::SerieHelper::New();
    std::vector<std::string> gii = bbGetInputIn();
+   
    for(std::vector<std::string>::iterator it = gii.begin();
                                           it != gii.end();
                                         ++it)
@@ -61,67 +56,51 @@ void GetXCoherentInfoGdcmReader::Process()
    GDCM_NAME_SPACE::FileList::const_iterator it;
    GDCM_NAME_SPACE::FileList *l;
 
-   // ==================== Just to see ==============================
-
-   std::cout << std::endl << " ---------------------------------------- Recap"
-             << std::endl;
-   l = sh->GetFirstSingleSerieUIDFileSet();
-   while (l)
-   {
-      it = l->begin();
-      std::cout << "SerieUID [" <<  (*it)->GetEntryString(0x0020,0x000e) <<"]   Serie Description ["
-                << (*it)->GetEntryString(0x0008,0x103e) << "] "
-                << " : " << l->size() << " files" << std::endl;
-      l = sh->GetNextSingleSerieUIDFileSet();
-   }
-    std::cout << " ----------------------------------------End Recap"
-             << std::endl << std::endl;
-
-   if(l->size() > 1)
-     std::cout << " --------------------------- More than ONE Serie UID ?!?"
-               << std::endl << std::endl;
-   // ============================================================
-
    // Should only contain one!
    l = sh->GetFirstSingleSerieUIDFileSet();
 
    int nbFiles;
    double zspacing = 0.;
    nbFiles = l->size() ;
-   sh->OrderFileList(l);
+   sh->OrderFileList(l); // this one should compute the *actual* Z Spacing!
    zspacing = sh->GetZSpacing();
+   std::vector<double> v_pixelspacing;
+   v_pixelspacing.push_back( f->GetXSpacing() );
+   v_pixelspacing.push_back( f->GetYSpacing() );
+   v_pixelspacing.push_back( zspacing );
+//   if (f->GetZSize() != 1) {
+//      v_pixelspacing.push_back(f->GetZSpacing());
+//   }
+   bbSetOutputPixelSpacing(v_pixelspacing);
 
-   std::cout << "GetZSpacing() of sorted SingleSerieUIDFileSet "
-             << "from GDCM_NAME_SPACE::SerieHelper: " << zspacing << std::endl;
-   std::cout << " ('-1' means all the files have the same position)" << std::endl;
-
-   bbSetOutputInterSlice(zspacing);
-
-   
+   if (reader!=NULL)
+   { 
+      reader->Delete();
+      reader=NULL;
+   }
    reader = vtkGdcmReader::New();
    //reader->SetFileName( bbGetInputIn().c_str() );
    reader->SetCoherentFileList(l);
    reader->Update();
    reader->GetOutput();
 
-   vtkIndent indent ;
-   reader->GetOutput()->PrintSelf(std::cout, indent);
    bbSetOutputOut( reader->GetOutput() );
 }
 
-void GetXCoherentInfoGdcmReader::bbUserConstructor()
+void GetXCoherentInfoGdcmReader::bbUserSetDefaultValues()
 {
-    std::vector<std::string> init;
-    init.push_back("");
-    bbSetInputIn(init);  
+   std::vector<std::string> init;
+   init.push_back("");
+   bbSetInputIn(init);  
+   reader=NULL;
 }
 
-void GetXCoherentInfoGdcmReader::bbUserCopyConstructor(bbtk::BlackBox::Pointer)
+void GetXCoherentInfoGdcmReader::bbUserInitializeProcessing()
 {
-  
+       
 }
 
-void GetXCoherentInfoGdcmReader::bbUserDestructor()
+void GetXCoherentInfoGdcmReader::bbUserFinalizeProcessing()
 {
    if(reader)
       reader->Delete();
@@ -133,5 +112,3 @@ void GetXCoherentInfoGdcmReader::bbUserDestructor()
 
 }
 // EO namespace bbgdcmvtk
-
-