+void ReadMHDPlane::copy_XZ_plane(int fd,vtkImageData *newImage,int slice,int iWidth,int dimX,int dimY,int dimZ,int dataSize)
+{
+ long long int j;
+ long long ret;
+ long long pos;
+ pos = dimX*(long long int)slice*dataSize;
+ long long sizeBytesPlane = dimX*dimY*dataSize;
+ char *pImage = (char*)( newImage->GetScalarPointer(0,0,iWidth) );
+ for (j=0;j<dimZ;j++)
+ {
+#if defined(_WIN32)
+ if (_lseeki64( fd, pos + j*sizeBytesPlane , SEEK_SET ) < 0)
+#else
+ if (lseek64(fd, pos + j*sizeBytesPlane , SEEK_SET) < 0)
+#endif // defined(_WIN32)
+ {
+ printf("EED ReadMHDPlane::Read64lseek \n");
+ fprintf(stderr, "Failed seeking to %lld, %s\n", pos, strerror(errno));
+ exit(1);
+ }
+
+ if ((ret = read(fd, pImage , dimX*dataSize)) < 0)
+ {
+ fprintf(stderr, "Failed reading: %s\n", strerror(errno));
+ exit(1);
+ }
+ pImage = pImage+dimX*dataSize;
+ } // for j
+}
+
+
+