X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Example%2FexOverlaysACR.cxx;h=8ede8c90a7bc20c999dcbd6c2a18d307c1654db5;hb=0ee1d8c4c2c59be9b1ff698b219835a76ac86f2a;hp=01a0492aec9e5d4fbada2fa3074762380bcc3685;hpb=c4fa2e74a4ce56a0a8db54e4a70d404bec9fc8dd;p=gdcm.git diff --git a/Example/exOverlaysACR.cxx b/Example/exOverlaysACR.cxx index 01a0492a..8ede8c90 100644 --- a/Example/exOverlaysACR.cxx +++ b/Example/exOverlaysACR.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: exOverlaysACR.cxx,v $ Language: C++ - Date: $Date: 2005/08/30 14:40:28 $ - Version: $Revision: 1.6 $ + Date: $Date: 2007/05/23 14:18:05 $ + Version: $Revision: 1.11 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -59,9 +59,9 @@ V 6006|0102[US] [Overlay Bit Position] [15] x(f) int main(int argc, char *argv[]) { - gdcm::File *f; + GDCM_NAME_SPACE::File *f; - //gdcm::Debug::DebugOn(); + //GDCM_NAME_SPACE::Debug::DebugOn(); std::cout << "------------------------------------------------" << std::endl; std::cout << "Gets the 'Overlays' from a full gdcm-readable ACR-NEMA " @@ -86,13 +86,13 @@ int main(int argc, char *argv[]) //std::cout << argv[1] << std::endl; - f = new gdcm::File( ); + f = GDCM_NAME_SPACE::File::New( ); - f->SetLoadMode(GDCM_LD_NOSEQ | GDCM_LD_NOSHADOW); + f->SetLoadMode(GDCM_NAME_SPACE::LD_NOSEQ | GDCM_NAME_SPACE::LD_NOSHADOW); f->SetFileName( fileName ); bool res = f->Load(); - if( gdcm::Debug::GetDebugFlag() ) + if( GDCM_NAME_SPACE::Debug::GetDebugFlag() ) { std::cout << "---------------------------------------------" << std::endl; f->Print(); @@ -102,7 +102,7 @@ int main(int argc, char *argv[]) std::cout << "Sorry, " << fileName <<" not a gdcm-readable " << "DICOM / ACR File" <Delete(); return 0; } std::cout << " ... is readable " << std::endl; @@ -115,14 +115,14 @@ int main(int argc, char *argv[]) if ( bitsAllocated <= 8 ) { std::cout << " 8 bits pixel image cannot contain Overlays " << std::endl; - delete f; + f->Delete(); return 0; } - std::string s1 = f->GetEntryValue(0x6000, 0x0102); - if (s1 == gdcm::GDCM_UNFOUND) + std::string s1 = f->GetEntryString(0x6000, 0x0102); + if (s1 == GDCM_NAME_SPACE::GDCM_UNFOUND) { std::cout << " Image doesn't contain any Overlay " << std::endl; - delete f; + f->Delete(); return 0; } std::cout << " File is read! " << std::endl; @@ -132,15 +132,17 @@ int main(int argc, char *argv[]) // Load the pixels in memory. // ============================================================ - // We don't use a gdcm::FileHelper, since it rubs out + // We don't use a GDCM_NAME_SPACE::FileHelper, since it rubs out // the 'non image' bits of the pixels... + + /// \todo : Previous remark doesn't work if pixels are compressed ! int nx = f->GetXSize(); int ny = f->GetYSize(); std::cout << "Dimensions " << ny << " " <GetDocEntry(f->GetGrPixel(), f->GetNumPixel()); + GDCM_NAME_SPACE::DocEntry *p = f->GetDocEntry(f->GetGrPixel(), f->GetNumPixel()); if (p == 0) std::cout << "Pixels element not found" << std::endl; else @@ -155,7 +157,7 @@ int main(int argc, char *argv[]) if (fp == 0) { std::cout << "Unable to open File" << std::endl; - delete f; + f->Delete(); return 0; } else @@ -171,7 +173,7 @@ int main(int argc, char *argv[]) << "readable. expected length :" << nx*ny << " " << "read length : " << lgt << std::endl; - delete f; + f->Delete(); delete pixels; return 0; } @@ -195,16 +197,16 @@ int main(int argc, char *argv[]) uint16_t overlayLocation; std::ostringstream str; std::string strOverlayLocation; - gdcm::File *fileToBuild = 0; - gdcm::FileHelper *fh = 0; + GDCM_NAME_SPACE::File *fileToBuild = 0; + GDCM_NAME_SPACE::FileHelper *fh = 0; -while ( (strOvlBitPosition = f->GetEntryValue(currentOvlGroup, 0x0102)) - != gdcm::GDCM_UNFOUND ) -{ + while ( (strOvlBitPosition = f->GetEntryString(currentOvlGroup, 0x0102)) + != GDCM_NAME_SPACE::GDCM_UNFOUND ) + { - strOverlayLocation = f->GetEntryValue(currentOvlGroup, 0x0200); - if ( strOverlayLocation != gdcm::GDCM_UNFOUND ) + strOverlayLocation = f->GetEntryString(currentOvlGroup, 0x0200); + if ( strOverlayLocation != GDCM_NAME_SPACE::GDCM_UNFOUND ) { overlayLocation = atoi(strOverlayLocation.c_str()); if ( overlayLocation != f->GetGrPixel() ) @@ -222,7 +224,7 @@ while ( (strOvlBitPosition = f->GetEntryValue(currentOvlGroup, 0x0102)) std::cout << "Mask :[" <= 0x1000)// if it contains at least one overlay bit printf("%d : %04x\n",j, pixels[j]); @@ -231,37 +233,37 @@ while ( (strOvlBitPosition = f->GetEntryValue(currentOvlGroup, 0x0102)) else tabPixels[j] = 128; } - if( gdcm::Debug::GetDebugFlag() ) + if( GDCM_NAME_SPACE::Debug::GetDebugFlag() ) std::cout << "About to built empty file" << std::endl; - fileToBuild = new gdcm::File(); + fileToBuild = GDCM_NAME_SPACE::File::New(); - if( gdcm::Debug::GetDebugFlag() ) + if( GDCM_NAME_SPACE::Debug::GetDebugFlag() ) std::cout << "Finish to built empty file" << std::endl; str.str(""); str << nx; - fileToBuild->InsertValEntry(str.str(),0x0028,0x0011); // Columns + fileToBuild->InsertEntryString(str.str(),0x0028,0x0011); // Columns str.str(""); str << ny; - fileToBuild->InsertValEntry(str.str(),0x0028,0x0010); // Rows + fileToBuild->InsertEntryString(str.str(),0x0028,0x0010); // Rows - fileToBuild->InsertValEntry("8",0x0028,0x0100); // Bits Allocated - fileToBuild->InsertValEntry("8",0x0028,0x0101); // Bits Stored - fileToBuild->InsertValEntry("7",0x0028,0x0102); // High Bit - fileToBuild->InsertValEntry("0",0x0028,0x0103); // Pixel Representation - fileToBuild->InsertValEntry("1",0x0028,0x0002); // Samples per Pixel + fileToBuild->InsertEntryString("8",0x0028,0x0100); // Bits Allocated + fileToBuild->InsertEntryString("8",0x0028,0x0101); // Bits Stored + fileToBuild->InsertEntryString("7",0x0028,0x0102); // High Bit + fileToBuild->InsertEntryString("0",0x0028,0x0103); // Pixel Representation + fileToBuild->InsertEntryString("1",0x0028,0x0002); // Samples per Pixel - fileToBuild->InsertValEntry("MONOCHROME2 ",0x0028,0x0004); + fileToBuild->InsertEntryString("MONOCHROME2 ",0x0028,0x0004); // Other mandatory fields will be set automatically, // just before Write(), by FileHelper::CheckMandatoryElements() - if( gdcm::Debug::GetDebugFlag() ) + if( GDCM_NAME_SPACE::Debug::GetDebugFlag() ) std::cout << "-------------About to built FileHelper" << std::endl; - fh = new gdcm::FileHelper(fileToBuild); + fh = GDCM_NAME_SPACE::FileHelper::New(fileToBuild); - if( gdcm::Debug::GetDebugFlag() ) + if( GDCM_NAME_SPACE::Debug::GetDebugFlag() ) std::cout << "-------------Finish to built FileHelper" << std::endl; fh->SetImageData(tabPixels,nx*ny); @@ -275,9 +277,9 @@ while ( (strOvlBitPosition = f->GetEntryValue(currentOvlGroup, 0x0102)) { std::cout << "Failed\n" << "File in unwrittable\n"; - delete fh; + fh->Delete(); if (fileToBuild) - delete fileToBuild; + fileToBuild->Delete(); delete pixels; delete tabPixels; return 0; @@ -290,13 +292,14 @@ while ( (strOvlBitPosition = f->GetEntryValue(currentOvlGroup, 0x0102)) i++; } - delete f; if (f) - delete fh; + fh->Delete(); if (fileToBuild) - delete fileToBuild; + fileToBuild->Delete(); + f->Delete(); delete pixels; delete tabPixels; + return 0; }