read error after 4GB
Posted: Wed Sep 17, 2014 4:14 am
Hello,
I'm using bfGetPlane to read PCORAW files, and it looks like files are read incorrectly when they get above 4GB. It looks as if there is a pointer somewhere that can only take values mod ~4G. Is this a known problem?
I'm running bfmatlab v. 5.0.4, Matlab 2014a, and
Java Version: Java 1.7.0_11-b21 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
The simplest code to reproduce the error is:
reader = bfGetReader(pcorawfile);
omeMeta = reader.getMetadataStore();
nframes = omeMeta.getPixelsSizeT(0).getValue();
for i=1:nframes
thisframe = bfGetPlane(reader, i);
% check thisframe
end;
I uploaded a tiff stack of frames returned by bfGetPlane that includes frames read correctly and incorrectly. The error happens after frame 5257 in the original file; I am uploading frames 5001 to 5500 as one stack. The error is easy to see by looking at the embedded timestamp, which includes image number. The timestamp should be in the upper left corner, but jumps elsewhere in the image after the read error and returns after frame 5257 again to frame #2 instead of going to the correct #5258.
Thanks,
Alex
I'm using bfGetPlane to read PCORAW files, and it looks like files are read incorrectly when they get above 4GB. It looks as if there is a pointer somewhere that can only take values mod ~4G. Is this a known problem?
I'm running bfmatlab v. 5.0.4, Matlab 2014a, and
Java Version: Java 1.7.0_11-b21 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
The simplest code to reproduce the error is:
reader = bfGetReader(pcorawfile);
omeMeta = reader.getMetadataStore();
nframes = omeMeta.getPixelsSizeT(0).getValue();
for i=1:nframes
thisframe = bfGetPlane(reader, i);
% check thisframe
end;
I uploaded a tiff stack of frames returned by bfGetPlane that includes frames read correctly and incorrectly. The error happens after frame 5257 in the original file; I am uploading frames 5001 to 5500 as one stack. The error is easy to see by looking at the embedded timestamp, which includes image number. The timestamp should be in the upper left corner, but jumps elsewhere in the image after the read error and returns after frame 5257 again to frame #2 instead of going to the correct #5258.
Thanks,
Alex