- newImage->SetScalarTypeToUnsignedChar();
- newImage->SetSpacing( 1,1,1 );
- newImage->SetDimensions( sizeX,sizeY,sizeZ );
- newImage->SetWholeExtent(0, sizeX-1,0,sizeY-1,0,sizeZ-1 );
- newImage->SetExtent(0, sizeX-1,0,sizeY-1,0,sizeZ-1 );
- newImage->SetNumberOfScalarComponents(1);
- newImage->AllocateScalars();
- newImage->Update();
- memset ( (void*)newImage->GetScalarPointer(), 0, sizeX*sizeY*1 );
- for (i=0; i<sizeX; i++)
- {
- newImage->SetScalarComponentFromDouble(i,i,0, 0, 255 );
- newImage->SetScalarComponentFromDouble(i,sizeY-1-i,0, 0, 255 );
- } // for i
- } // if ok
+
+
+ int fd;
+ long long ret;
+ std::size_t found;
+ std::string filename;
+ found = bbGetInputFileName().find_last_of("/\\");
+ filename = bbGetInputFileName().substr(0,found+1) + elementdatafile ;
+ long long pos;
+
+ long long lsize = dimX*dimY*width *dataSize;
+
+
+#if defined(_WIN32)
+ _sopen_s( &fd, filename.c_str(), _O_RDONLY, _SH_DENYNO, 0 );
+#else
+ fd = open ( filename.c_str() , O_RDONLY|O_LARGEFILE );
+#endif // defined(_WIN32)
+
+
+ if (fd < 0)
+ {
+ printf("EED ReadMHDPlane::Read64lseek WARNNING! raw file not exist\n");
+ fprintf(stderr, "%s\n", strerror(errno));
+ newImage=CreateDefaultImage();
+// exit(1);
+ }
+
+
+ if ((bbGetInputDirectionPlane()=="XY") && (fd>=0))
+ {
+ newImage->SetSpacing( spcX,spcY,spcZ );
+ newImage->SetDimensions( dimX,dimY,width );
+ newImage->SetExtent(0, dimX-1,0,dimY-1,0,width-1 );
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+ newImage->SetWholeExtent(0, dimX-1,0,dimY-1,0,width-1 );
+ newImage->SetNumberOfScalarComponents(1);
+ newImage->SetScalarType(imageType);
+ newImage->AllocateScalars();
+ newImage->Update();
+#else
+ newImage->AllocateScalars( imageType,1 );
+#endif
+
+
+ pos = dimX*dimY*(long long)slice*dataSize;
+#if defined(_WIN32)
+ if (_lseeki64( fd, pos, SEEK_SET ) < 0)
+#else
+ if (lseek64(fd, pos, 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, newImage->GetScalarPointer() , lsize)) < 0)
+ {
+ fprintf(stderr, "Failed reading: %s\n", strerror(errno));
+ exit(1);
+ }
+ } // if PLANE XY
+
+ if ((bbGetInputDirectionPlane()=="XZ") && (fd>=0))
+ {
+ newImage->SetSpacing( spcX,spcZ,spcY );
+ newImage->SetDimensions( dimX,dimZ,width );
+ newImage->SetExtent(0, dimX-1,0,dimZ-1,0,width-1 );
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+ newImage->SetWholeExtent(0, dimX-1,0,dimZ-1,0,width-1 );
+ newImage->SetNumberOfScalarComponents(1);
+ newImage->SetScalarType(imageType);
+ newImage->AllocateScalars();
+ newImage->Update();
+#else
+ newImage->AllocateScalars( imageType, 1);
+#endif
+
+ int iWidth;
+ for (iWidth=0;iWidth<width;iWidth++)
+ {
+ copy_XZ_plane(fd,newImage,slice+iWidth,iWidth,dimX,dimY,dimZ,dataSize);
+ }
+ } // if PLANE XZ
+
+ if ((bbGetInputDirectionPlane()=="YZ") && (fd>=0))
+ {
+ newImage->SetSpacing( spcY,spcZ,spcX );
+ newImage->SetDimensions( dimY,dimZ,width );
+ newImage->SetExtent(0, dimY-1,0,dimZ-1,0,width-1 );
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+ newImage->SetWholeExtent(0, dimY-1,0,dimZ-1,0,width-1 );
+ newImage->SetNumberOfScalarComponents(1);
+ newImage->SetScalarType(imageType);
+ newImage->AllocateScalars();
+ newImage->Update();
+#else
+ newImage->AllocateScalars( imageType ,1 );
+#endif
+
+ int iWidth;
+ for (iWidth=0;iWidth<width;iWidth++)
+ {
+ copy_YZ_plane(fd,newImage,slice+iWidth,iWidth,dimX,dimY,dimZ,dataSize);
+ }
+
+ } // if PLANE YZ
+#if defined(_WIN32)
+ _close (fd);
+#else
+ close (fd);
+#endif // defined(_WIN32)
+ } else {
+ newImage=CreateDefaultImage();
+ } // if ffIn