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.
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.
Matlabsolutions.com provides guaranteed satisfaction with a
commitment to complete the work within time. Combined with our meticulous work ethics and extensive domain
experience, We are the ideal partner for all your homework/assignment needs. We pledge to provide 24*7 support
to dissolve all your academic doubts. We are composed of 300+ esteemed Matlab and other experts who have been
empanelled after extensive research and quality check.
Matlabsolutions.com provides undivided attention to each Matlab
assignment order with a methodical approach to solution. Our network span is not restricted to US, UK and Australia rather extends to countries like Singapore, Canada and UAE. Our Matlab assignment help services
include Image Processing Assignments, Electrical Engineering Assignments, Matlab homework help, Matlab Research Paper help, Matlab Simulink help. Get your work
done at the best price in industry.