MATLAB: Edit a surf plot

image processingMATLABplotsur

Hi, everyone. I have a surf plot which has 108*192 pixels (a f=tiff image converted to surf). I am only interested in the middle of the plot and I want to only show an area of say, x=1:10, 90:108 and y=1:10, 100:192. In other words, I want to remove everything outside of a square/circle (defined either by pixels or by interactively choosing it) in the middle.
Many thanks

Best Answer

Try this
x = 1:108;
y = 1:192;
[X,Y]=ndgrid(x,y);
ii = 90:108;
jj = 100:192;
surf(X,Y,T,'EdgeAlpha',.1);
alpha(0.5)
hold on
surf(X(ii,jj),Y(ii,jj),T(ii,jj))
hold off
M=jet
colormap(M)
colorbar