the final user by gdcmPython/__init__.py.
- the second python wrappers uses the vtk (http://public.kitware.com/VTK/)
native wrappers i.e. the binary vtkWrapPython. But it should be noticed
- that the purpous is here a bit different than the one of the Swig
+ that the purpose is here a bit different than the one of the Swig
generated Python wrappers. When using vtkWrapPython the goal is to
wrap a single vtk class namely vtkGdcmReader as defined in files
vtk/vtkGdcmReader.h and vtk/vtkGdcmReader.cxx (and of course those
gdcmFile::gdcmFile(std::string & filename)
:gdcmHeader(filename.c_str())
{
- SetPixelDataSizeFromHeader();
+ if (IsReadable())
+ SetPixelDataSizeFromHeader();
}
gdcmFile::gdcmFile(const char * filename)
:gdcmHeader(filename)
{
- SetPixelDataSizeFromHeader();
+ if (IsReadable())
+ SetPixelDataSizeFromHeader();
}
/**
-// $Header: /cvs/public/gdcm/src/Attic/gdcmHeader.cxx,v 1.100 2003/10/14 11:53:16 jpr Exp $
+// $Header: /cvs/public/gdcm/src/Attic/gdcmHeader.cxx,v 1.101 2003/10/15 15:01:16 jpr Exp $
#include "gdcmHeader.h"
Initialise();
if ( !OpenFile(exception_on_error))
return;
-
ParseHeader();
LoadElements();
CloseFile();
if(!fp)
throw gdcmFileError("gdcmHeader::gdcmHeader(const char *, bool)");
}
-// char *testEntete = new char[204];
- guint16 zero;
- fread(&zero, (size_t)2, (size_t)1, fp);
+
if ( fp ) {
+ guint16 zero;
+ fread(&zero, (size_t)2, (size_t)1, fp);
+
//ACR -- or DICOM with no Preamble
if( zero == 0x0008 || zero == 0x0800 || zero == 0x0002 || zero == 0x0200)
return true;
fseek(fp, 126L, SEEK_CUR);
char dicm[4];
fread(dicm, (size_t)4, (size_t)1, fp);
- if( strncmp(dicm, "DICM", 4) == 0 )
+ if( memcmp(dicm, "DICM", 4) == 0 )
return true;
fclose(fp);
dbg.Verbose(0, "gdcmHeader::gdcmHeader not DICOM/ACR", filename.c_str());