From ba28ede6a36f7cbfb7ecb3e0ca3c9bbfe7289afd Mon Sep 17 00:00:00 2001 From: jpr Date: Thu, 25 Aug 2011 14:36:02 +0000 Subject: [PATCH] Some enhancements --- Example/PcpdenseToDicom.cxx | 174 ++++++++++++++++++++++-------------- 1 file changed, 105 insertions(+), 69 deletions(-) diff --git a/Example/PcpdenseToDicom.cxx b/Example/PcpdenseToDicom.cxx index a31c050b..847ebcd7 100644 --- a/Example/PcpdenseToDicom.cxx +++ b/Example/PcpdenseToDicom.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: PcpdenseToDicom.cxx,v $ Language: C++ - Date: $Date: 2011/03/29 07:35:57 $ - Version: $Revision: 1.7 $ + Date: $Date: 2011/08/25 14:36:02 $ + Version: $Revision: 1.8 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -49,7 +49,7 @@ int main(int argc, char *argv[]) { START_USAGE(usage) " \n pcpdenseToDicom :\n ", - " Converts the '.txt' files into 16 bits Dicom Files, ", + " Converts the '.txt' files into 16 bits Dicom-like Files, ", " usage: ", " pcpdenseToDicom rootfilename=... ", " (e.g.. : meas_MID380_DENSE_stacked_slices_aif_FID81637)", @@ -108,7 +108,7 @@ int main(int argc, char *argv[]) std::string strSerieUID; std::string strStudyUID = GDCM_NAME_SPACE::Util::CreateUniqueUID(); - std::string dcmImageName, textFileName, patientname,/* studyUID, serieUID, */ serieDescr ; + std::string dcmImageName, textFileName, patientname, serieDescr; std::string deb(rootfilename); unsigned short int *image; @@ -118,7 +118,7 @@ int main(int argc, char *argv[]) // Get some info // ------------- - { + { Ecc.str(rootfilename); Ecc << Ecc.str() << "_s0" << "_Ecc.txt"; @@ -157,12 +157,11 @@ int main(int argc, char *argv[]) serieDescr = "Ecc"; - if (!multiframe) { - + if (!multiframe) { for (int i=0; i> str1; - from >> str1; + from >> str1; + from >> str1; - int NX, NY; - from >> NX; - from >> NY; - std::cout << "NX, NY : " << NX << ", " << NY << std::endl; + int NX, NY; + from >> NX; + from >> NY; + std::cout << "NX, NY : " << NX << ", " << NY << std::endl; - float pixelValue; + float pixelValue; - int i, j; - for( i=0;i> pixelValue; image[i*NX+j] = (unsigned short int)(pixelValue * 1000.); // Why do we multiply by 1000? // JPR } + } } @@ -403,17 +418,37 @@ XY Dimensions 47 50 from >> NY; std::cout << "NX, NY : " << NX << ", " << NY << std::endl; + int k; + for( k=0;k> pixelValue; pixelValue*=1000.; // Why do we multiply by 1000? // JPR image[i*4*NX + j*2] = image[i*4*NX + j*2+1] = image[(i*4+2)*NX + j*2] = image[(i*4+2)*NX + j*2+1] = (unsigned short int)(pixelValue); - } - } - + } + } + */ + + int lgrLigneNvlleImage = NX+NX; + int debLigneNvlleImage = 0; + for( i=0;i> pixelValue; + pixelValue*=1000.; // Why do we multiply by 1000? // JPR + image[debLigneNvlleImage + j+j] = + image[debLigneNvlleImage + j+j +1] = + image[debLigneNvlleImage + lgrLigneNvlleImage +j+j] = + image[debLigneNvlleImage + lgrLigneNvlleImage + j+j +1] = + (unsigned short int)(pixelValue); + } + debLigneNvlleImage += 2*lgrLigneNvlleImage; + } } // ===================================================================================================================================== @@ -421,6 +456,7 @@ XY Dimensions 47 50 void MakeDicomImage(unsigned short int *tabVal, int X, int Y, std::string dcmImageName, const char * patientName, int nbFrames, std::string studyUID, std::string serieUID, std::string SerieDescr, int imgNum, bool m) { +std::cout << "in MakeDicomImage : dcmImageName = [" << dcmImageName << "]" << std::endl; // GDCM_NAME_SPACE::Debug::DebugOn(); std::ostringstream str; -- 2.45.0