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: icatb_setup_mancovan.m
    path of file: ./repos/bspm/thirdparty/MIALAB/GroupICATv4.0a/icatb/icatb_mancovan_files
    
    the code of the file until where you have to start completion: function icatb_setup_mancovan(param_file)
%% Setup mancovan
%
% Inputs:
% 1. param_file - ICA Parameter file or Mancovan parameter file
%

icatb_defaults;
global UI_FS;
global PARAMETER_INFO_MAT_FILE;

%% Select Mancovan file
if (~exist('param_file', 'var'))
    param_file = icatb_selectEntry('title', 'Select ICA/Mancovan Parameter File', 'typeEntity', 'file', 'typeSelection', 'single', '
    
function saveCallback(hObject, event_data, handles)
%% Save the mancovanInfo

mancovanInfo = get_info_controls(handles);
fileN = fullfile(mancovanInfo.userInput.outputDir, [mancovanInfo.userInput.prefix, '.mat']);
icatb_save(fileN, 'mancovanInfo');
wH = icatb_dialogBox('title', 'File Saved', 'textBody', ['Mancovan information is saved in file ', fileN], 'textType', 'large');
waitfor(wH);
delete(handles);

function runCallback(hObject, event_data, handles)
%% Run mancovan

mancovanInfo = get_info_controls(handles);

if (~isfield(mancovanInfo.userInput, 'feature_params'))
    defaultsMenuH = findobj(handles, 'tag', 'mancovan_defaults');
    defaultsCallback(defaultsMenuH, [], handles, 'off');
end