From: jean-pierre roux Date: Fri, 15 May 2009 16:16:47 +0000 (+0000) Subject: Generate new dir names X-Git-Tag: CREATOOLS.2-0-3~57 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=c13e327db3ca7cd301d880b244cd0ebabb6b66c2;hp=c23d68fe2d14a4c4f4b164fdc447f38247f0efc3;p=creaBruker.git Generate new dir names --- diff --git a/CTestConfig.cmake b/CTestConfig.cmake new file mode 100644 index 0000000..0a208c3 --- /dev/null +++ b/CTestConfig.cmake @@ -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) diff --git a/lib/src1/bruker2dicom.cxx b/lib/src1/bruker2dicom.cxx index 87997d9..30407ea 100644 --- a/lib/src1/bruker2dicom.cxx +++ b/lib/src1/bruker2dicom.cxx @@ -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