How to overlay two colormaps using imagesc command?

53 visualizaciones (últimos 30 días)
Taoooooooooooo
Taoooooooooooo el 8 de Ag. de 2019
Respondida: Abhilash Padma el 12 de Ag. de 2019
I want to overlay two colormaps in a single figure. The background image A is an anatomical image and B is the ROI I would like to place on the anatomical image A. Color A was using gray and Color B was using hot. However, when I used the code I attachec below, image A and B became the same size and completely overlayed themselves. I am not sure why this is happening. Please help.
Attached is my code:
ax1 = axes;
colormap(ax1,'gray');
A = imagesc([0,1600],[-130005,10000],fliplr(Image));
%create a mask B with spectral peak values;
ax2 = axes;
colormap(ax2,'hot');
B = imagesc([437.5,962.5],[-73500,-45000],mask); %define the minimal/maximal range of the mask;
set(ax2,'color','none','visible','off');

Respuesta aceptada

Abhilash Padma
Abhilash Padma el 12 de Ag. de 2019
The ROI is overlaid completely in your case because the limits of the 2-D axes are not synchronized properly. You can use linkaxes method to synchronize limits of 2-D axes which may solve your problem. Here is the example below:
I=imread('mri.jpg');
mask=rgb2gray(imread('roi.jpg'));
ax1 = axes;
A = imagesc([0,1600],[-130005,10000],I);
ax2 = axes;
B = imagesc([437.5,962.5],[-73500,-45000],mask);
linkaxes([ax1,ax2]);
ax2.Visible = 'off';
ax2.XTick = [];
ax2.YTick = [];
colormap(ax1,'gray');
colormap(ax2,'hot');
set(ax2,'color','none','visible','off');

Más respuestas (0)

Categorías

Más información sobre Red en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by