⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mri_toolbox.m

📁 mri_toolbox是一个工具用来MRI. 来自于SourceForge, 我上传这个软件,希望能结识对医疗软件感兴趣的兄弟.
💻 M
字号:
function [ varargout ] = mri_toolbox(command)

% mri_toolbox - Graphical user interface (GUI) to various MRI tools
% 
% The main gui is the primary store for general parameters 
% and provides access to other tools.
%

% $Revision: 1.2 $ $Date: 2004/02/07 01:41:51 $

% Licence:  GNU GPL, no express or implied warranties
% History:  07/2003, Darren.Weber_at_radiology.ucsf.edu
%                    adapted from eeg_toolbox
% 
% Depends:  various tools in the mri_toolbox
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

if ~exist('command','var'),
    command = 'init';
elseif isempty(command),
    command = 'init';
end

command = lower(command);

% first establish GUI or get userdata
switch command,
case 'init',
    MRITOOLBOX = init;    
otherwise,
    MRITOOLBOX = get(gcbf,'Userdata');
end


% now run commands, if required
switch command,
case 'init',
    % taken care of above
    
case 'openavw',
    gui_avw_open(MRITOOLBOX.mri,'init',MRITOOLBOX.gui);
    
case 'opencor',
    gui_cor_open(MRITOOLBOX.mri,'init',MRITOOLBOX.gui);
    
case 'openge',
    gui_ge_open(MRITOOLBOX.mri,'init',MRITOOLBOX.gui);
    
case 'defaultreturn',
    % keep this command so the return action is tidy
    %mri = MRITOOLBOX.mri; % done below just before return
    
case 'defaultreset',
    MRITOOLBOX.mri = mri_toolbox_defaults('create');
    
case 'defaultsave',
    mri_toolbox_defaults('write',MRITOOLBOX.mri);
    
case 'saveas',
    mri_toolbox_defaults('write_other',MRITOOLBOX.mri);
    
case 'recent',
    
    % -- get recent files list
    
    recentfiles = mri_toolbox_recent;
    
    % -- remove current menu items for recent files
    
    if isfield(MRITOOLBOX.menu,'recentfiles'),
        handleIndex = find(ishandle(MRITOOLBOX.menu.recentfiles));
        delete(MRITOOLBOX.menu.recentfiles(handleIndex));
    end
    MRITOOLBOX.menu.recentfiles = [];
    
    % -- recreate recent files menu items
    
    if and(size(recentfiles,2) == 1, isempty(recentfiles{1})),
        if ishandle(MRITOOLBOX.menu.recent),
            set(MRITOOLBOX.menu.recent,'Label','No Recent Files');
        end
    else
        if ishandle(MRITOOLBOX.menu.recent),
            set(MRITOOLBOX.menu.recent,'Label','Recent Files');
        end
        
        % -- add recent files to menu and setup their callbacks
        
        for i=1:length(recentfiles),
            if ~isempty(recentfiles{i}),
                MRITOOLBOX.menu.recentfiles(i) = uimenu(MRITOOLBOX.menu.recent,...
                    'Label',recentfiles{i},...
                    'Callback',strcat('[recentfiles,mri] = mri_toolbox_recent(''',...
                    recentfiles{i},''',''load''); ',...
                    'MRITOOLBOX = get(gcbf,''Userdata''); ',...
                    'gui_mri_open(mri,''init'',MRITOOLBOX.gui); ',...
                    'clear MRITOOLBOX recentfiles;'));
            end
        end
        
        % -- add recent files clear command
        
        MRITOOLBOX.menu.recentfiles(i+1) = uimenu(MRITOOLBOX.menu.recent,...
            'Label','Clear All',...
            'Callback',strcat('mri_toolbox_recent('''',''clear''); ',...
            'mri_toolbox(''recent''); '));
    end
    
case 'exit',
    close gcbf;
    
otherwise,
    fprintf('...invalid command to mri_toolbox\n\n');
    
end


switch command,
case 'exit',
otherwise,
    set(MRITOOLBOX.gui,'UserData',MRITOOLBOX);
end

if nargout > 0,
    if isfield(MRITOOLBOX,'mri'),
        if ~isempty(MRITOOLBOX.mri),
            varargout{1} = MRITOOLBOX.mri;
        end
    end
end


return


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Paint the GUI
function [H] = init()

% Parameters are supplied in the file defaultfile.
H.mri = mri_toolbox_defaults('read');

GUIwidth  = 250;
GUIheight = 50;

H.gui = figure('Name','MRI Toolbox','Tag','MRI_TOOLBOX',...
    'NumberTitle','off','HandleVisibility','callback',...
    'MenuBar','none');
set(H.gui,'Position',[1 1 GUIwidth GUIheight]);  % Activate GUI Figure
movegui(H.gui, 'center');

% -- file menu

H.menu.file_menu = uimenu(H.gui,'Label','File',...
    'Callback','mri_toolbox(''recent'');');

if exist('avw_read.m') == 2,
    H.menu.open_mri = uimenu(H.menu.file_menu,'Label','Open Analyze 7.5',...
        'Callback','mri = mri_toolbox(''openAVW'');','Accelerator','a');
end

if exist('cor_img_read.m') == 2,
    H.menu.open_mri = uimenu(H.menu.file_menu,'Label','Open FreeSurfer COR',...
        'Callback','mri = mri_toolbox(''openCOR'');','Accelerator','f');
end

if exist('ge_series_read.m') == 2,
    H.menu.open_mri = uimenu(H.menu.file_menu,'Label','Open GE Signa 5.x/LX',...
        'Callback','mri = mri_toolbox(''openGE'');','Accelerator','g');
end

H.menu.recent = uimenu(H.menu.file_menu,'Label','Recent');
H.menu.quit   = uimenu(H.menu.file_menu,'Label','Exit',...
    'Callback','mri_toolbox(''exit'');','Accelerator','x');

% -- Parameters menu

H.menu.p_menu = uimenu(H.gui,'Label','Parameters');
H.menu.show   = uimenu(H.menu.p_menu,'Label','Return to Workspace',...
    'Callback','mri = mri_toolbox(''defaultreturn'')');
H.menu.reset  = uimenu(H.menu.p_menu,'Label','Reset to Defaults',...
    'Callback','mri = mri_toolbox(''defaultreset'');');
H.menu.save   = uimenu(H.menu.p_menu,'Label','Save Defaults',...
    'Callback','mri = mri_toolbox(''defaultsave'');');
H.menu.saveas = uimenu(H.menu.p_menu,'Label','Save As Data Workspace',...
    'Callback','mri = mri_toolbox(''saveas'');');

% -- help menu

H.menu.help = uimenu(H.gui,'Label','Help','Callback','doc mri_toolbox;');

return

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -