X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Testing%2FTestCopyRescaleDicom.cxx;h=1d035d726b8fbea99a6a66104c1e6c2e046b1fe9;hb=b9c185642af7840db746390af181e7db39d18bd9;hp=409c2ef8202550ad162b23e1e21ec4fdca94fbf9;hpb=0b1ad8fdf8d7fc3872755852f68dd77d532e2cad;p=gdcm.git diff --git a/Testing/TestCopyRescaleDicom.cxx b/Testing/TestCopyRescaleDicom.cxx index 409c2ef8..1d035d72 100644 --- a/Testing/TestCopyRescaleDicom.cxx +++ b/Testing/TestCopyRescaleDicom.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: TestCopyRescaleDicom.cxx,v $ Language: C++ - Date: $Date: 2005/02/09 22:50:47 $ - Version: $Revision: 1.17 $ + Date: $Date: 2005/05/20 15:50:27 $ + Version: $Revision: 1.19 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -20,6 +20,10 @@ #include "gdcmValEntry.h" #include "gdcmBinEntry.h" +#include +#include +#include // for std::ios::left, ... + //Generated file: #include "gdcmDataImages.h" @@ -85,14 +89,14 @@ int CopyRescaleDicom(std::string const &filename, if ( gdcm::BinEntry *b = dynamic_cast(d) ) { copyF.InsertBinEntry( b->GetBinArea(),b->GetLength(), - b->GetGroup(),b->GetElement(), - b->GetVR() ); + b->GetGroup(),b->GetElement(), + b->GetVR() ); } else if ( gdcm::ValEntry *v = dynamic_cast(d) ) { copyF.InsertValEntry( v->GetValue(), - v->GetGroup(),v->GetElement(), - v->GetVR() ); + v->GetGroup(),v->GetElement(), + v->GetVR() ); } else { @@ -128,7 +132,7 @@ int CopyRescaleDicom(std::string const &filename, uint8_t *tmpRescale = rescaleImage; for(unsigned int i=0; i>8; + *tmpRescale = (uint8_t)( (*tmpImage)>>8 ); tmpImage++; tmpRescale++; } @@ -267,6 +271,11 @@ int TestCopyRescaleDicom(int argc, char *argv[]) << " match (as expanded by gdcm)." << std::endl; std::cout << std::endl; + + clock_t r1,r2, r3,r4; + struct tms tms1,tms2, tms3,tms4; + + r3 = times(&tms3); int i =0; int retVal = 0; //by default this is an error while( gdcmDataImages[i] != 0 ) @@ -277,13 +286,34 @@ int TestCopyRescaleDicom(int argc, char *argv[]) std::string output = "output.dcm"; + r1 = times(&tms1); if( CopyRescaleDicom( filename, output ) != 0 ) { retVal++; } + r2 = times(&tms2); + + std::cout + << std::setw(150-strlen(gdcmDataImages[i])) + << gdcmDataImages[i] << " user time: " + << (long) ((tms2.tms_utime) - (tms1.tms_utime)) + << " system time: " + << (long) ((tms2.tms_stime) - (tms1.tms_stime)) + << "\t elapsed time: " << r2 - r1 + << std::endl; i++; } + r4 = times(&tms4); + + std::cout + << std::setw(150-strlen("Gross Total")) << " --> " + << "Gross Total" << " user time: " + << (long) ((tms4.tms_utime) - (tms3.tms_utime)) + << " system time: " + << (long) ((tms4.tms_stime) - (tms3.tms_stime)) + << "\t elapsed time: " << (long) (r4 - r3) + << std::endl; return retVal; }