3D viewer cursor coordinates

Hi,
I've been using imshow3Dfull to display a 3D matrix 192*192*17 with pixel value [0,1], it is super useful. I now need to write up a small programme to allow me extract cursor coordinate. I tried control+right click with then export cursor coordinates in 2D only. Does anyone know a way to extract 3D coordinate as [x,y,z]? Alternatively is there another viewer I can use which enables export of [x,y,x] coordinate easily? Essentially I need to write a piece of code which open the data with a 3d viewer, look into the suspicous pixel and click on it which then feed back the [x,y,z] of the cursor.
Link for imshow3dfull:
Many thanks in advance!
Fiona

8 comentarios

Rik
Rik el 16 de Nov. de 2020
Editada: Rik el 16 de Nov. de 2020
You should be able to modify that viewer to return the [x,y] position and extract the z position from the slider. Did you try that? Alternatively you could search for other 3D viewers on the FEX.
I have a (by now heavily) modified version of viewer3D that I use for such tasks, where I also integrated WindowLevel.
Fiona Gong
Fiona Gong el 16 de Nov. de 2020
Hi Rik, Thanks for swift response. I had a quick look into the code and couldn't quite figure out a good solution. Will try viewer3D next.
Fiona Gong
Fiona Gong el 16 de Nov. de 2020
Hi Rik, can I ask how do you extract datacursor position in viewer3D please? It is not working for me. When I click on it with datacursor mode on, it just won't record any positions....
Rik
Rik el 16 de Nov. de 2020
Can't you create a new button that will get the Value property of your slider?
Fiona Gong
Fiona Gong el 16 de Nov. de 2020
LOL I’m still trying. Not experienced on this figures... thanks Rik
Rik
Rik el 16 de Nov. de 2020
I'm currently on mobile so I can't give you specific help, but this thread should get you started: https://www.mathworks.com/matlabcentral/answers/483657-how-to-create-a-gui
Fiona Gong
Fiona Gong el 16 de Nov. de 2020
This is the slider callback function, when you say 'new button which gets the value property of slider' do you mean a new button in the GUI of imshow3Dfull? Sorry after reading all posts and watch videos still can't quite get my head around it! Thanks in advance!!!
% -=< Slice slider callback function >=-
function SliceSlider (hObj,event, Img)
S = round(get(hObj,'Value'));
set(get(gca,'children'),'cdata',squeeze(Img(:,:,S,:)))
caxis([Rmin Rmax])
if sno > 1
set(stxthand, 'String', sprintf('Slice# %d / %d',S, sno));
else
set(stxthand, 'String', '2D image');
end
end
Rik
Rik el 17 de Nov. de 2020
Yes, that is what I mean. You don't need to change the slider callback, you only need the handle to it.

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Just for fun en Centro de ayuda y File Exchange.

Preguntada:

el 16 de Nov. de 2020

Comentada:

Rik
el 17 de Nov. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by