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: spm_uitab.m
    path of file: ./repos/spm12
    
    the code of the file until where you have to start completion: function [handles] = spm_uitab(hparent,labels,callbacks,tag,active,height,tab_height)
% Create tabs in a figure
% FORMAT [handles] = spm_uitab(hparent,labels,callbacks,tag,active,height,tab_height)
% This function creates tabs in the SPM graphics window.
% These tabs may be associated with different sets of axes and uicontrol,
% through the use of callback functions linked to the tabs.
% Inputs:
%   hparent    - the handle of the parent of the tabs (can be the SPM
%                graphics windows, or the handle of the uipanel of a former
%                spm_uitab...)
%   labels     - a cell array of string containing the labels of the tabs
%   callbacks  - a cell array of strings which will be evaluated using the
%                'eval' function when clicking on a tab [default: {[]}]
%   tag        - a string which is the tag associated with the tabs
%                (useful for finding them in a window...) [default: '']
%   active     - the index of the active tab when creating the uitabs
%                [default: 1, ie the first tab is active]
%   height     - the relative height of the tab panels within its parent
%                spatial extent [default: 1]
%   tab_height - the relative height of the tabs within its parent spatial
%                extent [default: 0.025]
% Output:
%   handles    - a structure of handles for the differents tab objects.
%__________________________________________________________________________
% Copyright (C) 2008-2014 Wellcome Trust Centre for Neuroimaging


    
function [handles] = spm_uitab(hparent,labels,callbacks,tag,active,height,tab_height)
% Create tabs in a figure
% FORMAT [handles] = spm_uitab(hparent,labels,callbacks,tag,active,height,tab_height)
% This function creates tabs in the SPM graphics window.
% These tabs may be associated with different sets of axes and uicontrol,
% through the use of callback functions linked to the tabs.
% Inputs:
%   hparent    - the handle of the parent of the tabs (can be the SPM
%                graphics windows, or the handle of the uipanel of a former
%                spm_uitab...)
%   labels     - a cell array of string containing the labels of the tabs
%   callbacks  - a cell array of strings which will be evaluated using the
%                'eval' function when clicking on a tab [default: {[]}]
%   tag        - a string which is the tag associated with the tabs
%                (useful for finding them in a window...) [default: '']
%   active     - the index of the active tab when creating the uitabs
%                [default: 1, ie the first tab is active]
%   height     - the relative height of the tab panels within its parent
%                spatial extent [default: 1]
%   tab_height - the relative height of the tabs within its parent spatial
%                extent [default: 0.025]
% Output:
%   handles    - a structure of handles for the differents tab objects.
%__________________________________________________________________________
% Copyright (C) 2008-2014 Wellcome Trust Centre for Neuroimaging

% Jean Daunizeau
% $Id: spm_uitab.m 6067 2014-06-26 15:33:30Z guillaume $

Ntabs = length(labels);

if ~exist('callbacks','var') || isempty(callbacks)
    for i=1:Ntabs
        callbacks{i} = [];
    end