%--brain mask with the brain tissue mask_name = 'C:UsersAdministratorDesktopworkspacepreprocessedmaskswithin_brain_mask.nii'; M = load_untouch_nii( mask_name ); % load mask NIFTI mask = double(M.img>0); % get 3d v %--brain functional 4d data data_4d = 'C:UsersAdministratorDesktopworkspacepreprocessed4dfunc_3d.nii'; % data_4d = 'C:UsersAdministratorDesktopphycaa_workspacephycaa_plus_2104_03_27\_PHYCAA_step1+2.nii'; V = load_untouch_nii( data_4d ); %--transform 4d array to 2d array, using brain_mask within_brain_voxels = nifti_to_mat(V,M); nt_matrix = within_brain_voxels; n = size(nt_matrix,1); t = size(nt_matrix,2); mean_value = mean ( mean(nt_matrix,2) ); tmp_matrix = nt_matrix - mean_value; mean_value2 = mean(tmp_matrix,2) ; % normalise_data = abs(( nt_matrix - repmat( mean_value, 1 , t )) ./ repmat( mean_value, 1 , t )) ; normalise_data = abs(( tmp_matrix - repmat( mean_value2, 1 , t )) ./ repmat( mean_value2, 1 , t )) ; % normalise_data = abs(( nt_matrix - mean_value) )/ mean_value ; w_data = normalise_data; for i=1:n tmp_rows = normalise_data(i,:); max_value = max(tmp_rows); tmp_rows_index = (tmp_rows == max_value); tmp_rows1 = tmp_rows.* double(tmp_rows_index); % w_data(i,:) = double(tmp_rows_index); w_data(i,:) = tmp_rows1; end reference_waveform = sum(w_data); plot(reference_waveform);