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 件のコメント

Rik
Rik 2020 年 11 月 16 日
編集済み: Rik 2020 年 11 月 16 日
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 2020 年 11 月 16 日
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 2020 年 11 月 16 日
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 2020 年 11 月 16 日
Can't you create a new button that will get the Value property of your slider?
Fiona Gong
Fiona Gong 2020 年 11 月 16 日
LOL I’m still trying. Not experienced on this figures... thanks Rik
Rik
Rik 2020 年 11 月 16 日
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 2020 年 11 月 16 日
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 2020 年 11 月 17 日
Yes, that is what I mean. You don't need to change the slider callback, you only need the handle to it.

サインインしてコメントする。

回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeJust for fun についてさらに検索

質問済み:

2020 年 11 月 16 日

コメント済み:

Rik
2020 年 11 月 17 日

Community Treasure Hunt

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

Start Hunting!

Translated by