Mendapatkan posisi piksel titik di Matlab untuk data MRI

Saya dapat menunjukkan data dari MRI pada gambar. Saya menggunakan sumbernya:

load mri
figure('Colormap',map)
load DCE_sec05_inp.mat
image(data2{1,1}) %i get 128*96 pixel picture
axis image

Tapi saya tidak dapat menemukan solusi bagaimana saya bisa mendapatkan posisi piksel ke ruang kerja ketika saya mengklik piksel pada gambar. Saya menemukan kode ini:

I = imread('cameraman.tif');  %read the image in I
imshow(I);                    %display I
[c,r,P] = impixel(I)

tapi saya tidak bisa memasukkan data mri ke mode imshow. Terima kasih atas bantuan apa pun


person user3077942    schedule 03.01.2014    source sumber
comment
Apa yang terjadi jika Anda menggunakan imshow? Apakah Anda mendapatkan pesan kesalahan? Atau tidak menampilkan apa pun? Selain itu, Anda mungkin ingin menggunakan imread daripada load jika bisa.   -  person Cape Code    schedule 04.01.2014


Jawaban (2)


Anda tidak perlu imshow, coba ini:

image(data2{1,1}) %i get 128*96 pixel picture
axis image
[u v]=getpts;

Koordinat titik yang Anda klik akan disimpan di u dan v.

person Cape Code    schedule 03.01.2014

Gambar atau data yang Anda baca bertipe map(mri) belum tentu berbentuk RGB(cameraman). Untuk menampilkan gambar menggunakan imshow, Anda memerlukan data peta sebagai argumen kedua. Misalnya, gambar pertama dalam data mri dapat ditampilkan menggunakan sintaks berikut:

load mri
imshow(D(:,:,:,1), map)  %map is provided the mri.dat

Setelah Anda menggunakan imshow, Anda dapat menggunakan impixel seperti contoh yang Anda berikan.

person Lokesh A. R.    schedule 04.01.2014