File Exchange

image thumbnail

GETCLIM: Suggest appropriate values for colormap limits

version 1.3.0.0 (1.81 KB) by Andrew Davis
Determines thresholds such that 2% of data values will be mapped to the extremes of the colormap

0 Downloads

Updated 04 Feb 2013

View Version History

View License

getclim determines threshold values such that 2% (by default) of
values at the top and bottom of the data range will be mapped
to the extremes of the colormap.

For datasets with a few outliers that influence the range, getclim
is superior to the default behaviour of using the min and max
of the dataset.

Usage: threshVals = getclim(imdata, dataFraction)

imdata: numeric array representing an image to be displayed
dataFraction: fraction of voxels to clip at each end (default 0.02)

threshVals: column vector of values to use for clims in imshow

Example:
I = peaks(200);
min(I(:)), max(I(:)) % -6.5487, 8.1059
threshVals = getclim(I) % -4.2936, 5.8228
I2 = I;
I2(153,106) = 3*I(153,106);
min(I2(:)), max(I2(:)) % -6.5487, 23.5936
threshVals = getclim(I2) % -4.2936, 5.8228
figure
subplot(2,2,1), imshow(I, []), title('I')
subplot(2,2,2), imshow(I, threshVals), title('I+getclim')
subplot(2,2,3), imshow(I2, []), title('I2')
subplot(2,2,4), imshow(I2, threshVals), title('I2+getclim')

See also STRECHLIM, IMADJUST

Cite As

Andrew Davis (2021). GETCLIM: Suggest appropriate values for colormap limits (https://www.mathworks.com/matlabcentral/fileexchange/40102-getclim-suggest-appropriate-values-for-colormap-limits), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (2)

Andrew Davis

Thanks for the comment, Jurgen. I agree that a single output vector makes more sense -- I've updated the file accordingly.

Jurgen

A better version of matlabs stretchlim.
Better because:
- Stretchlim returns 0-1 normalized thresholds, regardless of input class.
- Stretchlim fails with int16 even though the help says it can be used
- Any data from single or double class must be in the 0-1 range.

That said, I personally prefer 1 output vector containing both values, like with stretchlim.

MATLAB Release Compatibility
Created with R2012a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!