From bcce50eae2804247af45026ca20665a22ff073a3 Mon Sep 17 00:00:00 2001 From: jean-pierre roux Date: Fri, 23 Apr 2010 09:06:16 +0000 Subject: [PATCH] Fix 'AdjResult' dir troubles --- lib/src1/bruker2dicom.cxx | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/lib/src1/bruker2dicom.cxx b/lib/src1/bruker2dicom.cxx index 05695f4..961c8e7 100644 --- a/lib/src1/bruker2dicom.cxx +++ b/lib/src1/bruker2dicom.cxx @@ -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" ); -- 2.45.1