imread issues when loading large TIFF's

I have large TIFF image files that I am loading (i.e. 80k by 60k by 3 arrays) and when I call portions of them using 'PixelRegion', there seems to be inconsistency when I run it every time. In other words, sometimes I run a y range of 1:1500 and x range of 1:1500 and the program outputs the bottom right of the image, whereas it should output the top left. Sometimes when I do this repeatedly, other portions of the image are outputted. I am not redefining any variables and am simply playing with this in the command line. Has anyone ever had this issue?

2 Comments

I am having the same problem. I have whole slide images and the location specified by PixelRegion does not match what would be the region if you load the whole image.
Did you find a way around for this?
Obviously I can read the whole image and then crop, but the point is reading only a small region for speed and to avoid memory problems.
This smells like a bug! Please do contact technical support to report it.

Sign in to comment.

Answers (1)

Hello
I have found a way around this. Instead of using imread, I used blockedImage
bim= blockedImage(nameOfYourFile);
imLevel1 = getRegion(bim,[1200 900],[1600 1800],Level=2);
And this works well for tiff images with many levels. Hope this helps.
More details here

Asked:

on 21 Oct 2019

Commented:

on 10 May 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!