bool Bruker2Dicom::Execute()
{
- // ----- Begin Processing -----
+ // ----- Check input values -----
bool bigEndian = GDCM_NAME_SPACE::Util::IsCurrentProcessorBigEndian();
// 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);
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];
// -----------------------------------------------------
// 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;
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()
<< "]\n"
<< " ================================================================================"
<< std::endl;
-
+*/
if (verbose)
printf ("outputDirName [%s]\n", outputDirName);
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());
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);
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)
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)
} // 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 ---------------*/
// 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++)
<<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;