X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Testing%2FTestCopyRescaleDicom.cxx;h=3d25e33cdfdfeb0b983b24910ed955a1c908f54e;hb=ab9b96bb7b0c77c1beaee820985debe75f04b831;hp=409c2ef8202550ad162b23e1e21ec4fdca94fbf9;hpb=0b1ad8fdf8d7fc3872755852f68dd77d532e2cad;p=gdcm.git diff --git a/Testing/TestCopyRescaleDicom.cxx b/Testing/TestCopyRescaleDicom.cxx index 409c2ef8..3d25e33c 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/07/08 13:39:57 $ + Version: $Revision: 1.20 $ 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" @@ -68,10 +72,13 @@ int CopyRescaleDicom(std::string const &filename, return 1; } } - + //////////////// Step 1: std::cout << " 1..."; - gdcm::File originalF = gdcm::File( filename ); + gdcm::File originalF = gdcm::File( ); + originalF.SetFileName( filename ); + originalF.Load(); + gdcm::File copyF = gdcm::File( ); //First of all copy the file, field by field @@ -85,14 +92,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 +135,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 +274,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 +289,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; }