]> Creatis software - creaBruker.git/commitdiff
Generate new dir names
authorjean-pierre roux <jean-pierre.roux@creatis.insa-lyon.fr>
Fri, 15 May 2009 16:16:47 +0000 (16:16 +0000)
committerjean-pierre roux <jean-pierre.roux@creatis.insa-lyon.fr>
Fri, 15 May 2009 16:16:47 +0000 (16:16 +0000)
CTestConfig.cmake [new file with mode: 0644]
lib/src1/bruker2dicom.cxx

diff --git a/CTestConfig.cmake b/CTestConfig.cmake
new file mode 100644 (file)
index 0000000..0a208c3
--- /dev/null
@@ -0,0 +1,13 @@
+## This file should be placed in the root directory of your project.
+## Then modify the CMakeLists.txt file in the root directory of your
+## project to incorporate the testing dashboard.
+## # The following are required to uses Dart and the Cdash dashboard
+##   ENABLE_TESTING()
+##   INCLUDE(Dart)
+set(CTEST_PROJECT_NAME "creaBruker")
+set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")
+
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "www.creatis.insa-lyon.fr")
+set(CTEST_DROP_LOCATION "/cdash/submit.php?project=creaBruker")
+set(CTEST_DROP_SITE_CDASH TRUE)
index 87997d991c067abd2b43f827606ab68f7cb569da..30407ea919902918056cb020f1d48715a5a53506 100644 (file)
@@ -8,7 +8,7 @@
 
 bool Bruker2Dicom::Execute()
 {
-   // ----- Begin Processing -----
+   // ----- Check input values -----
 
    bool bigEndian = GDCM_NAME_SPACE::Util::IsCurrentProcessorBigEndian();
  
@@ -77,7 +77,7 @@ bool Bruker2Dicom::Execute()
 
   // get info for 'Study Description'
   
 /*
+ /*
          BrukerFieldData b_protocol_location=br_acqp.GetFieldData("ACQ_protocol_location");
          acqp_protocol_location = b_protocol_location.GetStringValue()[0];
          cleanString(acqp_protocol_location);
@@ -107,7 +107,7 @@ bool Bruker2Dicom::Execute()
         subject_study_name = subject_study_name.substr(1, subject_study_name.size()-2);         
          cleanString(subject_date);
         
-   strStudyDescr = subject_name + "-" + subject_study_name + "-" + subject_entry + "-" + subject_position + "-" + subject_date;
+   strStudyDescr = subject_name + "." + subject_study_name + "." + subject_entry + "." + subject_position + "." + subject_date;
                 
    char outputDirName[(unsigned int) PATH_MAX+2];
 
@@ -116,6 +116,7 @@ bool Bruker2Dicom::Execute()
    // -----------------------------------------------------
    // Iterate to ALL the objets(files/directories) found in the input directory
    // (this is level ZERO)
+   // each Directory (name : 1, 2, 3, ...) will be a Dicom Serie
    // -----------------------------------------------------
            
    GDCM_NAME_SPACE::DirListType::iterator it;
@@ -160,14 +161,20 @@ bool Bruker2Dicom::Execute()
          nbSlices =  b_list_size.GetIntValue()[0];
 
          strSerieDescr = GDCM_NAME_SPACE::Util::GetName(*it)
-                         + "-" + acqp_protocol_location
-                         + "-" + acqp_scan_name
-                         + "-" + acqp_method.c_str();
+                         + "." + acqp_protocol_location
+                         + "." + acqp_scan_name
+                         + "." + acqp_method.c_str();
 
          sprintf(outputDirName, "%s%c%s", OutputDirName.c_str(), 
                           GDCM_NAME_SPACE::GDCM_FILESEPARATOR,
                           strSerieDescr.c_str() );
                          
+         std::cout << " ================================================================================\n"
+                  << " === [" << GDCM_NAME_SPACE::Util::GetName(*it) << "] -> [" << strSerieDescr << "]\n"
+                   << " ================================================================================"
+                   << std::endl;
+
+/*                       
          std::cout << " ================================================================================\n"
                   << " ========================= [" << GDCM_NAME_SPACE::Util::GetName(*it).c_str()
                    << acqp_protocol_location.c_str()
@@ -176,7 +183,7 @@ bool Bruker2Dicom::Execute()
                    << "]\n"
                    << " ================================================================================"
                    << std::endl;
-
+*/
         if (verbose)
            printf ("outputDirName [%s]\n", outputDirName);   
 
@@ -369,7 +376,7 @@ void Bruker2Dicom::DealWithNiveau2(std::string level2Directory, std::string curr
              str_isa_func_name = b_isa_func_name.GetStringValue()[0];
              cleanString(str_isa_func_name);
 
-             sprintf(outputDirName, "%s%c%s-%s", currentOutputDirName.c_str(), 
+             sprintf(outputDirName, "%s%c%s.%s", currentOutputDirName.c_str(), 
                                           GDCM_NAME_SPACE::GDCM_FILESEPARATOR,
                                           GDCM_NAME_SPACE::Util::GetName(*it).c_str(),
              str_isa_func_name.c_str());
@@ -555,7 +562,7 @@ void Bruker2Dicom::DealWithNiveau3(std::string level3Directory, std::string curr
       exit (0);
    }
    
-   unsigned char * buffer_2dseq = new unsigned char[NX*NY*pixelSize*nbSlices*nbInstants];   
+   unsigned char *buffer_2dseq = new unsigned char[NX*NY*pixelSize*nbSlices*nbInstants];   
    ///\ TODO : find a safer way to be sure to read everything!
    size_t lgr = fread(buffer_2dseq, 1, NX*NY*pixelSize*nbSlices*nbInstants, fp);
 
@@ -569,7 +576,7 @@ void Bruker2Dicom::DealWithNiveau3(std::string level3Directory, std::string curr
        std::cout << "Single instant : do not split" << std::endl;
        if (mhd)
        {
-             sprintf(outputMhdFileName, "%s%cMhdData_Toutes_les_Slices.mhd", currentOutputMhdDirName,
+             sprintf(outputMhdFileName, "%s%cMhdData_All_the_Slices.mhd", currentOutputMhdDirName,
                                          GDCM_NAME_SPACE::GDCM_FILESEPARATOR);
              fp=fopen(outputMhdFileName, "w");
              if (!fp)
@@ -591,10 +598,10 @@ void Bruker2Dicom::DealWithNiveau3(std::string level3Directory, std::string curr
                fprintf(fp, "CenterOfRotation = 0 0 0\n" );
                fprintf(fp, "ElementNumberOfChannels = 1\n" );
                fprintf(fp, "ElementType = %s\n", mhdDataPixelType.c_str() );  
-               fprintf(fp, "ElementDataFile = %s\n", "../2dseq_toutes_les_Slices" );
+               fprintf(fp, "ElementDataFile = %s\n", "../2dseq_All_the_Slices" );
                fclose(fp);     
              }
-             sprintf(output2dseqSliceFileName, "%s%c2dseq_toutes_les_Slices", 
+             sprintf(output2dseqSliceFileName, "%s%c2dseq_All_the_Slices", 
                                        currentOutputDirName.c_str(), GDCM_NAME_SPACE::GDCM_FILESEPARATOR);
              fp=fopen(output2dseqSliceFileName, "wb");
              if (!fp)
@@ -610,7 +617,7 @@ void Bruker2Dicom::DealWithNiveau3(std::string level3Directory, std::string curr
        }  // end if mhd
        if (dicom)
        {
-             sprintf(output2dseqSliceFileName, "%s%c2dseq_toutes_les_Slices.dcm", 
+             sprintf(output2dseqSliceFileName, "%s%c2dseq_All_the_Slices.dcm", 
                                        currentOutputDirName.c_str(), GDCM_NAME_SPACE::GDCM_FILESEPARATOR);
               
             /* ----------- Write Dicom Image  ---------------*/
@@ -639,7 +646,7 @@ void Bruker2Dicom::DealWithNiveau3(std::string level3Directory, std::string curr
           // Interleaved !
           // it's (slice1,slide2, ...)t1 ; (slice1,slide2, ...)t2 ; ...
 
-         unsigned char * pixelsForCurrentSlice = new unsigned char[NX*NY*pixelSize*nbInstants];
+         unsigned char *pixelsForCurrentSlice = new unsigned char[NX*NY*pixelSize*nbInstants];
 
          k = 0;
          for (sliceNb=0; sliceNb<nbSlices; sliceNb++)
@@ -927,7 +934,7 @@ bool Bruker2Dicom::CreateDirectory(std::string OutputDirName)
                 <<std::endl;
    if ( ! GDCM_NAME_SPACE::DirList::IsDirectory(OutputDirName) )    // dirout not found
    {
-      std::string strDirNameout(OutputDirName);          // to please gcc 4
+      std::string strDirNameout(OutputDirName);        // to please gcc 4
       systemCommand = "mkdir " + strDirNameout;        // create it!
       if (verbose)
          std::cout << systemCommand << std::endl;