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_display_dfnc.m
    path of file: ./repos/gift/GroupICAT/icatb/icatb_helper_functions
    
    the code of the file until where you have to start completion: function icatb_display_dfnc(param_file)
%% Display Mancovan results
%

icatb_defaults;
global DFNC_ZOI_THRESH;
global DFNC_ZOI_TMAP_THRESH;
global FONT_COLOR;
global UI_FONTNAME;


%% Select dFNC file
if (~exist('param_file', 'var'))
    param_file = icatb_selectEntry('title', 'Select dFNC Parameter File', 'typeEntity', 'file', 'typeSelection', 'single', 'filter', '*dfnc.mat');
    drawnow;
    if (isempty(param_file))
        error('dFNC parameter file is not selecte
    
function displayButtonCallback(hObject, event_data, handles)
%% Display button callback
%

set(handles, 'pointer', 'watch');

dfncInfo = get(handles, 'userdata');
listH = findobj(handles, 'tag', 'select_list');
strs = cellstr(get(listH, 'string'));
val = get(listH, 'value');
selected_str = deblank(strs{val});

icatb_dfnc_results(dfncInfo, selected_str);

set(handles, 'pointer', 'arrow');


function htmlCallback(hObject, event_data, handles)
%% HTML Report Callback
%

set(handles, 'pointer', 'watch');

dfncInfo = get(handles, 'userdata');

icatb_dfnc_results_html(dfncInfo);

set(handles, 'pointer', 'arrow');



function plotConnectoGram(hObject, event_data, handles)
%% Plot connectogram
%

set(handles, 'pointer', 'watch');

dfncInfo = get(handles, 'userdata');

% Nifti file names
file_names = dfncInfo.userInput.compFiles;

% component network names and numbers
comp_network_names = cell(length(dfncInfo.userInput.comp), 2);
for nC = 1:size(comp_network_names, 1)
    comp_network_names{nC, 1} = dfncInfo.userInput.comp(nC).name;
    comp_network_names{nC, 2} = dfncInfo.userInput.comp(nC).value;
end