X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Example%2FWriteDicomSimple.cxx;h=ab83ac19fdb65e12d13cf32aed1f2387e3396b2a;hb=c556c62e38ad8f5b0423a91d919c13ac85a23f32;hp=8503e531d7ffd51319179e029805c260be482701;hpb=446ab2af0e3045cd559b086ced08a8cc5a61d2e2;p=gdcm.git diff --git a/Example/WriteDicomSimple.cxx b/Example/WriteDicomSimple.cxx index 8503e531..ab83ac19 100644 --- a/Example/WriteDicomSimple.cxx +++ b/Example/WriteDicomSimple.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: WriteDicomSimple.cxx,v $ Language: C++ - Date: $Date: 2004/12/09 11:31:52 $ - Version: $Revision: 1.1 $ + Date: $Date: 2005/10/25 14:52:27 $ + Version: $Revision: 1.15 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -22,10 +22,11 @@ * The image content is a horizontal grayscale from * */ -#include "gdcmHeader.h" #include "gdcmFile.h" - +#include "gdcmFileHelper.h" + #include +#include // Image size #define SIZE_X 256 @@ -38,7 +39,7 @@ #define COLOR_WINDOW 256 #define COLOR_LEVEL 128 -int main(int argc, char* argv[]) +int main(int argc, char *argv[]) { if (argc < 3) { @@ -56,52 +57,52 @@ int main(int argc, char* argv[]) // Step 1 : Create the header of the image - gdcm::Header *header = new gdcm::Header(); + gdcm::File *header = gdcm::File::New(); std::ostringstream str; // Set the image size str.str(""); str << SIZE_X; - header->ReplaceOrCreateByNumber(str.str(),0x0028,0x0011); + header->InsertEntryString(str.str(),0x0028,0x0011); // Columns str.str(""); str << SIZE_Y; - header->ReplaceOrCreateByNumber(str.str(),0x0028,0x0010); + header->InsertEntryString(str.str(),0x0028,0x0010); // Rows // Set the pixel type str.str(""); str << COMPONENT_SIZE * 8; - header->ReplaceOrCreateByNumber(str.str(),0x0028,0x0100); - header->ReplaceOrCreateByNumber(str.str(),0x0028,0x0101); + header->InsertEntryString(str.str(),0x0028,0x0100); // Bits Allocated + header->InsertEntryString(str.str(),0x0028,0x0101); // Bits Stored str.str(""); - str << COMPONENT_SIZE * 8 - 1; - header->ReplaceOrCreateByNumber(str.str(),0x0028,0x0102); + str << ( COMPONENT_SIZE * 8 ) - 1; + header->InsertEntryString(str.str(),0x0028,0x0102); // High Bit // Set the pixel representation str.str(""); str << "0"; // Unsigned - header->ReplaceOrCreateByNumber(str.str(),0x0028,0x0103); + header->InsertEntryString(str.str(),0x0028,0x0103); // Pixel Representation // Set the samples per pixel str.str(""); str << COMPONENT; - header->ReplaceOrCreateByNumber(str.str(),0x0028,0x0002); + header->InsertEntryString(str.str(),0x0028,0x0002); // Samples per Pixel // Set the Window / Level str.str(""); str << COLOR_WINDOW; - header->ReplaceOrCreateByNumber(str.str(),0x0028,0x1051); + header->InsertEntryString(str.str(),0x0028,0x1051); // Window Width str.str(""); str << COLOR_LEVEL; - header->ReplaceOrCreateByNumber(str.str(),0x0028,0x1050); + header->InsertEntryString(str.str(),0x0028,0x1050); // Window Center if( !header->IsReadable() ) { std::cerr << "-------------------------------\n" << "Error while creating the file\n" << "This file is considered to be not readable\n"; - + header->Delete(); return 1; } @@ -116,21 +117,21 @@ int main(int argc, char* argv[]) { for(int c=0;cSetImageData(imageData,size); // Step 4 : Set the writting mode and write the image std::string fileName = argv[1]; std::string mode = argv[2]; - file->SetWriteModeToDecompressed(); + file->SetWriteModeToRaw(); switch (mode[0]) { case 'a' : // Write an ACR file @@ -161,18 +162,17 @@ int main(int argc, char* argv[]) << "File :" << fileName << std::endl; delete[] imageData; - delete file; - delete header; + file->Delete(); + header->Delete(); return 0; default : std::cout << "-------------------------------\n" << "Write mode undefined...\n" << "No file written\n"; - delete[] imageData; - delete file; - delete header; + file->Delete(); + header->Delete(); return 1; } @@ -184,8 +184,9 @@ int main(int argc, char* argv[]) } delete[] imageData; - delete file; - delete header; + file->Delete(); + header->Delete(); return 0; } +