[ITK Community] Problem with multi-image tiff on Linux (ubuntu)
Gib Bogle
g.bogle at auckland.ac.nz
Thu Mar 6 15:17:49 EST 2014
Hi Brad,
I rebuilt ITK on ubuntu with ITK_USE_SYSTEM_TIFF unselected, and confirmed that the truncation problem is still there. It seems to be an ITK issue, as you suspected. Interesting (and problematic) that it occurs on Linux/ubuntu but not on Windows 7. I could send a tiff file that manifests the problem to anyone who'd like to test it on their Linux system. The file (compressed tiff) is 95 MB.
Gib
________________________________
From: Bradley Lowekamp [blowekamp at mail.nih.gov]
Sent: Thursday, 6 March 2014 2:55 a.m.
To: Gib Bogle
Cc: community at itk.org
Subject: Re: [ITK Community] Problem with multi-image tiff on Linux (ubuntu)
Hello,
For windows to handle larger than 4GB image the CMake option ITK_USE_64BITS_IDS needs to be turned on. ( In this day and age it really should be turned on by default now. )
I have had similar problems trying to convert large image to tiffs too. Specifically, I recall getting the same type of truncation when trying to convert the Visible Human cyro-slices to big tiff.
I think some serious time needs to be spend looking at itkTIFFImageIO for 64-bit issues, as my casual looks have not turned up anything.
Brad
On Mar 5, 2014, at 3:28 AM, Gib Bogle <g.bogle at auckland.ac.nz<mailto:g.bogle at auckland.ac.nz>> wrote:
I have recently started having to work with big multi-image tiff files, e.g. 4.5 GB. I discovered that ITK on Windows cannot handle such large images, so I am trying to use Linux (64-bit ubuntu 12.10). I managed to build ITK with libtiff5 (actually 4.0.2 I think) which does have bigtiff support, after downloading the latest source code with git, which contains a patch fix for a bug that prevented building. The patch was applied yesterday, so that was a bit of luck.
But there is something screwy happening when I read my multi-image tiff with ITK. After reading the image (which is compressed with Deflate) I look at each z-frame and compute the sum of pixel intensities. After z=346 all the intensities are 0, but I know this is not correct. I can view the frames with Imagemagick's display program, and those at z>346 are not qualitatively different from the earlier ones.
After reading the image in I am using a pointer to the buffer to access the data:
p = (unsigned char *)(im->GetBufferPointer());
then I access the voxel value at (x,y,z) as p[z*xysize+y*width+x]
I have declared x, y, z, width and xysize = width*height all as long int.
Another way to show the problem: When the compressed tiff that looks correct when viewed with Imagemagick-display is read with ITK and then written without compression, the uncompressed version has blank frames for z>346. This tiff has 693 frames, each 601x1380. Exactly the same thing is seen with another tiff that has 693 frames each 779x1380 - again the uncompressed version is blank after frame 346.
I'd be interested to know if anyone else is reading big tiffs with ITK, on Linux.
Thanks
Gib
_______________________________________________
Community mailing list
Community at itk.org<mailto:Community at itk.org>
http://public.kitware.com/cgi-bin/mailman/listinfo/community
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20140306/f46535ae/attachment-0002.html>
More information about the Community
mailing list