+2003-09-10 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
+ * vtkGdcmReader set spacing and origin correctly
2003-09-09 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
* Fix a few delete/delete[] mismatch
2003-09-08 Mathieu Malaterre <Mathieu.Malaterre@creatis.insa-lyon.fr>
-// $Header: /cvs/public/gdcm/vtk/vtkGdcmReader.cxx,v 1.18 2003/08/29 09:47:13 malaterre Exp $
+// $Header: /cvs/public/gdcm/vtk/vtkGdcmReader.cxx,v 1.19 2003/09/10 09:31:55 malaterre Exp $
// //////////////////////////////////////////////////////////////
// WARNING TODO CLENAME
// Actual limitations of this code:
#include <vtkPointData.h>
#include "vtkGdcmReader.h"
#include "gdcm.h"
+#include "gdcmHeaderHelper.h"
vtkGdcmReader::vtkGdcmReader()
{
fclose(fp);
// Stage 1.2: check for Gdcm parsability
- gdcmHeader GdcmHeader(FileName->c_str());
+ gdcmHeaderHelper GdcmHeader(FileName->c_str());
if (!GdcmHeader.IsReadable())
{
vtkErrorMacro("Gdcm cannot parse file " << FileName->c_str());
ReturnedTotalNumberOfPlanes += NZ - 1; // First plane already added
this->ImageType = type;
this->PixelSize = GdcmHeader.GetPixelSize();
+
+ //Set image spacing
+ this->DataSpacing[0] = GdcmHeader.GetXSpacing();
+ this->DataSpacing[1] = GdcmHeader.GetYSpacing();
+ this->DataSpacing[2] = GdcmHeader.GetZSpacing();
+
+ //Set image origin
+ this->DataOrigin[0] = GdcmHeader.GetXOrigin();
+ this->DataOrigin[1] = GdcmHeader.GetYOrigin();
+ this->DataOrigin[2] = GdcmHeader.GetZOrigin();
+
}
} // End of loop on FileName
const unsigned long UpdateProgressTarget,
unsigned long & UpdateProgressCount)
{
- vtkDebugMacro("Copying to memmory image" << FileName.c_str());
+ vtkDebugMacro("Copying to memory image" << FileName.c_str());
gdcmFile GdcmFile(FileName.c_str());
size_t size = GdcmFile.GetImageDataSize();