+2004-11-15 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
+ * src/gdcmFile.cxx : now delete the PixelConvert instance.
+ * In examples and tests : change the type of image data variables from void*
+ to uint8_t*. Remmove all delete on image data variables
+
2004-11-10 Benoit Regrain <Benoit.Regrain@creatis.insa-lyon.fr>
* src/gdcmDocument.cxx : Set the file pointer TP to 0 in the constructors.
Verify the file pointer value before open the file, and if it's not null,
std::cout << "3...";
// For the next step:
int dataSizeWritten = reread->GetImageDataSize();
- void* imageDataWritten = reread->GetImageData();
+ uint8_t* imageDataWritten = reread->GetImageData();
//////////////// Step 4:
std::cout << std::endl
<< " Pixel areas lengths differ: "
<< dataSize << " # " << dataSizeWritten << std::endl;
- delete (char*)imageData;
- delete (char*)imageDataWritten;
delete header;
delete file;
delete reread;
(void)res;
std::cout << std::endl
<< " Pixel differ (as expanded in memory)." << std::endl;
- delete (char*)imageData;
- delete (char*)imageDataWritten;
delete header;
delete file;
delete reread;
std::cout << "4...OK." << std::endl ;
//////////////// Clean up:
- delete (char*)imageData;
- delete (char*)imageDataWritten;
delete header;
delete file;
delete reread;
// If the following call is important, then the API sucks. Why is it
// required to allocate PixelData when we are not using it !?
- void* PixelData = f2->GetImageData(); //EXTREMELY IMPORTANT
+ uint8_t* PixelData = f2->GetImageData(); //EXTREMELY IMPORTANT
//Otherwise ReadPixel == -1 -> the dicom writing fails completely
int dataSize = f2->GetImageDataSize();
f2->WriteDcmExplVR( output );
- delete[] imageData;
delete f1;
delete f2;
//delete PixelData; //Does GetImageData return the same pointer ?
gdcm::File * f1;
//gdcmDocument * d; //not used
- void* imageData;
+ uint8_t* imageData;
int dataSize;
if (argc < 3) {
gdcm::Header* e1, *e2;
gdcm::File * f1, *f2;
- void* imageData, *imageData2;
+ uint8_t* imageData, *imageData2;
int dataSize, dataSize2;
if( argc < 2 )
if (! testFILE )
{
////// Step 3a:
-
- int testedDataSize = tested->GetImageDataSize();
- (void)testedDataSize;
- void* testedImageData = tested->GetImageData(); // Kludge
+ uint8_t* testedImageData = tested->GetImageData(); // Kludge
tested->WriteDcmExplVR( referenceFileName );
std::cerr << " Creating reference baseline file :" << std::endl
<< " " << referenceFileName
<< std::endl;
delete tested;
- delete (char*)testedImageData;
+ //delete (char*)testedImageData;
return 0;
}
else
////// Step 3b:
int testedDataSize = tested->GetImageDataSize();
- void* testedImageData = tested->GetImageData();
+ uint8_t* testedImageData = tested->GetImageData();
int referenceDataSize = reference->GetImageDataSize();
- void* referenceImageData = reference->GetImageData();
+ uint8_t* referenceImageData = reference->GetImageData();
if (testedDataSize != referenceDataSize)
{
<< std::endl;
delete tested;
delete reference;
- delete (char*)testedImageData;
- delete (char*)referenceImageData;
return 1;
}
<< std::endl;
delete tested;
delete reference;
- delete (char*)testedImageData;
- delete (char*)referenceImageData;
return 1;
}
- std::cout << " Passed." << std::endl ;
+ std::cout << " Passed..." << std::endl;
//////////////// Clean up:
delete tested;
delete reference;
- delete (char*)testedImageData;
- delete (char*)referenceImageData;
+ std::cout << " Passed clean up." << std::endl ;
return 0;
}
testDIR->close();
}
-/* FILE* testFILE = fopen( baseLineDir.c_str(), "r" );
- if (!testFILE )
- {
- std::cerr << " The reference baseline directory " << std::endl
- << " "
- << baseLineDir << std::endl
- << " couldn't be opened."
- << std::endl;
- return 1;
- }
- else
- {
- fclose( testFILE );
- }*/
-
////// Step 1 (see above description):
-
std::string filename = GDCM_DATA_ROOT;
filename += "/";
filename += gdcmDataImages[i];
int dataSize = f2->GetImageDataSize();
printf ("dataSize %d\n",dataSize);
- void* imageData= f2->GetImageData();
+ uint8_t* imageData= f2->GetImageData();
// TODO : Why don't we merge theese 2 functions ?
std::cout << "3...";
// For the next step:
int dataSizeWritten = reread->GetImageDataSize();
- void* imageDataWritten = reread->GetImageData();
+ uint8_t* imageDataWritten = reread->GetImageData();
//////////////// Step 4:
std::cout << std::endl
<< " Pixel areas lengths differ: "
<< dataSize << " # " << dataSizeWritten << std::endl;
- delete[] (char*)imageData;
- delete[] (char*)imageDataWritten;
delete header;
delete file;
delete reread;
(void)res;
std::cout << std::endl
<< " Pixel differ (as expanded in memory)." << std::endl;
- delete[] (char*)imageData;
- delete[] (char*)imageDataWritten;
delete header;
delete file;
delete reread;
std::cout << "4...OK." << std::endl ;
//////////////// Clean up:
- delete[] (char*)imageData;
- delete[] (char*)imageDataWritten;
delete header;
delete file;
delete reread;
Program: gdcm
Module: $RCSfile: gdcmFile.cxx,v $
Language: C++
- Date: $Date: 2004/11/10 18:27:23 $
- Version: $Revision: 1.153 $
+ Date: $Date: 2004/11/15 15:29:04 $
+ Version: $Revision: 1.154 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
DeleteInitialValues();
if( PixelConverter )
{
- //delete PixelConverter;
+ delete PixelConverter;
}
}
#include <vtkPointData.h>
#include <vtkLookupTable.h>
-vtkCxxRevisionMacro(vtkGdcmReader, "$Revision: 1.52 $");
+vtkCxxRevisionMacro(vtkGdcmReader, "$Revision: 1.53 $");
vtkStandardNewMacro(vtkGdcmReader);
//-----------------------------------------------------------------------------
// fclose(f2);
//GetImageData allocate a (void*)malloc, remove it:
- delete[] pSource;
+
+ // CLEANME
+ // Now, the delete on values keep from GetImageData is useless (made in
+ // the PixelConvert class)
+ //delete[] pSource;
return size;
}