Real time pixel position in a GUI

I have a series of images which change as a function of time (i.e. a 3D matrix, two spatial, one time). I would like to display one time frame of the image inside a GUI and then display the intensity of a pixel as a function of time on a second axis. Right now, I am using the ginput function so I have to click on individual pixels and the graph updates after each click.
Is it possible to update the cursor position in real time so that, instead of having to click many times, the graph will update as I move the cursor over the image? There is a partial solution to this posted (see "Can Matlab determine cursor position continuously?") but I'm not sure how to implement it inside a GUI.
- Mark

답변 (3개)

Image Analyst
Image Analyst 2013년 2월 15일

1 개 추천

Yes. Call the impixelinfo() function. With a 2D color or gray scale image displayed, running the mouse over the image will show the coordinates and RGB values or gray levels of the pixel under the cursor.
Mark Wagshul
Mark Wagshul 2013년 2월 15일

0 개 추천

Thanks, but that will only display the pixel position and image value in the window (bottom of the figure). I need to have access to the pixel position in the workspace in order to display a plot of the pixel value across all time points. This is what I wasn't able to figure out.
Walter Roberson
Walter Roberson 2013년 2월 15일

0 개 추천

get(0, 'CurrentPoint')
inside a WindowButtonMotionFcn callback

댓글 수: 3

Then extract a column through your time series and plot it:
intensityAtThisLocation = image3D(y, x, :);
axes(handles.axesPlot);
plot(intensityAtThisLocation, 'r-', 'LineWidth', 3);
grid on;
title('Intensity as function of time', 'FontSize', 25);
KAE
KAE 2017년 6월 9일
Where do x and y come from in your first line?
Image Analyst
Image Analyst 2017년 6월 10일
It's your choice. Perhaps you got them from regionprops identifying the centroid of some blob. Perhaps you called ginput(). How do you want to specify your coordinate?

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Images에 대해 자세히 알아보기

질문:

2013년 2월 14일

댓글:

2017년 6월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by