Program: gdcm
Module: $RCSfile: FindTags.cxx,v $
Language: C++
- Date: $Date: 2005/02/02 10:06:31 $
- Version: $Revision: 1.13 $
+ Date: $Date: 2005/07/08 12:02:02 $
+ Version: $Revision: 1.14 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
{
std::string fileName;
- gdcm::FileHelper *f1;
-
- if(argc > 1 )
- f1 = new gdcm::FileHelper(argv[1]);
- else {
+ gdcm::FileHelper *h;
+ gdcm::File *f = new gdcm::File();
+
+
+ if(argc > 1 )
+ f->SetFileName(argv[1]);
+ else
+ {
fileName = GDCM_DATA_ROOT;
fileName += "/test.acr";
- f1 = new gdcm::FileHelper(fileName);
+ f->SetFileName(fileName);
}
-
+
+ f->Load();
+ // Should test if it worked !
+
+ h = new gdcm::FileHelper(f);
+
std::string ManufacturerName="SIEMENS ";
std::string RecCode="ACR-NEMA 2.0";
std::string ImagePositionPatient, Location, ImageLocation;
float x, y, z, l;
- int dataSize = f1->GetImageDataSize();
+ int dataSize = h->GetImageDataSize();
std::cout << "---> pourFindTaggs : dataSize " << dataSize << std::endl;
- f1->SetValEntry(RecCode ,0x0008,0x0010);
- f1->SetValEntry(ManufacturerName ,0x0008,0x0070);
+ h->SetValEntry(RecCode ,0x0008,0x0010);
+ h->SetValEntry(ManufacturerName ,0x0008,0x0070);
// ImagePositionPatient
- ImagePositionPatient = f1->GetFile()->GetEntryValue(0x0020,0x0032);
+ ImagePositionPatient = h->GetFile()->GetEntryValue(0x0020,0x0032);
// Image Position (RET)
- f1->SetValEntry(ImagePositionPatient, 0x0020,0x0030);
+ h->SetValEntry(ImagePositionPatient, 0x0020,0x0030);
sscanf(ImagePositionPatient.c_str(), "%f%c%f%c%f", &x,&c,&y,&c,&z);
// Location
std::string zizi = gdcm::Util::Format("%f",l);
Location = gdcm::Util::DicomString(zizi.c_str());
- f1->SetValEntry(Location, 0x0020,0x0050);
+ h->SetValEntry(Location, 0x0020,0x0050);
// sinon, la longueur du champ est erronée (?!?)
// Probable sac de noeud entre strlen(xxx.c_str()) et xxx.length()
// SetEntryLength is private now.
//TO DO : see if the pb goes on...
-//f1->GetFile()->SetEntryLength(strlen(Location.c_str())-1, 0x0020,0x0050);
+//h->GetFile()->SetEntryLength(strlen(Location.c_str())-1, 0x0020,0x0050);
// Image Location
zizi = gdcm::Util::Format("%d",0x7FE0);
ImageLocation = gdcm::Util::DicomString(zizi.c_str());
-//f1->SetValEntry(Location, 0x0028,0x0200);
-//f1->GetFile()->SetEntryLength(strlen(ImageLocation.c_str())-1, 0x0020,0x0050); // prudence !
+//h->SetValEntry(Location, 0x0028,0x0200);
+//h->GetFile()->SetEntryLength(strlen(ImageLocation.c_str())-1, 0x0020,0x0050); // prudence !
-// void *imageData= f1->GetImageData();
+// void *imageData= h->GetImageData();
// ecriture d'un fichier ACR à partir d'un dcmFile correct.
std::cout << "----------------before PrintEntry---------------------" << std::endl;
- f1->GetFile()->Print();
+ h->GetFile()->Print();
std::cout << "----------------before WriteDcm---------------------" << std::endl;
fileNameToWrite = fileName + ".acr";
std::cout << "WriteACR" << std::endl;
- f1->WriteAcr(fileNameToWrite);
+ h->WriteAcr(fileNameToWrite);
std::cout << "----------------apres Write---------------------" << std::endl;
Program: gdcm
Module: $RCSfile: FlatHashTablePrint.cxx,v $
Language: C++
- Date: $Date: 2005/02/02 10:06:31 $
- Version: $Revision: 1.9 $
+ Date: $Date: 2005/07/08 12:02:02 $
+ Version: $Revision: 1.10 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
argv[0] << " input_dicom " << std::endl;
return 1;
}
-
- gdcm::File *header = new gdcm::File( argv[1] );
+ gdcm::File *header = new gdcm::File();
+ header->SetFileName(argv[1] );
+ header->Load();
+
gdcm::TagDocEntryHT *Ht = header->BuildFlatHashTable();
for (gdcm::TagDocEntryHT::iterator tag = Ht->begin(); tag != Ht->end(); ++tag)
Program: gdcm
Module: $RCSfile: TestChangeHeader.cxx,v $
Language: C++
- Date: $Date: 2005/02/02 14:26:30 $
- Version: $Revision: 1.14 $
+ Date: $Date: 2005/07/08 12:02:02 $
+ 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
return 1;
}
- gdcm::File *h1 = new gdcm::File( argv[1] );
+ gdcm::File *h1 = new gdcm::File( );
+ h1->SetFileName ( argv[1] );
+ h1->Load( );
gdcm::FileHelper *f1 = new gdcm::FileHelper( h1 );
- gdcm::FileHelper *f2 = new gdcm::FileHelper( argv[2] );
+
+ gdcm::File *h2 = new gdcm::File( );
+ h2->SetFileName ( argv[2] );
+ h2->Load( );
+ gdcm::FileHelper *f2 = new gdcm::FileHelper( h2 );
+
// 0018 1310 US ACQ Acquisition Matrix
gdcm::DictEntry *dictEntry =
h1->Print();
f1->WriteDcmExplVR("output-matrix.dcm");
+
+ delete f1;
+ delete f2;
+ delete h1;
+ delete h2;
return 0;
}
Program: gdcm
Module: $RCSfile: TestCopyDicom.cxx,v $
Language: C++
- Date: $Date: 2005/02/02 14:26:30 $
- Version: $Revision: 1.24 $
+ Date: $Date: 2005/07/08 12:02:02 $
+ Version: $Revision: 1.25 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
return 1;
}
}
- gdcm::FileHelper *original = new gdcm::FileHelper( filename );
+ gdcm::File *fileOr = new gdcm::File();
+ fileOr->SetFileName( filename );
+ fileOr->Load();
+ gdcm::FileHelper *original = new gdcm::FileHelper( fileOr );
std::cout << "--- Original ----------------------" << std::endl;
//original->GetFile()->Print();
Program: gdcm
Module: $RCSfile: TestFromScratch.cxx,v $
Language: C++
- Date: $Date: 2005/02/02 10:06:32 $
- Version: $Revision: 1.17 $
+ Date: $Date: 2005/07/08 12:02:02 $
+ Version: $Revision: 1.18 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
//gdcm::Debug::GetReference().SetDebug(1);
std::string filename = argv[1];
- gdcm::FileHelper *f1 = new gdcm::FileHelper( filename );
- gdcm::File *h1 = f1->GetFile();
+ gdcm::File *h1 = new gdcm::File();
+ h1->SetFileName( filename );
+ h1->Load( );
+ gdcm::FileHelper *f1 = new gdcm::FileHelper( h1 );
+
int dataSize = f1->GetImageDataSize();
std::cout << "DataSize: " << dataSize << std::endl;
delete f1;
delete f2;
+ delete h1;
delete h2;
return 0;
Program: gdcm
Module: $RCSfile: TestPrintTime.cxx,v $
Language: C++
- Date: $Date: 2005/05/11 14:40:56 $
- Version: $Revision: 1.2 $
+ Date: $Date: 2005/07/08 12:02:02 $
+ Version: $Revision: 1.3 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
e1= new gdcm::File( );
r1 = times(&tms1);
- e1->Load( filename );
+ e1->SetFileName( filename );
+ e1->Load( );
r2 = times(&tms2);
if (!e1->IsReadable())
std::cout << "-----------Not Readable " << std::endl;
e1= new gdcm::File( );
e1->SetLoadMode( NO_SEQ | NO_SHADOW );
r3 = times(&tms3);
- e1->Load( filename );
+ e1->SetFileName( filename );
+ e1->Load( );
+
r4 = times(&tms4);
if (!e1->IsReadable())
std::cout << "-----------Not Readable " << std::endl;
filename += gdcmDataImages[i];
e1= new gdcm::File( );
- e1->Load( filename );
+ e1->SetFileName( filename );
+ e1->Load( );
if (!e1->IsReadable())
std::cout << "-----------Not Readable " << std::endl;
delete e1;
e1= new gdcm::File( );
e1->SetLoadMode( NO_SEQ | NO_SHADOW );
- e1->Load( filename );
+ e1->SetFileName( filename );
+ e1->Load( );
if (!e1->IsReadable())
std::cout << "-----------Not Readable " << std::endl;
delete e1;
Program: gdcm
Module: $RCSfile: TestWriteSimple.cxx,v $
Language: C++
- Date: $Date: 2005/02/02 10:06:32 $
- Version: $Revision: 1.11 $
+ Date: $Date: 2005/07/08 12:02:02 $
+ Version: $Revision: 1.12 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
std::string header = argv[1];
const char *output = argv[2];
- gdcm::File *f1 = new gdcm::File( header );
+ gdcm::File *f1 = new gdcm::File( );
+ f1->SetFileName ( header );
+ f1->Load( );
+
gdcm::FileHelper *f2 = new gdcm::FileHelper( f1 );
// If the following call is important, then the API sucks. Why is it
Program: gdcm
Module: $RCSfile: Volume2Dicom.cxx,v $
Language: C++
- Date: $Date: 2005/02/02 10:06:32 $
- Version: $Revision: 1.6 $
+ Date: $Date: 2005/07/08 12:02:02 $
+ Version: $Revision: 1.7 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
////////////////////////////////////////////////////////////
// Create a new dicom header and fill in some info //
////////////////////////////////////////////////////////////
- gdcm::File *h1 = new gdcm::File();
-
- //h1->SetDateAndTime(filedate, filetime);
- //h1->SetModality("CT");
- //h1->SetPatientName( "TestPatient");
- //h1->SetPatientID( "TestID");
- //h1->SetStudyID( "1");
- //h1->SetSeriesNumber( "1");
- //h1->SetSliceThickness(spacing[2]);
- //h1->SetSpaceBetweenSlices(spacing[2]);
- //h1->SetXYSpacing( spacing[0], spacing[1]);
- //h1->SetXSize(sizex);
- //h1->SetYSize(sizey);
- //h1->SetNbBitsAllocated(16);
- //h1->SetNbBitsStored(12);
- //h1->SetNbBitsStored(12);
- //h1->SetPixelSigned(true);
- //h1->SetCenter( wcenter);
- //h1->SetWindow( wwidth);
+ gdcm::File *f = new gdcm::File();
+
+ //f->SetDateAndTime(filedate, filetime);
+ //f->SetModality("CT");
+ //f->SetPatientName( "TestPatient");
+ //f->SetPatientID( "TestID");
+ //f->SetStudyID( "1");
+ //f->SetSeriesNumber( "1");
+ //f->SetSliceThickness(spacing[2]);
+ //f->SetSpaceBetweenSlices(spacing[2]);
+ //f->SetXYSpacing( spacing[0], spacing[1]);
+ //f->SetXSize(sizex);
+ //f->SetYSize(sizey);
+ //f->SetNbBitsAllocated(16);
+ //f->SetNbBitsStored(12);
+ //f->SetNbBitsStored(12);
+ //f->SetPixelSigned(true);
+ //f->SetCenter( wcenter);
+ //f->SetWindow( wwidth);
////////////////////////////////////////////////////////////
// Create a new dicom file object from the header //
////////////////////////////////////////////////////////////
- gdcm::FileHelper *f1 = new gdcm::FileHelper(h1);
- uint8_t *myData = f1->GetImageData(); // Get an Image pointer
- f1->SetImageData( myData, sliceSize); // This callback ensures that the internal
- // Pixel_Data of f1 is set correctly
+ gdcm::FileHelper *fh = new gdcm::FileHelper(f);
+ uint8_t *myData = fh->GetImageData(); // Get an Image pointer
+ fh->SetImageData( myData, sliceSize); // This callback ensures that the internal
+ // Pixel_Data of fh is set correctly
////////////////////////////////////////////////////////////
for (int z=0; z<sizez; z++)
{
// Set dicom relevant information for that slice
- //h1->SetImageUIDFromSliceNumber(z);
- //h1->SetImageLocation(orig[0],orig[1],orig[2]+z*spacing[2]);
+ //f->SetImageUIDFromSliceNumber(z);
+ //f->SetImageLocation(orig[0],orig[1],orig[2]+z*spacing[2]);
// copy image slice content
memcpy(myData,imageData+z*sizex*sizey,sliceSize);
// write the image
std::string filename = directory + gdcm::Util::Format("%Image_%05d.dcm", z);
std::cout << "Writing file " << filename;
- f1->WriteDcmExplVR(filename);
+ fh->WriteDcmExplVR(filename);
std::cout << " OK" << std::endl;
}
////////////////////////////////////////////////////////////
// Free the allocated objects //
////////////////////////////////////////////////////////////
- // delete f1; // FIXME: these calls sometimes crashes under .NET ????
- // delete h1;
+ // delete fh; // FIXME: these calls sometimes crashes under .NET ????
+ // delete f;
return 0;
}
Program: gdcm
Module: $RCSfile: WriteDicomSimple.cxx,v $
Language: C++
- Date: $Date: 2005/04/20 11:25:35 $
- Version: $Revision: 1.12 $
+ Date: $Date: 2005/07/08 12:02:02 $
+ Version: $Revision: 1.13 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
*/
#include "gdcmFile.h"
#include "gdcmFileHelper.h"
-
+
#include <iostream>
#include <sstream>
Program: gdcm
Module: $RCSfile: WriteRead.cxx,v $
Language: C++
- Date: $Date: 2005/02/02 10:06:32 $
- Version: $Revision: 1.13 $
+ Date: $Date: 2005/07/08 12:02:02 $
+ Version: $Revision: 1.14 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
// --------------------- we read the input image
std::cout << argv[1] << std::endl;
-
- e1 = new gdcm::File( fileName );
+ e1 = new gdcm::File( );
+ e1->SetFileName( fileName );
+ e1->Load();
if (!e1->IsReadable()) {
std::cerr << "Sorry, " << fileName <<" not a Readable DICOM / ACR File"
<<std::endl;
f1->WriteDcmExplVR(fileNameToWrite);
// --------------------- we read the written image
-
- e2 = new gdcm::File( fileNameToWrite );
+ e2 = new gdcm::File( );
+ e2->SetFileName( fileNameToWrite );
+ e2->Load();
if (!e2->IsReadable()) {
std::cerr << "Sorry, " << fileNameToWrite << " not a Readable DICOM / ACR File"
<<std::endl;
Program: gdcm
Module: $RCSfile: exPrintWritePrint.cxx,v $
Language: C++
- Date: $Date: 2005/05/03 11:06:22 $
- Version: $Revision: 1.1 $
+ Date: $Date: 2005/07/08 12:02:02 $
+ Version: $Revision: 1.2 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
int main(int argc, char *argv[])
{
- gdcm::File *e1;
- gdcm::FileHelper *f1;
+ gdcm::File *f;
+ gdcm::FileHelper *fh;
std::string fileNameToWrite;
void *imageData;
int dataSize;
std::string fileName = argv[1];
std::string mode = argv[2];
- e1 = new gdcm::File( );
- e1->SetLoadMode( NO_SEQ );
- e1->Load( fileName.c_str() );
+ f = new gdcm::File( );
+ f->SetLoadMode( NO_SEQ );
+ f->SetFileName( fileName );
+ f->Load( );
- if (!e1->IsReadable())
+ if (!f->IsReadable())
{
std::cerr << "Sorry, not a Readable DICOM / ACR File" <<std::endl;
return 0;
}
- f1 = new gdcm::FileHelper(e1);
+ fh = new gdcm::FileHelper(f);
// ---
- e1->Print();
+ f->Print();
- imageData= f1->GetImageData();
- dataSize = f1->GetImageDataSize();
+ imageData= fh->GetImageData();
+ dataSize = fh->GetImageDataSize();
- f1->SetWriteModeToRGB();
+ fh->SetWriteModeToRGB();
switch (mode[0])
{
fileNameToWrite = fileName + ".ACR";
std::cout << "WriteACR" << std::endl;
- f1->WriteAcr(fileNameToWrite);
+ fh->WriteAcr(fileNameToWrite);
break;
case 'd' :
fileNameToWrite = fileName + ".DCM";
std::cout << "WriteDCM Implicit VR" << std::endl;
- f1->WriteDcmImplVR(fileNameToWrite);
+ fh->WriteDcmImplVR(fileNameToWrite);
break;
case 'x' :
fileNameToWrite = fileName + ".XDCM";
std::cout << "WriteDCM Explicit VR" << std::endl;
- f1->WriteDcmExplVR(fileNameToWrite);
+ fh->WriteDcmExplVR(fileNameToWrite);
break;
case 'r' :
fileNameToWrite = fileName + ".RAW";
std::cout << "WriteRaw" << std::endl;
- f1->WriteRawData(fileNameToWrite);
+ fh->WriteRawData(fileNameToWrite);
break;
}
std::cout << "-----------------------------------------------------------------"
<< std::endl;
- e1->Print();
- delete e1;
- delete f1;
+ f->Print();
+ delete f;
+ delete fh;
return 0;
}