run multiple comparison correction skl

%% Multiple comparison correction with Threshold-Free Cluster Enhancement
%
% This example demonstrates cosmo_cluster_neighborhood and
% cosmo_montecarlo_cluster_stat
%
% Note: this example shows multiple-comparison for a single subject, but
% the same logic can be applied to a group of subjects to do a group
% analysis.
%
% #   For CoSMoMVPA's copyright information and license terms,   #
% #   see the COPYING file distributed with CoSMoMVPA.           #

%% Define data
config = cosmo_config();
data_path = fullfile(config.tutorial_data_path, 'ak6', 's01');

targets = repmat(1:6, 1, 10);
chunks = floor(((1:60) - 1) / 6) + 1;

ds = cosmo_fmri_dataset(fullfile(data_path, 'glm_T_stats_perrun.nii'), ...
                        'mask', fullfile(data_path, 'brain_mask.nii'), ...
                        'targets', targets, 'chunks', chunks);

% There are 10 chunks, for which the data is assumed to be independent.
% Construct a dataset with 10 samples corresponding to each chunk, with
% the average value across all six targets. Each sample is considered to be
% the same condition, namely the effect of the stimulus-versus-baseline
% effect; thus all target values must be set to 1.
%
% Use either:
%   - cosmo_split and cosmo_stack
%   - cosmo_average_samples
%   - (advanced) cosmo_fx
%
% Assign the result to a variable 'ds_stim'
%%%% >>> Your code here <<< %%%%

%% Define a cluster neighborhood for this dataset and assign the result to
% a variable 'cl_nh'.
% hint: use cosmo_cluster_neighborhood

%%%% >>> Your code here <<< %%%%

% Show a plot with the sorted number of neighbors
% for each voxel

%%%% >>> Your code here <<< %%%%

%% Run cosmo_montecarlo_cluster_stat

% There is one condition per chunk; all targets are set to 1.
% Thus the subsequent analysis is a one-sample t-test.
% Note: if this was a group analysis, then each sample (row in ds.samples)
% would contain data from one subject; each unique value in .sa.chunks
% would correspond to one subject; and each unique value in .sa.targets
% would correspond to a condition of interest.

% Since this is a one-sample t-test against a mean of zero, we set this as
% a (required) option

opt = struct();
opt.h0_mean = 0;

% set the number of iterations ('niter' option).
% At least 10000 is advised for publication-quality analyses; because that
% takes quite a while to compute, here we use 200

%%%% >>> Your code here <<< %%%%

% using cosmo_montecarlo_cluster_stat, compute a map with z-scores
% against the null hypothesis of a mean of zero, corrected for multiple
% comparisons. Store the result in a variable named 'tfce_z_ds_stim'

%%%% >>> Your code here <<< %%%%
cosmo_plot_slices(tfce_z_ds_stim);

%% Using the same logic, run a two-sample t-test for primates versus bugs

%%%% >>> Your code here <<< %%%%
cosmo_plot_slices(tfce_z_ds_primate_vs_insects);