6GB pic does not load on 64 GB memory laptop

Hi All,

I’m trying to load a 6GB TMA .tif image (generated by scanning a TMA slide with Keyence BZ-800) into QuPath v0.2.0-m3 and I’m getting Drag and Drop Error pop up saying: “java.lang.OutOfMemoryError: Java Heap space”.

I tried to change the Maximum memory (GB) to 64 in Help -> Show setup options, but it didn’t help.

The same image loads without a problem in Photoshop.

Can you help me?



Is your image in a pyramidal format? If not, that is probably the cause of the problem. Whole slide images need to be in a pyramidal format to be used efficiently in Qupath (or other major digital pathology / image analysis software for WSIs). Major slide scanners usually generate pyramidal images by default. I’m not familiar with the Keyence BZ-800, but you may need to save the images in a different format or convert the images somewhere else.

“although OpenSlide and Bio-Formats support many TIFF files, it is quite possible to encounter variants that cannot be opened with QuPath. Perhaps the most common reason for this is that the file does not contain pyramidal layers, or these layers cannot be automatically recognized. This is one reason why well-supported, open formats should generally be preferred (e.g. OME-TIFF).” https://qupath.readthedocs.io/en/latest/docs/intro/formats.html


Some options that might work to convert the file into a pyramidal, reader friendly format.


Wonderful, thanks a lot for these suggestions. The python code to convert the tiff to the pyramidal format worked, and I can open the picture with the TMA in the QuPath! However, when I try to run the TMA dearrayer it works only after I change the TMA core diameter to 25 mm. I think that the tiffile is writing up the image that is 10x bigger than in the reality. Can you instruct me how to adjust this in the python code, please?

Thanks a lot!


I don’t know how to adjust it in the python code, you might want to ping ( @“person”) one of the people discussing it in the thread you used as a source.

In QuPath, you can set the pixel size as long as you know what the original pixel size was.
setPixelSizeMicrons(0.5, 0.5)
will set the pixel size to 0.5 microns per pixel (square pixels).