Read out intensites and corresponding X,Y,Z-coordinates from a 3D-image
Mostrar comentarios más antiguos
Hello,
this is a common problem. But there were no real answers to this question in this forum.
I have a 3D-image generated from a 3D-array - I want to get the intensity values plus their corresponding position (X,Y,Z) in a normal spreadsheet in MatLab.
Ultimately, I would get something like:
Intensity | X | Y | Z
and this for every point in the image.
Since there are millions of points it might be also a good idea to cut out points with 0 intensity.
Has somebody done something similar?
Best wishes.
Respuesta aceptada
Más respuestas (1)
Sean de Wolski
el 26 de Nov. de 2014
load mri
D = squeeze(D);
idx = logical(D); % Where in D is nonzero?
vals = D(idx); % extract values
ind = find(idx); % linear index
[row,col,pag] = ind2sub(size(D),ind); % sub indices
xlswrite('file.xlsx',[row col pag vals])
Categorías
Más información sobre Resizing and Reshaping Matrices en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!