Contents
Dataset Basics (setting sample attributes)
- For CoSMoMVPA's copyright information and license terms, #
 - see the COPYING file distributed with CoSMoMVPA. #
 
% Set the targets and the chunks % % There are 10 runs with 6 volumes per run. The runs are vertically stacked one % above the other. The six volumes in each run correspond to the stimuli: % 'monkey','lemur','mallard','warbler','ladybug','lunamoth', in that order. Add % numeric targets labels (samples attribute) such that 1 corresponds to 'monkey', % 2 corresponds to 'lemur', etc. Then add numeric chunks (another samples % attribute) so that 1 corresponds to run1, 2 corresponds to run2, etc. config = cosmo_config(); data_path = fullfile(config.tutorial_data_path, 'ak6', 's01');
Load the dataset 'glm_T_stats_perrun.nii' masked with 'brain_mask.nii'
>@@>
mask_fn = fullfile(data_path, 'brain_mask.nii'); data_fn = fullfile(data_path, 'glm_T_stats_perrun.nii'); ds = cosmo_fmri_dataset(data_fn, 'mask', mask_fn); % <@@<
set targets
remember that targets are part of ds.sa and that they are stored in a column vector >@@>
ds.sa.targets = repmat(1:6, [1, 10])'; % 10 times labels 1 to 6, column vector % <@@<
set chunks
remember that chunks are part of ds.sa and that they are stored in a column vector >@@>
chunks = repmat(1:10, [6, 1]); chunks = chunks(:); % flatten matrix to a column vector ds.sa.chunks = chunks; % <@@<
Show the results
print the dataset
fprintf('\nDataset:\n');
cosmo_disp(ds);
Dataset:
.a                                                                        
  .vol                                                                    
    .mat                                                                  
      [ -3         0         0       121                                  
         0         3         0      -114                                  
         0         0         3     -11.1                                  
         0         0         0         1 ]                                
    .xform                                                                
      'scanner_anat'                                                      
    .dim                                                                  
      [ 80        80        43 ]                                          
  .fdim                                                                   
    .labels                                                               
      { 'i'                                                               
        'j'                                                               
        'k' }                                                             
    .values                                                               
      { [ 1         2         3  ...  78        79        80 ]@1x80       
        [ 1         2         3  ...  78        79        80 ]@1x80       
        [ 1         2         3  ...  41        42        43 ]@1x43 }     
.sa                                                                       
  .targets                                                                
    [ 1                                                                   
      2                                                                   
      3                                                                   
      :                                                                   
      4                                                                   
      5                                                                   
      6 ]@60x1                                                            
  .chunks                                                                 
    [  1                                                                  
       1                                                                  
       1                                                                  
       :                                                                  
      10                                                                  
      10                                                                  
      10 ]@60x1                                                           
.samples                                                                  
  [  0.933  0.000495       2.1  ...   0.681     0.626     0.421           
    -0.772     0.117      1.73  ...   0.723     0.892       1.7           
     0.621      1.52     -0.25  ...  -0.341    -0.832    -0.546           
       :        :         :             :         :         :             
     -2.37     -1.92    -0.879  ...   0.784      0.67     0.522           
    -0.261     0.351   -0.0767  ...    2.81      2.27    -0.947           
     -1.29    -0.964    -0.966  ...   0.827     0.833     0.991 ]@60x43822
.fa                                                                       
  .i                                                                      
    [ 35        36        44  ...  46        47        47 ]@1x43822       
  .j                                                                      
    [ 17        17        17  ...  35        35        36 ]@1x43822       
  .k                                                                      
    [ 1         1         1  ...  39        39        39 ]@1x43822        
print the sample attributes
fprintf('\nSample attributes (in full):\n'); cosmo_disp(ds.sa, 'edgeitems', Inf); % 'edgeitems determine how much of a % matrix is displayed. Try different values.
Sample attributes (in full):
.targets
  [ 1   
    2   
    3   
    4   
    5   
    6   
    1   
    2   
    3   
    4   
    5   
    6   
    1   
    2   
    3   
    4   
    5   
    6   
    1   
    2   
    3   
    4   
    5   
    6   
    1   
    2   
    3   
    4   
    5   
    6   
    1   
    2   
    3   
    4   
    5   
    6   
    1   
    2   
    3   
    4   
    5   
    6   
    1   
    2   
    3   
    4   
    5   
    6   
    1   
    2   
    3   
    4   
    5   
    6   
    1   
    2   
    3   
    4   
    5   
    6 ] 
.chunks 
  [  1  
     1  
     1  
     1  
     1  
     1  
     2  
     2  
     2  
     2  
     2  
     2  
     3  
     3  
     3  
     3  
     3  
     3  
     4  
     4  
     4  
     4  
     4  
     4  
     5  
     5  
     5  
     5  
     5  
     5  
     6  
     6  
     6  
     6  
     6  
     6  
     7  
     7  
     7  
     7  
     7  
     7  
     8  
     8  
     8  
     8  
     8  
     8  
     9  
     9  
     9  
     9  
     9  
     9  
    10  
    10  
    10  
    10  
    10  
    10 ]
print targets and chunks next to each other
fprintf('\nTargets and chunks attributes (in full):\n'); nsamples = size(ds.samples, 1); fprintf('sample # target chunk\n'); index_target_chunks = [(1:nsamples)', ds.sa.targets, ds.sa.chunks]; cosmo_disp(index_target_chunks, 'edgeitems', Inf);
Targets and chunks attributes (in full): sample # target chunk [ 1 1 1 2 2 1 3 3 1 4 4 1 5 5 1 6 6 1 7 1 2 8 2 2 9 3 2 10 4 2 11 5 2 12 6 2 13 1 3 14 2 3 15 3 3 16 4 3 17 5 3 18 6 3 19 1 4 20 2 4 21 3 4 22 4 4 23 5 4 24 6 4 25 1 5 26 2 5 27 3 5 28 4 5 29 5 5 30 6 5 31 1 6 32 2 6 33 3 6 34 4 6 35 5 6 36 6 6 37 1 7 38 2 7 39 3 7 40 4 7 41 5 7 42 6 7 43 1 8 44 2 8 45 3 8 46 4 8 47 5 8 48 6 8 49 1 9 50 2 9 51 3 9 52 4 9 53 5 9 54 6 9 55 1 10 56 2 10 57 3 10 58 4 10 59 5 10 60 6 10 ]