X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vtk%2FvtkGdcmReader.cxx;h=24e3f929775c761a4418994cc46b5b9c36fb6299;hb=5b4a76f5a670626f5ae20714d265b3a50ffa2218;hp=94a28226b79c43c2d65e1a10d8c2057c7b06ec84;hpb=d66701140e07d8e6fa7a529a8d2ae99d685026c5;p=gdcm.git diff --git a/vtk/vtkGdcmReader.cxx b/vtk/vtkGdcmReader.cxx index 94a28226..24e3f929 100644 --- a/vtk/vtkGdcmReader.cxx +++ b/vtk/vtkGdcmReader.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: vtkGdcmReader.cxx,v $ Language: C++ - Date: $Date: 2005/08/30 15:25:25 $ - Version: $Revision: 1.79 $ + Date: $Date: 2005/10/25 14:52:37 $ + Version: $Revision: 1.85 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -69,7 +69,7 @@ #include #include -vtkCxxRevisionMacro(vtkGdcmReader, "$Revision: 1.79 $") +vtkCxxRevisionMacro(vtkGdcmReader, "$Revision: 1.85 $") vtkStandardNewMacro(vtkGdcmReader) //----------------------------------------------------------------------------- @@ -452,7 +452,7 @@ void vtkGdcmReader::LoadFileInformation() fclose(fp); // Read the file - file=new gdcm::File(); + file=gdcm::File::New(); file->SetLoadMode( LoadMode ); file->SetFileName(filename->c_str() ); file->Load(); @@ -463,7 +463,7 @@ void vtkGdcmReader::LoadFileInformation() vtkErrorMacro(<< "Gdcm cannot parse file " << filename->c_str()); vtkErrorMacro(<< "Removing this file from read files: " << filename->c_str()); - delete file; + file->Delete(); file=NULL; InternalFileList.push_back(file); continue; @@ -479,7 +479,7 @@ void vtkGdcmReader::LoadFileInformation() << " File type found : " << type.c_str() << " (might be 8U, 8S, 16U, 16S, 32U, 32S) \n" << " Removing this file from read files"); - delete file; + file->Delete(); file=NULL; InternalFileList.push_back(file); continue; @@ -499,7 +499,7 @@ void vtkGdcmReader::LoadFileInformation() } else if(!TestFileInformation(file)) { - delete file; + file->Delete(); file=NULL; } @@ -540,7 +540,11 @@ void vtkGdcmReader::GetFileInformation(gdcm::File *file) this->NumColumns = file->GetXSize(); this->NumLines = file->GetYSize(); this->NumPlanes = file->GetZSize(); - this->TotalNumberOfPlanes = this->NumPlanes*InternalFileNameList.size(); + + if (CoherentFileList == 0) + this->TotalNumberOfPlanes = this->NumPlanes*InternalFileNameList.size(); + else + this->TotalNumberOfPlanes = this->NumPlanes*CoherentFileList->size(); this->ImageType = file->GetPixelType(); this->PixelSize = file->GetPixelSize(); @@ -611,7 +615,7 @@ bool vtkGdcmReader::TestFileInformation(gdcm::File *file) } if( numLines != this->NumLines ) { - vtkErrorMacro(<< "File y value doesn't match with the previous ones: " + vtkErrorMacro(<< "File Y value doesn't match with the previous ones: " << file->GetFileName().c_str() << ". Found " << numLines << ", must be " << this->NumLines); @@ -619,7 +623,7 @@ bool vtkGdcmReader::TestFileInformation(gdcm::File *file) } if( numPlanes != this->NumPlanes ) { - vtkErrorMacro(<< "File z value doesn't match with the previous ones: " + vtkErrorMacro(<< "File Z value doesn't match with the previous ones: " << file->GetFileName().c_str() << ". Found " << numPlanes << ", must be " << this->NumPlanes); @@ -677,7 +681,7 @@ void vtkGdcmReader::RemoveAllInternalFile(void) it!=InternalFileList.end(); ++it) { - delete (*it); + (*it)->Delete(); } } this->InternalFileList.clear(); @@ -737,7 +741,7 @@ void vtkGdcmReader::LoadImageInMemory( if(!f) return; - gdcm::FileHelper *fileH = new gdcm::FileHelper( f ); + gdcm::FileHelper *fileH = gdcm::FileHelper::New( f ); fileH->SetUserFunction( UserFunction ); int numColumns = f->GetXSize(); @@ -749,9 +753,9 @@ void vtkGdcmReader::LoadImageInMemory( numComponents = f->GetNumberOfScalarComponentsRaw(); else numComponents = f->GetNumberOfScalarComponents(); //rgb or mono - + vtkDebugMacro(<< "numComponents:" << numComponents); vtkDebugMacro(<< "Copying to memory image [" << f->GetFileName().c_str() << "]"); - size_t size; + //size_t size; // If the data structure of vtk for image/volume representation // were straigthforwards the following would be enough: @@ -767,7 +771,8 @@ void vtkGdcmReader::LoadImageInMemory( if( fileH->GetFile()->HasLUT() && AllowLookupTable ) { - size = fileH->GetImageDataSize(); + // to avoid bcc 5.5 w + /*size = */ fileH->GetImageDataSize(); src = (unsigned char*) fileH->GetImageDataRaw(); unsigned char *lut = (unsigned char*) fileH->GetLutRGBA(); @@ -792,8 +797,9 @@ void vtkGdcmReader::LoadImageInMemory( } else { - size = fileH->GetImageDataSize(); - src = (unsigned char*)fileH->GetImageData(); + //size = fileH->GetImageDataSize(); + // useless - just an accessor; 'size' unused + src = (unsigned char*)fileH->GetImageData(); } unsigned char *dst = dest + planeSize - lineSize; @@ -815,7 +821,7 @@ void vtkGdcmReader::LoadImageInMemory( dst += 2 * planeSize; } - delete fileH; + fileH->Delete(); } //-----------------------------------------------------------------------------