-
Notifications
You must be signed in to change notification settings - Fork 28
/
palm.m
493 lines (485 loc) · 24 KB
/
palm.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
function palm(varargin)
% =======================================================================
% ___ ___ ___
% / /\ / /\ /__/\
% / /::\ / /::\ | |::\
% / /:/\:\ / /:/\:\ ___ ___ | |:|:\
% / /:/~/:/ / /:/~/::\ /__/\ / /\ __|__|:|\:\
% /__/:/ /:/ /__/:/ /:/\:\ \ \:\ / /:/ /__/::::| \:\
% \ \:\/:/ \ \:\/:/__\/ \ \:\ /:/ \ \:\~~\__\/
% \ \::/ \ \::/ \ \:\/:/ \ \:\
% \ \:\ \ \:\ \ \::/ \ \:\
% \ \:\ \ \:\ \__\/ \ \:\
% \__\/ \__\/ \__\/
%
% =======================================================================
% Permutation Analysis of Linear Models
% =======================================================================
%
%
% The options are:
%
% -i <file> : Input(s). More than one can be specified, each one preceded
% by its own -i. All input files must contain the same number of
% observations (e.g., the same number of subjects). Except for NPC
% and MV, mixing is allowed (e.g., voxelwise, vertexwise and
% non-imaging data can be all loaded at once, and later will be all
% corrected across).
%
% -m <file> : Mask(s). Either one for all inputs, or one per input,
% supplied in the same order as the respective -i appear.
%
% -s <file> : Surface file(s). When more than one is supplied, each -s
% should be entered in the same order as the respective -i. This
% option is needed when the input data is a scalar field over a
% surface and spatial statistics (cluster extent, cluster mass or
% TFCE) have been enabled.
%
% -d <file> : Design matrix. It can be in csv format, or in fsl's vest
% format. For information on how to construct the design matrix,
% see the FSL GLM manual.
%
% -t <file> : t-contrasts file, in csv or vest format (the format used by
% FSL). The option -t can be used more than once, so that more than
% one t-contrasts file can be loaded.
%
% -f <file> : F-contrasts file, in csv or vest format. The option -f can
% be used more than once, so that more than one F-contrasts file
% can be loaded. Each file supplied with a -f corresponds to the
% file supplied with the option -t in the same order. The option -f
% cannot be used more than the number of times the option -t was
% used.
%
% -inormal : Apply an inverse-normal transformation to the data using the
% Waerden method.
%
% -rmethod <string> : Method for regression/permutation. It can be one of
% Freedman-Lane, Smith, terBraak, Manly, Draper-Stoneman,
% Still-White and Huh-Jhun. Default, and recommended, is
% Freedman-Lane.
%
% -n <integer> : Number of permutations. Use -n 0 to run all permutations
% and/or sign-flips exhaustively. Default is 10000.
%
% -eb <file> : Exchangeability blocks file, in csv or vest format. If
% omitted, all observations are treated as exchangeable and
% belonging to a single large exchangeability block.
%
% -sb : Shuffle blocks as a whole if the block specification has a single
% column. If he block specification has a single column, but this
% option is omited, permutations will happen within block.
%
% -vg <file> : Variance groups file, in csv or vest format. If omitted,
% the variance groups are defined automatically using the
% exchangeability blocks (option -eb).
%
% -ee : Assume exchangeable errors (EE), to allow permutations (more
% details below).
%
% -ise : Assume independent and symmetric errors (ISE), to allow
% sign-flipping (more details below).
%
% -npc <method> : Do non-parametric combination (NPC), using the the
% specified method, which can be one of: Tippett, Fisher,
% Pearson-David, Stouffer, Wilkinson <alpha>, Winer, Edgington,
% Mudholkar-George, Friston, Darlington-Hayes <r>, Zaykin <alpha>,
% Dudbridge-Koeleman <r>, Dudbridge-Koeleman2 <r> <alpha>, Nichols,
% Taylor-Tibshirani or Jiang <alpha>. Default is Tippett. Note that
% some methods require 1 or 2 additional parameters to be provided.
% All methods except Darlington-Hayes and Jiang can also be used to
% produce parametric p-values and spatial statistics.
%
% -mv <statistic> : Do classical multivariate analysis (MV), such as
% MANOVA and MANCOVA, using the the specified statistic, which can
% be one of: Wilks, Hotelling, Pillai, Roy_ii or Roy_iii. All but
% the last can also be used to calculate parametric p-values and
% spatial statistics.
%
% -o <string> : Output prefix. It may itself be prefixed by a path.
% Default is palm.
%
% -pearson : Instead of t, F, v or G, compute either the Pearson's
% correlation coefficient, r (if the constrast has rank=1), or the
% coefficient of determination R2 (if the constrast has rank>1).
% For the contrasts in which some EVs are zeroed out, this option
% computes the partial correlation (or partial R2).
%
% -T : Enable TFCE inference for univariate (partial) tests, as well as
% for NPC and/or MV if these options have been enabled.
%
% -c <real> : Enable cluster extent for t contrasts for univariate
% (partial) tests, with the supplied cluster-forming threshold
% (supplied as the equivalent z-score), as well as for NPC and/or
% MV if these options have been enabled.
%
% -C <real> : Enable cluster mass for t contrasts for univariate
% (partial) tests, with the supplied cluster-forming threshold
% (supplied as the equivalent z-score), as well as for NPC and/or
% MV if these options have been enabled.
%
% -tfce_H <real> : Set the TFCE H parameter (height power).
%
% -tfce_E <real> : Set the TFCE E parameter (extent power).
%
% -tfce_C <integer> : Set the TFCE C parameter (connectivity).
%
% -tfce2D : Set TFCE parameters for 2D data (surface, TBSS) data, i.e.,
% H = 2, E = 1, C = 26.
%
% -Tuni : Enable TFCE inference for univariate (partial) tests.
%
% -cuni <real> : Enable cluster extent for t contrasts for univariate
% (partial) tests, with the supplied cluster-forming threshold (as
% a z-score).
%
% -Cuni <real> : Enable cluster mass for t contrasts for univariate
% (partial) tests, with the supplied cluster-forming threshold (as
% a z-score).
%
% -Tnpc : Enable TFCE inference for NPC.
%
% -cnpc <real> : Enable cluster extent for t contrasts for NPC, with the
% supplied cluster-forming threshold (as a z-score).
%
% -Cnpc <real> : Enable cluster mass for t contrasts for NPC, with the
% supplied cluster-forming threshold (as a z-score).
%
% -Tmv : Enable TFCE inference for MV.
%
% -cmv <real> : Enable cluster extent for t contrasts for MV, with the
% supplied cluster-forming threshold (as a z-score).
%
% -Cmv <real> : Enable cluster mass for t contrasts for MV, with the
% supplied cluster-forming threshold (as a z-score).
%
% -corrmod : Apply FWER-correction of p-values over multiple modalities.
%
% -corrcon : Apply FWER-correction of p-values over multiple contrasts.
%
% -fdr : Produce FDR-adjusted p-values.
%
% -saveparametric : Save also uncorrected parametric p-values.
%
% -save1-p : Save (1-p) instead of the actual p-values.
%
% -logp : Save the output p-values as -log(p) (or -log(1-p) if the option
% -save1-p is used).
%
% -savemask : Save the effective masks used for each modality, as well as
% an intersection mask used for NPC and/or MV of these have been
% selected.
%
% -noniiclass : Do not use the NIFTI class (use this option only if you
% have problems and even so, only for small datasets).
%
% -draft : Run in the "draft mode". No NPC, nor FWER correction are
% possible. MV and FDR-adjustment are possible.
%
% -saveperms : Save one statistic image per permutation, as well as a csv
% file with the permutation indices (one permutation per row, one
% index per column; sign-flips are represented by the negative
% indices). Use cautiously, as this may consume large amounts of
% disk space.
%
% -savemetrics : Save a csv file with various permutation metrics.
%
% -seed <positive> : Seed used for the random number generator. Use a
% positive integer up to 232^. Default is 0. To start with a random
% number, use the word twist instead of the integer. Note that a
% given seed used in matlab isn't equivalent to the same seed used
% in Octave.
%
% -demean : Mean center the data, as well as all columns of the design
% matrix. If the original design had an intercept, the intercept is
% removed.
%
% -vgdemean : Mean center the data, as well as all columns of the design
% matrix, within each VG. Intercepts are removed.
%
% -cmc : Use Conditional Monte Carlo. This option will be ignored if the
% number of shufflings chosen is larger than the maximum number of
% possible shufflings, in which case all possible shufflings will
% be performed.
%
% -igrepx : Ignore the possibility of repeated rows in X when
% constructing the set of permutations, such that each row is
% treated as unique, regardless of potential repetitions (ties).
%
% -twotail : Run two-tailed tests for all the t-contrasts instead of
% one-tailed. If NPC is used, it also becomes two-tailed for the
% methods which statistic are symmetric around zero under the null.
%
% -ev4vg : Add to the design one EV modelling the mean of each VG.
%
% -removeignored : Remove from the data and design those observations
% that have their own, exclusive regressor, but which don't belong
% to any contrast.
%
% -removevgsize1 : Remove from the data and design those observations
% that are in VGs of size 1.
%
% -zstat : Convert the original statistic (t, F, v, G, r, R2, or any of
% the MV statistics) to a normally distributed, z-statistic.
%
% -noranktest : For MV, don't check the rank of the data before trying to
% compute the multivariate statistics.
%
% _____________________________________
% Anderson M. Winkler
% FMRIB / Univ. of Oxford
% Mar/2014
% http://brainder.org
% This is redundant in when running as a function as all files should
% be together, but it helps when running from the shell
addpath(fileparts(mfilename('fullpath')));
% If Octave
if palm_isoctave,
% Disable memory dump on SIGTERM
sigterm_dumps_octave_core(0);
% If running as a script, take the input arguments
cmdname = program_invocation_name();
if ~ strcmpi(cmdname(end-5:end),'octave'),
varargin = argv();
end
% Be sure to print to the screen immediately
page_screen_output(0);
page_output_immediately(1);
end
% This is probably redundant but fix a bug in an old Matlab version
nargin = numel(varargin);
% Print usage if no inputs are given
if nargin == 0 || strcmp(varargin{1},'-q'),
fprintf('=======================================================================\n');
fprintf(' ___ ___ ___\n');
fprintf(' / /\\ / /\\ /__/\\\n');
fprintf(' / /::\\ / /::\\ | |::\\\n');
fprintf(' / /:/\\:\\ / /:/\\:\\ ___ ___ | |:|:\\\n');
fprintf(' / /:/~/:/ / /:/~/::\\ /__/\\ / /\\ __|__|:|\\:\\\n');
fprintf(' /__/:/ /:/ /__/:/ /:/\\:\\ \\ \\:\\ / /:/ /__/::::| \\:\\\n');
fprintf(' \\ \\:\\/:/ \\ \\:\\/:/__\\/ \\ \\:\\ /:/ \\ \\:\\~~\\__\\/\n');
fprintf(' \\ \\::/ \\ \\::/ \\ \\:\\/:/ \\ \\:\\\n');
fprintf(' \\ \\:\\ \\ \\:\\ \\ \\::/ \\ \\:\\\n');
fprintf(' \\ \\:\\ \\ \\:\\ \\__\\/ \\ \\:\\\n');
fprintf(' \\__\\/ \\__\\/ \\__\\/\n');
fprintf('\n');
fprintf('=======================================================================\n');
fprintf(' Permutation Analysis of Linear Models\n');
fprintf('=======================================================================\n');
fprintf('\n');
fprintf('\n');
fprintf('The options are:\n');
fprintf('\n');
fprintf('-i <file> : Input(s). More than one can be specified, each one preceded\n');
fprintf(' by its own -i. All input files must contain the same number of\n');
fprintf(' observations (e.g., the same number of subjects). Except for NPC\n');
fprintf(' and MV, mixing is allowed (e.g., voxelwise, vertexwise and\n');
fprintf(' non-imaging data can be all loaded at once, and later will be all\n');
fprintf(' corrected across).\n');
fprintf('\n');
fprintf('-m <file> : Mask(s). Either one for all inputs, or one per input,\n');
fprintf(' supplied in the same order as the respective -i appear.\n');
fprintf('\n');
fprintf('-s <file> : Surface file(s). When more than one is supplied, each -s\n');
fprintf(' should be entered in the same order as the respective -i. This\n');
fprintf(' option is needed when the input data is a scalar field over a\n');
fprintf(' surface and spatial statistics (cluster extent, cluster mass or\n');
fprintf(' TFCE) have been enabled.\n');
fprintf('\n');
fprintf('-d <file> : Design matrix. It can be in csv format, or in fsl''s vest\n');
fprintf(' format. For information on how to construct the design matrix,\n');
fprintf(' see the FSL GLM manual.\n');
fprintf('\n');
fprintf('-t <file> : t-contrasts file, in csv or vest format (the format used by\n');
fprintf(' FSL). The option -t can be used more than once, so that more than\n');
fprintf(' one t-contrasts file can be loaded.\n');
fprintf('\n');
fprintf('-f <file> : F-contrasts file, in csv or vest format. The option -f can\n');
fprintf(' be used more than once, so that more than one F-contrasts file\n');
fprintf(' can be loaded. Each file supplied with a -f corresponds to the\n');
fprintf(' file supplied with the option -t in the same order. The option -f\n');
fprintf(' cannot be used more than the number of times the option -t was\n');
fprintf(' used.\n');
fprintf('\n');
fprintf('-inormal : Apply an inverse-normal transformation to the data using the\n');
fprintf(' Waerden method.\n');
fprintf('\n');
fprintf('-rmethod <string> : Method for regression/permutation. It can be one of\n');
fprintf(' Freedman-Lane, Smith, terBraak, Manly, Draper-Stoneman,\n');
fprintf(' Still-White and Huh-Jhun. Default, and recommended, is\n');
fprintf(' Freedman-Lane.\n');
fprintf('\n');
fprintf('-n <integer> : Number of permutations. Use -n 0 to run all permutations\n');
fprintf(' and/or sign-flips exhaustively. Default is 10000.\n');
fprintf('\n');
fprintf('-eb <file> : Exchangeability blocks file, in csv or vest format. If\n');
fprintf(' omitted, all observations are treated as exchangeable and\n');
fprintf(' belonging to a single large exchangeability block.\n');
fprintf('\n');
fprintf('-sb : Shuffle blocks as a whole if the block specification has a single\n');
fprintf(' column. If he block specification has a single column, but this\n');
fprintf(' option is omited, permutations will happen within block.\n');
fprintf('\n');
fprintf('-vg <file> : Variance groups file, in csv or vest format. If omitted,\n');
fprintf(' the variance groups are defined automatically using the\n');
fprintf(' exchangeability blocks (option -eb).\n');
fprintf('\n');
fprintf('-ee : Assume exchangeable errors (EE), to allow permutations (more\n');
fprintf(' details below).\n');
fprintf('\n');
fprintf('-ise : Assume independent and symmetric errors (ISE), to allow\n');
fprintf(' sign-flipping (more details below).\n');
fprintf('\n');
fprintf('-npc <method> : Do non-parametric combination (NPC), using the the\n');
fprintf(' specified method, which can be one of: Tippett, Fisher,\n');
fprintf(' Pearson-David, Stouffer, Wilkinson <alpha>, Winer, Edgington,\n');
fprintf(' Mudholkar-George, Friston, Darlington-Hayes <r>, Zaykin <alpha>,\n');
fprintf(' Dudbridge-Koeleman <r>, Dudbridge-Koeleman2 <r> <alpha>, Nichols,\n');
fprintf(' Taylor-Tibshirani or Jiang <alpha>. Default is Tippett. Note that\n');
fprintf(' some methods require 1 or 2 additional parameters to be provided.\n');
fprintf(' All methods except Darlington-Hayes and Jiang can also be used to\n');
fprintf(' produce parametric p-values and spatial statistics.\n');
fprintf('\n');
fprintf('-mv <statistic> : Do classical multivariate analysis (MV), such as\n');
fprintf(' MANOVA and MANCOVA, using the the specified statistic, which can\n');
fprintf(' be one of: Wilks, Hotelling, Pillai, Roy_ii or Roy_iii. All but\n');
fprintf(' the last can also be used to calculate parametric p-values and\n');
fprintf(' spatial statistics.\n');
fprintf('\n');
fprintf('-o <string> : Output prefix. It may itself be prefixed by a path.\n');
fprintf(' Default is palm.\n');
fprintf('\n');
fprintf('-pearson : Instead of t, F, v or G, compute either the Pearson''s\n');
fprintf(' correlation coefficient, r (if the constrast has rank=1), or the\n');
fprintf(' coefficient of determination R2 (if the constrast has rank>1).\n');
fprintf(' For the contrasts in which some EVs are zeroed out, this option\n');
fprintf(' computes the partial correlation (or partial R2).\n');
fprintf('\n');
fprintf('-T : Enable TFCE inference for univariate (partial) tests, as well as\n');
fprintf(' for NPC and/or MV if these options have been enabled.\n');
fprintf('\n');
fprintf('-c <real> : Enable cluster extent for t contrasts for univariate\n');
fprintf(' (partial) tests, with the supplied cluster-forming threshold\n');
fprintf(' (supplied as the equivalent z-score), as well as for NPC and/or\n');
fprintf(' MV if these options have been enabled.\n');
fprintf('\n');
fprintf('-C <real> : Enable cluster mass for t contrasts for univariate\n');
fprintf(' (partial) tests, with the supplied cluster-forming threshold\n');
fprintf(' (supplied as the equivalent z-score), as well as for NPC and/or\n');
fprintf(' MV if these options have been enabled.\n');
fprintf('\n');
fprintf('-tfce_H <real> : Set the TFCE H parameter (height power).\n');
fprintf('\n');
fprintf('-tfce_E <real> : Set the TFCE E parameter (extent power).\n');
fprintf('\n');
fprintf('-tfce_C <integer> : Set the TFCE C parameter (connectivity).\n');
fprintf('\n');
fprintf('-tfce2D : Set TFCE parameters for 2D data (surface, TBSS) data, i.e.,\n');
fprintf(' H = 2, E = 1, C = 26.\n');
fprintf('\n');
fprintf('-Tuni : Enable TFCE inference for univariate (partial) tests.\n');
fprintf('\n');
fprintf('-cuni <real> : Enable cluster extent for t contrasts for univariate\n');
fprintf(' (partial) tests, with the supplied cluster-forming threshold (as\n');
fprintf(' a z-score).\n');
fprintf('\n');
fprintf('-Cuni <real> : Enable cluster mass for t contrasts for univariate\n');
fprintf(' (partial) tests, with the supplied cluster-forming threshold (as\n');
fprintf(' a z-score).\n');
fprintf('\n');
fprintf('-Tnpc : Enable TFCE inference for NPC.\n');
fprintf('\n');
fprintf('-cnpc <real> : Enable cluster extent for t contrasts for NPC, with the\n');
fprintf(' supplied cluster-forming threshold (as a z-score).\n');
fprintf('\n');
fprintf('-Cnpc <real> : Enable cluster mass for t contrasts for NPC, with the\n');
fprintf(' supplied cluster-forming threshold (as a z-score).\n');
fprintf('\n');
fprintf('-Tmv : Enable TFCE inference for MV.\n');
fprintf('\n');
fprintf('-cmv <real> : Enable cluster extent for t contrasts for MV, with the\n');
fprintf(' supplied cluster-forming threshold (as a z-score).\n');
fprintf('\n');
fprintf('-Cmv <real> : Enable cluster mass for t contrasts for MV, with the\n');
fprintf(' supplied cluster-forming threshold (as a z-score).\n');
fprintf('\n');
fprintf('-corrmod : Apply FWER-correction of p-values over multiple modalities.\n');
fprintf('\n');
fprintf('-corrcon : Apply FWER-correction of p-values over multiple contrasts.\n');
fprintf('\n');
fprintf('-fdr : Produce FDR-adjusted p-values.\n');
fprintf('\n');
fprintf('-saveparametric : Save also uncorrected parametric p-values.\n');
fprintf('\n');
fprintf('-save1-p : Save (1-p) instead of the actual p-values.\n');
fprintf('\n');
fprintf('-logp : Save the output p-values as -log(p) (or -log(1-p) if the option\n');
fprintf(' -save1-p is used).\n');
fprintf('\n');
fprintf('-savemask : Save the effective masks used for each modality, as well as\n');
fprintf(' an intersection mask used for NPC and/or MV of these have been\n');
fprintf(' selected.\n');
fprintf('\n');
fprintf('-noniiclass : Do not use the NIFTI class (use this option only if you\n');
fprintf(' have problems and even so, only for small datasets).\n');
fprintf('\n');
fprintf('-draft : Run in the "draft mode". No NPC, nor FWER correction are\n');
fprintf(' possible. MV and FDR-adjustment are possible.\n');
fprintf('\n');
fprintf('-saveperms : Save one statistic image per permutation, as well as a csv\n');
fprintf(' file with the permutation indices (one permutation per row, one\n');
fprintf(' index per column; sign-flips are represented by the negative\n');
fprintf(' indices). Use cautiously, as this may consume large amounts of\n');
fprintf(' disk space.\n');
fprintf('\n');
fprintf('-savemetrics : Save a csv file with various permutation metrics.\n');
fprintf('\n');
fprintf('-seed <positive> : Seed used for the random number generator. Use a\n');
fprintf(' positive integer up to 232^. Default is 0. To start with a random\n');
fprintf(' number, use the word twist instead of the integer. Note that a\n');
fprintf(' given seed used in matlab isn''t equivalent to the same seed used\n');
fprintf(' in Octave.\n');
fprintf('\n');
fprintf('-demean : Mean center the data, as well as all columns of the design\n');
fprintf(' matrix. If the original design had an intercept, the intercept is\n');
fprintf(' removed.\n');
fprintf('\n');
fprintf('-vgdemean : Mean center the data, as well as all columns of the design\n');
fprintf(' matrix, within each VG. Intercepts are removed.\n');
fprintf('\n');
fprintf('-cmc : Use Conditional Monte Carlo. This option will be ignored if the\n');
fprintf(' number of shufflings chosen is larger than the maximum number of\n');
fprintf(' possible shufflings, in which case all possible shufflings will\n');
fprintf(' be performed.\n');
fprintf('\n');
fprintf('-igrepx : Ignore the possibility of repeated rows in X when\n');
fprintf(' constructing the set of permutations, such that each row is\n');
fprintf(' treated as unique, regardless of potential repetitions (ties).\n');
fprintf('\n');
fprintf('-twotail : Run two-tailed tests for all the t-contrasts instead of\n');
fprintf(' one-tailed. If NPC is used, it also becomes two-tailed for the\n');
fprintf(' methods which statistic are symmetric around zero under the null.\n');
fprintf('\n');
fprintf('-ev4vg : Add to the design one EV modelling the mean of each VG.\n');
fprintf('\n');
fprintf('-removeignored : Remove from the data and design those observations\n');
fprintf(' that have their own, exclusive regressor, but which don''t belong\n');
fprintf(' to any contrast.\n');
fprintf('\n');
fprintf('-removevgsize1 : Remove from the data and design those observations\n');
fprintf(' that are in VGs of size 1.\n');
fprintf('\n');
fprintf('-zstat : Convert the original statistic (t, F, v, G, r, R2, or any of\n');
fprintf(' the MV statistics) to a normally distributed, z-statistic.\n');
fprintf('\n');
fprintf('-noranktest : For MV, don''t check the rank of the data before trying to\n');
fprintf(' compute the multivariate statistics.\n');
fprintf('\n');
fprintf('_____________________________________\n');
fprintf('Anderson M. Winkler\n');
fprintf('FMRIB / Univ. of Oxford\n');
fprintf('Mar/2014\n');
fprintf('http://brainder.org\n');
return;
end
% Now run what matters
palm_backend(varargin{:});