You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: mgui_gui_volume_setup.m
    path of file: ./repos/md-dmri/tools/mgui
    
    the code of the file until where you have to start completion: function [h_axes, h_black, handle_zoom, handle_zoom_black] = mgui_gui_volume_setup(h, tags, callback)


left_o = 15;
b_o = 10;

left = left_o;
w = 100;
mw = 6;
b = b_o;
bh = 20; % button height

uicontrol(...
    'Parent', h, ...
    'Style','slider',...
    'Max',2,'Min',1,'Value',1,...
    'SliderStep',[1 3],...
    'Tag', tags.SLICE_SLIDER, ...
    'Units', 'pixels', ...
    'Position',[left b w bh], ...
    'Callback', callback);

left = left + w + mw;
w = 45;

uicontrol(...
    'Parent', h, ...
    'Style','pushbutton',...
    'String','S-',...
    'Units', 'pixels', ...
    'Position',[left b w bh], ...
    'Tag', tags.SLICE_MINUS, ...
    'Callback', callback);

left = left + w + mw;

uicontrol(...
    'Parent', h, ...
    'Style','pushbutton',...
    'String','S+',...
    'Units', 'pixels', ...
    'Position',[left b w bh], ...
    'Tag',  tags.SLICE_PLUS, ...
    'Callback', callback);

left = left + w + mw;

% ------------------------------------
uicontrol(...
    'Parent', h, ...
    'Style','pushbutton',...
    'String','TRA',...
    'Units', 'pixels', ...
    'Position',[left b w bh], ...
    'Tag', tags.TRA, ...
    'Callback', callback);

left = left + w + mw;

uicontrol(...
    'Parent', h, ...
    'Style','pushbutton',...
    'String','COR',...
    'Units', 'pixels', ...
    'Position',[left b w bh], ...
    'Tag', tags.COR, ...
    'Callback', callback);

left = left + w + mw;

uicontrol(...
    'Parent', h, ...
    'Style','pushbutton',...
    'String','SAG',...
    'Units', 'pixels', ...
    'Position',[left b w bh], ...
    'Tag', tags.SAG, ...
    'Callback', callback);

left = left + w + mw;

uicontrol(...
    'Parent', h, ...
    'Style','pushbutton',...
    'String','Z-',...
    'Units', 'pixels', ...
    'Position',[left b w bh], ...

    
function [h_axes, h_black, handle_zoom, handle_zoom_black] = mgui_gui_volume_setup(h, tags, callback)


left_o = 15;
b_o = 10;

left = left_o;
w = 100;
mw = 6;
b = b_o;
bh = 20; % button height

uicontrol(...
    'Parent', h, ...
    'Style','slider',...
    'Max',2,'Min',1,'Value',1,...
    'SliderStep',[1 3],...
    'Tag', tags.SLICE_SLIDER, ...
    'Units', 'pixels', ...
    'Position',[left b w bh], ...
    'Callback', callback);

left = left + w + mw;
w = 45;

uicontrol(...
    'Parent', h, ...
    'Style','pushbutton',...
    'String','S-',...
    'Units', 'pixels', ...
    'Position',[left b w bh], ...
    'Tag', tags.SLICE_MINUS, ...
    'Callback', callback);

left = left + w + mw;

uicontrol(...
    'Parent', h, ...
    'Style','pushbutton',...
    'String','S+',...
    'Units', 'pixels', ...
    'Position',[left b w bh], ...
    'Tag',  tags.SLICE_PLUS, ...
    'Callback', callback);

left = left + w + mw;

% ------------------------------------
uicontrol(...
    'Parent', h, ...
    'Style','pushbutton',...
    'String','TRA',...
    'Units', 'pixels', ...
    'Position',[left b w bh], ...
    'Tag', tags.TRA, ...
    'Callback', callback);

left = left + w + mw;

uicontrol(...
    'Parent', h, ...
    'Style','pushbutton',...
    'String','COR',...
    'Units', 'pixels', ...
    'Position',[left b w bh], ...
    'Tag', tags.COR, ...
    'Callback', callback);

left = left + w + mw;

uicontrol(...
    'Parent', h, ...
    'Style','pushbutton',...
    'String','SAG',...
    'Units', 'pixels', ...
    'Position',[left b w bh], ...
    'Tag', tags.SAG, ...
    'Callback', callback);

left = left + w + mw;

uicontrol(...
    'Parent', h, ...
    'Style','pushbutton',...
    'String','Z-',...
    'Units', 'pixels', ...
    'Position',[left b w bh], ...
    'Tag', tags.ZOOM_MINUS, ...
    'Callback', callback);

left = left + w + mw;

uicontrol(...
    'Parent', h, ...
    'Style','pushbutton',...
    'String','Z+',...
    'Units', 'pixels', ...
    'Position',[left b w bh], ...
    'Tag', tags.ZOOM_PLUS, ...
    'Callback', callback);


left = left + w;



% ------- define sizes
w_axes = left - left_o;
w_zoom = w_axes;
w_zoom_local = round((w_zoom - 2 * mw) / 3);

h_axes = w_axes;
h_zoom = w_zoom_local;

b_zoom = b_o + bh + mw;
b_axes = b_zoom + h_zoom + mw;


handle_zoom_panel = uipanel(...
    'Parent', h, ...
    'BorderType', 'none', ...
    'FontSize',10,...
    'BackgroundColor','white',...
    'Units', 'Pixels', ...
    'Position',[left_o b_zoom w_zoom h_zoom], ...
    'Tag', tags.ZOOM_PANEL);


% ----- zoom functions
left = 0;
for c = 1:3
    
    handle_zoom_black(c) = axes(...
        'parent', handle_zoom_panel, ...
        'units', 'pixels', ...
        'position', [left 0 w_zoom_local h_zoom]);
    
    imagesc(zeros(2,2,3), 'parent', handle_zoom_black(c));
    axis(handle_zoom_black(c),'off');
    
    handle_zoom(c) = axes(...
        'parent', handle_zoom_panel, ...
        'units', 'pixels', ...
        'position', [left 0 w_zoom_local h_zoom], ...
        'Tag', tags.ZOOM_AXES{c});
    
    axes(handle_zoom(c));
    imagesc(zeros(2,2,3));
    axis off;
    
    left = left + w_zoom_local + mw;
    
end