Help with listbox in DICOM
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi, I have more questions? When you load paintings (DICOM) in the list box will display the first list, but when I select another from the listbox does not appear. Thanks a lot in advance.
h1=figure;
handles.ListBox=uicontrol('Units','Normalized','Position',[0.01 0.1 0.1 0.15],...
'Style','List');
P=fileparts(mfilename('fullpath'));
nfolder=uigetdir(P,'cokoliv');
handles.dfolder=nfolder;
dfiles=dir(handles.dfolder);
dfiles=dfiles(3:end);
nfiles=length(dfiles);
if nfiles<1
disp('no files availabel.')
return;
end
set(handles.ListBox,'String',char(dfiles.name),'value',1);
s = [num2str(nfiles) ' files in: ' handles.dfolder];
fname=get(handles.ListBox,'String');
fname=fname(get(handles.ListBox,'value'),:);
info=dicominfo([handles.dfolder '\' fname]);
Y1=dicomread(info);
imshow(Y1)
clims = [10 1800];
0 Kommentare
Antworten (1)
Walter Roberson
am 9 Feb. 2012
Your part from 'fname=' onward should be in a separate routine that you have set as being the Callback for the uicontrol. This will probably require that you wrap your original code inside a function
function dilist
h1 = figure;
handles.ListBox=uicontrol('Units','Normalized','Position',[0.01 0.1 0.1 0.15],...
'Style','List', 'Callback', @dilist_callback);
P=<etc>
[...]
s = [num2str(nfiles) ' files in: ' handles.dfolder];
end
function dilist_callback(src, evt)
fname=get(handles.ListBox,'String');
fname=fname(get(handles.ListBox,'value'),:);
info=dicominfo([handles.dfolder '\' fname]);
Y1=dicomread(info);
imshow(Y1)
clims = [10 1800];
end
Siehe auch
Kategorien
Mehr zu DICOM Format finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!