Skip to content

Commit

Permalink
Changed: Updated CAT12 online manual (Orthogonalization).
Browse files Browse the repository at this point in the history
Fixed:   Corected err ro in cat_stat_check_SPM.m where the check for
         orthogonality was not correct recognized.

Changed paths:
 M CHANGES.txt
 M cat_stat_check_SPM.m
 M doc/index.html
  • Loading branch information
ChristianGaser committed Jan 14, 2023
1 parent 420e71b commit 9333f68
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 17 deletions.
11 changes: 11 additions & 0 deletions CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,15 @@
------------------------------------------------------------------------
r2164 | gaser | 2023-01-14 21:46:06

Changed paths:
M CHANGES.txt
M cat_stat_check_SPM.m
M doc/index.html

Changed: Updated CAT12 online manual (Orthogonalization).
Fixed: Corected err ro in cat_stat_check_SPM.m where the check for
orthogonality was not correct recognized.
------------------------------------------------------------------------
r2163 | gaser | 2023-01-12 17:59:59

Changed paths:
Expand Down
11 changes: 5 additions & 6 deletions cat_stat_check_SPM.m
Original file line number Diff line number Diff line change
Expand Up @@ -35,17 +35,16 @@
if exist(spmmat,'file'), load(spmmat);
else error('File %s not found.',spmmat); end

if isfield(job,'check_SPM_ortho')
check_ortho = job.check_SPM_ortho;
else
check_ortho = false;
end

if ~isfield(job,'check_SPM_zscore')
job.check_SPM_zscore = job.check_SPM.check_SPM_zscore;
job.check_SPM_ortho = job.check_SPM.check_SPM_ortho;
end

if isfield(job,'check_SPM_ortho')
check_ortho = job.check_SPM_ortho;
else
check_ortho = false;
end
check_zscore = isfield(job.check_SPM_zscore,'do_check_zscore');

if check_zscore
Expand Down
24 changes: 13 additions & 11 deletions doc/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ <h4 id="vbm_data">VBM data</h4>
Select the gray or white matter segmentations from the first step.</li>
<li><a class="function" href="matlab:spm_jobman('interactive','','spm.spatial.smooth');">Smooth</a> data (recommended start value 6mm<sup>1</sup>).<br>
Select the gray or white matter segmentations from the first step.</li>
<li>Specify the <a class="function" href="matlab:spm_jobman('interactive','','spm.tools.cat.factorial_design');">2nd-level Model</a> with the smoothed gray or white matter segmentations and check for design orthogonality and sample homogeneity:
<li>Specify the <a class="function" href="matlab:spm_jobman('interactive','','spm.tools.cat.factorial_design');">Basic Models</a> with the smoothed gray or white matter segmentations and check for design orthogonality and sample homogeneity:
<ul>
<li>Select "Two-sample t-test" or "Multiple regression" or use "Full factorial" for any cross-sectional data.</li>
<li>Use "Flexible factorial" for longitudinal data.</li>
Expand All @@ -98,7 +98,7 @@ <h4 id="add_surf">Additional surface data</h4>
<li><a class="function" href="matlab:spm_jobman('interactive','','spm.tools.cat.stools.surfresamp');">Resample & smooth</a> surface data (suggested starting value 12mm for cortical thickness and sulcal depth and 20-25mm for folding measures<b><sup>1</sup></b>, use the default merging of hemispheres).<br>
Select the "lh.thickness.*" data in the folder "surf". The resampled data are named "s12.mesh.resampled_32k.thickness.*" for 12mm smoothed, merged hemispheres that were resampled to 32k template space.</li>
<li>Check data quality of the resampled data using <a class="function" href="matlab:spm_jobman('interactive','','spm.tools.cat.tools.check_homogeneity');">Sample Homogeneity</a>.</li>
<li>Build <a class="function" href="matlab:spm_jobman('interactive','','spm.tools.cat.factorial_design');">2nd-level Model</a> for the resampled data and check for design orthogonality and sample homogeneity.
<li>Build <a class="function" href="matlab:spm_jobman('interactive','','spm.tools.cat.factorial_design');">Basic Models</a> for the resampled data and check for design orthogonality and sample homogeneity.
<ul>
<li>Select "Two-sample t-test" or "Multiple regression" or use "Full factorial" for any cross-sectional data.</li>
<li>Use "Flexible factorial" for longitudinal data.</li>
Expand Down Expand Up @@ -1020,13 +1020,12 @@ <h5 id="ortho">Checking for design orthogonality</h5>

