]> Creatis software - creaBruker.git/commitdiff
Fix 'AdjResult' dir troubles
authorjean-pierre roux <jean-pierre.roux@creatis.insa-lyon.fr>
Fri, 23 Apr 2010 09:06:16 +0000 (09:06 +0000)
committerjean-pierre roux <jean-pierre.roux@creatis.insa-lyon.fr>
Fri, 23 Apr 2010 09:06:16 +0000 (09:06 +0000)
lib/src1/bruker2dicom.cxx

index 05695f43927ab5da979b16a535df6c41b20dea40..961c8e7e9a2891622fe588db9b4780919e2816e8 100644 (file)
@@ -68,8 +68,8 @@ bool Bruker2Dicom::Execute()
        acqpFound= true;
     else
        acqpFound = false; // user passed a 'non study' directory; Hope it's a 'set of studies' directory!
-       
-   int type;    
+
+   int type;
    if  (subjectFound )  type = 1; // user passed a 'study
    else if  (acqpFound) type = 2; // user passed a 'serie' 
    else                 type = 3; // user passed a 'non study' directory; Hope it's a 'set of studies' directory!
@@ -103,19 +103,19 @@ bool Bruker2Dicom::Execute()
          subject_name = b_name.GetStringValue()[0];
          strPatientName = subject_name;
          cleanString(subject_name);
-         DealWithSingleStudyDirectory (fileNames); 
+         DealWithSingleStudyDirectory (fileNames);
          break;
       }
 
-      case 2: {    
+      case 2: {
            subject_name = "defaultPatName";
           strPatientName = subject_name;
            DealWithSingleStudyDirectory (fileNames);
           break;
       }
-   
-      case 3: {  
-         std::cout << " user passed a 'non study' directory; Hope it's a 'set of studies' directory!, not yet dealt with" << std::endl;
+
+      case 3: {
+         std::cout << " user passed a 'non study' directory; Hope it's a *non recursive* 'set of studies' directory! (recursive not yet dealt with)" << std::endl;
         DealWithMultiStudyDirectory (fileNames);
         break;
       }
@@ -133,7 +133,7 @@ void Bruker2Dicom::DealWithMultiStudyDirectory (GDCM_NAME_SPACE::DirListType &di
        ++it)
    {
       if ( boost::filesystem::is_directory(*it) )
-      { 
+      {
          if (verbose)
             std::cout << "[" << *it << "] is a directory" << std::endl;
 
@@ -194,6 +194,8 @@ void Bruker2Dicom::DealWithSingleStudyDirectory (GDCM_NAME_SPACE::DirListType &f
 
     if (subjectFound)
     {
+    
+ std::cout << "===================================--===========nom dir [" << tempStringPatDir << "] subjectFound, studyName : " << subject_study_name<< std::endl;
        BrukerFieldData b_entry=br_subject.GetFieldData("SUBJECT_entry");
        subject_entry = b_entry.GetStringValue()[0];
        //cleanString(subject_entry);
@@ -216,6 +218,8 @@ void Bruker2Dicom::DealWithSingleStudyDirectory (GDCM_NAME_SPACE::DirListType &f
    }
    else  // Desperate trick when file 'subject' is missing
    {
+
+ std::cout << "==============================================nom dir [" << tempStringPatDir << "] subjectFound" << std::endl;
       subject_entry      = "HeadFirst";            // Why not?
       subject_position   = "Supine";               // Why not?
       strStudyTimeDate   = "06_06_06_6_June_1666"; // Why not?
@@ -248,6 +252,7 @@ void Bruker2Dicom::DealWithSingleStudyDirectory (GDCM_NAME_SPACE::DirListType &f
    // each Directory (name : 1, 2, 3, ...) will be a Dicom Serie
    // -----------------------------------------------------
  
+   /// \TODO better use directory iterator, from boost! // JPR
    GDCM_NAME_SPACE::DirListType::iterator it;
 
    for (it = fileNames.begin();
@@ -259,7 +264,8 @@ void Bruker2Dicom::DealWithSingleStudyDirectory (GDCM_NAME_SPACE::DirListType &f
          if (verbose)
             std::cout << "[" << *it << "] is a directory" << std::endl;
 
-        if((*it) == "AdjStatePerStudy")  // avoid trouble with new version 'AdjStatePerStudy' directory
+        //if((*it) == "AdjResult")  // avoid trouble with new version 'AdjResult' directory
+        if(GDCM_NAME_SPACE::Util::GetName(*it) == "AdjResult")
            continue;
 
          //BrukerDataSet br_acqp;
@@ -388,7 +394,7 @@ void Bruker2Dicom::DealWithNiveau1(std::string &level1Directory, std::string &cu
          sprintf(outputDirName, "%s%c%s", currentOutputDirName.c_str(),
                                           GDCM_NAME_SPACE::GDCM_FILESEPARATOR,
                                           GDCM_NAME_SPACE::Util::GetName(*it).c_str());
-        std::string strOutputDirName(outputDirName);
+         std::string strOutputDirName(outputDirName);
          //br1.PrintSelf();
 
           std::string strMethod;
@@ -752,8 +758,8 @@ void Bruker2Dicom::DealWithNiveau3(std::string &level3Directory, std::string &cu
    {
       sprintf(currentOutputMhdDirName, "%s%c%s", currentOutputDirName.c_str(),
                                GDCM_NAME_SPACE::GDCM_FILESEPARATOR, "MhdFiles");
-      std::string strCurrentOutputMhdDirName(currentOutputMhdDirName);
 
+      std::string strCurrentOutputMhdDirName(currentOutputMhdDirName);
       res = CreateDirectory( strCurrentOutputMhdDirName );
       if (!res) {
          std::cout << "[" << currentOutputDirName << "] Directory creation failure " << std::endl;
@@ -844,7 +850,7 @@ void Bruker2Dicom::DealWithNiveau3(std::string &level3Directory, std::string &cu
                fprintf(fp, "DimSize = %d %d %d\n", NX, NY, nbSlices );
                fprintf(fp, "HeaderSize = %d\n", 0);
                //fprintf(fp, "ElementSpacing = %lf %lf %lf\n",fovX/NY, fovY/NY, sliceDistance );
-              fprintf(fp, "ElementSpacing = %lf %lf %lf\n", spatResolX, spatResolY, sliceDistance );
+               fprintf(fp, "ElementSpacing = %lf %lf %lf\n", spatResolX, spatResolY, sliceDistance );
                fprintf(fp, "Position = 0 0 %d\n", 0 );
                fprintf(fp, "Offset = 0 0 0\n" );
                fprintf(fp, "CenterOfRotation = 0 0 0\n" );