Color Thresholder tool runs out of memory

J
JSC · Feb 28, 2022 · 1.9K views
Question
I'm trying to use the Color Thresholder tool in the Image Processing Toolbox to segment and mask very large RGB whole-slide microscopy images (roughly 30,000 x 20,000 px on average). My images are compressed SVSs (a few hundred MB each), though I could make them TIFFs too if needed. After the tool loads the image and prompts me to select a color space, I do so and then the tool freezes and I receive the following message:   Warning: Error occurred while executing the listener callback for the images.internal.app.colorThresholder.ColorSpaceMontageView class SelectedColorSpace property PostSet event: Error using matlab.images.internal.rgb2hsv Requested 42277x60589x3 (57.3GB) array exceeds maximum array size preference (15.9GB). This might cause MATLAB to become unresponsive. Error in rgb2hsv (line 50) h = matlab.images.internal.rgb2hsv(imageIn); Error in images.internal.app.colorThresholder.ColorSegmentationTool/computeColorspaceRepresentation Error in images.internal.app.colorThresholder.ColorSegmentationTool/colorSpaceSelectedCallback Error in images.internal.app.colorThresholder.ColorSegmentationTool>@(hobj,evt)self.colorSpaceSelectedCallback(evt) Error in images.internal.app.colorThresholder.ColorSpaceMontageView/selectFromButtons (line 161) self.SelectedColorSpace = src.String; Error in images.internal.app.colorThresholder.ColorSpaceMontageView>@(src,evt)self.selectFromButtons(src,evt) (line 148) 'Callback',@(src,evt) self.selectFromButtons(src,evt)); Related documentation > In images.internal.app.colorThresholder/ColorSpaceMontageView/selectFromButtons (line 161) In images.internal.app.colorThresholder.ColorSpaceMontageView>@(src,evt)self.selectFromButtons(src,evt) (line 148) >> Is there a way to increase the available memory for the thresholder tool or allow it to work with blockproc? I have already set the Java Heap Memory to max (4075 MB), compressed my image files, and reduced the pixel dimensions by 50%. I also tried using bigimage or blockedImage but it looks like they are incompatible with the tool.
Expert Answer
Profile picture of Neeta Dsouza
Neeta Dsouza PhD Expert
Answered Aug 14, 2026

You should reduce the pixel dimensions by a factor of 50 or 100. There is no need to have such a huge image for determining the color thresholds. Believe it or not you will most likely end up deciding on the same thresholds if you have the full image or just a much smaller version. So resize it so that it's like 900 by 600 and you should be fine. It will fit in memory and you'll end up with the same thresholds you'd have if you had used the full size image. Remember, your screen doesn't have 30000 pixels across so you're making thresholding decisions on the overall image that can fit on your screen, which is probably 1920x1080 or something.

100% Run Guarantee 3-Hour Fast-Track Delivery

Need a Custom Version or Complete Simulation for This Problem?

Our 500+ PhD engineers build, debug, and optimize working MATLAB scripts and Simulink (.slx) models tailored to your exact assignment rubrics with zero plagiarism.

Tested on MATLAB R2024b / R2026a
Turnitin 0% Plagiarism Report
Free 7-Day Revisions Guarantee
Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!