<p>If you have modeled TIV as a nuisance parameter, you must check whether TIV is orthogonal (in other words independent) to any other parameter of interest in your analysis (e.g. parameters you are testing for). This means that TIV should not correlate with any other parameter of interest, otherwise not only the variance explained by TIV is removed from your data, but also parts of the variance of your parameter of interest.</p>
<p>Please use &quot;Overall mean&quot; as &quot;Centering&quot; for the TIV covariate. Otherwise, the orthogonality check sometimes even indicates a meaningful co-linearity only because of scaling issues.</p>
<p>To check the design orthogonality, you can either use the respective option in the statistical models or the &quot;Review&quot; function in the SPM12 GUI:</p>
<p>SPM menu &rarr; Review</p>

<ul>
<li>Select SPM.mat &lt;-X &rarr; Select Files &rarr; <em>[select the SPM.mat which you just built]</em> &rarr; Done</li>
<li>Design &rarr; Design orthogonality</li>
</ul>
<p>To check the design orthogonality, you have 3 options:</p>
<ol>
<li>Use the respective option in <a class="function" href="matlab:spm_jobman('interactive','','spm.tools.cat.factorial_design');">Basic Models</a> in CAT12.</li>
<li>Use the <a class="function" href="matlab:spm_jobman('interactive','','spm.tools.cat.tools.check_SPM');">Check design orthogonality and homogeneity</a> function in CAT12</li>
<li>Use the <a class="function" href="matlab:spm_DesRep;">Review</a> function in the SPM12 GUI and select Design orthogonality in the menu.</li>
</ol>

<table class="img">
<tr>
Expand All @@ -1041,7 +1040,10 @@ <h5 id="ortho">Checking for design orthogonality</h5>
</tr>
</table>

<p>The larger the correlation between TIV and any parameter of interest, the more cautious one must be when using TIV as a nuisance parameter. In this case an alternative approach is to use global scaling with TIV. If you use &quot;Basic Models&quot; in the SPM12 GUI, the following settings for this approach can be used (otherwise the global scaling option in the CAT12 function prepares that for you):</p>
<p>The larger the correlation between TIV and any parameter of interest, the more cautious one must be when using TIV as a nuisance parameter. In this case an alternative approach is to use global scaling with TIV. If you use <a class="function" href="matlab:spm_jobman('interactive','','spm.stats.factorial_design');">Basic models</a> in the SPM12 GUI, the settings below for this approach can be used.</p>

<b>Please note that when using <a class="function" href="matlab:spm_jobman('interactive','','spm.tools.cat.factorial_design');">"Basic Models"</a> in the CAT12 GUI, the global scaling option prepares that for you, which eases the process and is the recommended way and the 3 steps in the next list are not needed.</b></b><br>

<ul>
<li>Global Calculation &rarr; User &rarr; Global Values &lt;-X &rarr; Define the TIV values here</li>
<li>Global Normalisation &rarr; Overall grand mean scaling &rarr; Yes &rarr; Grand mean scaled value &rarr; Define here the mean TIV of your sample (or as approximation a value of 1500 which might fit for the majority of data from adults)</li>
Expand All @@ -1052,7 +1054,7 @@ <h5 id="ortho">Checking for design orthogonality</h5>

<p>Please note that global normalization also affects the absolute masking threshold as your images are now scaled to the &quot;Grand mean scaled value&quot; of the Global Normalization option. If you have defined the mean TIV of your sample (or an approximate value of 1500) here, no change of the absolute threshold is required. Otherwise, you will have to correct the absolute threshold because your values are now globally scaled to the &quot;Grand mean scaled value&quot; of the Global Normalization option.</p>

<p>An alternative approach for all models with more than one group should not be unmentioned. This is to use TIV as a nuisance parameter with interaction and mean centering with the factor &quot;group&quot;. This interaction is automatically taken into account when you use the TIV ANCOVA correction in CAT12 &quot;Basic Models&quot;. That approach will result in separate columns of TIV for each group. The values for the nuisance parameters are here mean-centered for each group. As the mean values for TIV are corrected separately for each group, it is prevented that group differences in TIV have a negative impact on the group comparison of the image data in the GLM. Variance explained by TIV is here removed separately for each group without affecting the differences between the groups.</p>
<p>An alternative approach for all models with more than one group should not be unmentioned. This is to use TIV as a nuisance parameter with interaction and mean centering with the factor &quot;group&quot;. This interaction is automatically taken into account when you use the TIV ANCOVA correction in CAT12 <a class="function" href="matlab:spm_jobman('interactive','','spm.tools.cat.factorial_design');">Basic Models</a>. That approach will result in separate columns of TIV for each group. The values for the nuisance parameters are here mean-centered for each group. As the mean values for TIV are corrected separately for each group, it is prevented that group differences in TIV have a negative impact on the group comparison of the image data in the GLM. Variance explained by TIV is here removed separately for each group without affecting the differences between the groups.</p>

<p>Unfortunately, no clear advice for either of these two approaches can be given and the use of these approaches will also affect the interpretation of your findings.</p>

Expand Down

0 comments on commit 9333f68

Please sign in to comment.