I have a matrix representing an image of brain with each (i,j) position having a value between 0 and 1. I am applying a color map, so that those pixels with value 1 are red and
You can do this by plotting a surf(-ace) and passing in alpha values as follows.
brain = ... % background brain image
data = ... % the data you are trying to overlay
imshow(brain);
hold on;
surf(zeros(size(data)), data, 'AlphaData', data > 0.8);
colormap(...); % whatever colormap you like
Have a look at the surface properties documentation for more options you can pass to surf
.