Print

Print


Hi John,

Thanks for your help. 

I am sorry for the confusion. I used Segment in SPM12 with 3 children's TPMs, and got error information as follows (the former error information is from somewhere else).

Failed  'Segment'
Error using sqrtm (line 35)
Expected input to be finite.
In file "/afs/cbs.mpg.de/software/matlab/9.0/toolbox/matlab/matfun/sqrtm.m" (???), function "sqrtm" at line 35.
In file "/home/raid2/xiao/softwares/matlab_softwares/spm12/spm_maff8.m" (v6421), function "M2P" at line 293.
In file "/home/raid2/xiao/softwares/matlab_softwares/spm12/spm_maff8.m" (v6421), function "affreg" at line 120.
In file "/home/raid2/xiao/softwares/matlab_softwares/spm12/spm_maff8.m" (v6421), function "spm_maff8" at line 26.
In file "/home/raid2/xiao/softwares/matlab_softwares/spm12/spm_preproc_run.m" (v6365), function "run_job" at line 108.
In file "/home/raid2/xiao/softwares/matlab_softwares/spm12/spm_preproc_run.m" (v6365), function "spm_preproc_run" at line 41.
In file "/home/raid2/xiao/softwares/matlab_softwares/spm12/config/spm_cfg_preproc8.m" (v6148), function "spm_local_preproc_run" at line 417.

The following modules did not run:
Failed: Segment

As you mentioned, the default SPM12 segmentation usually needs a few more tissue classes to work well, but it also works when using only 3 tissue classes (GM, WM, CSF) in SPM12. 

I found an alternative way to do the longitudinal VBM analysis (eg., Koenders et al. (2016)).  

1) registration follow-up image to the baseline image; 
2) calculate average image; 
3) realign images from step 1 to step 2;  
4) segment images from step 2 and 3; 
5) DARTEL average tissues from step 4; 
6) normalise segmented tissues (baseline and follow-up image) based on step 5 and smooth 

Then the differences of grey matter volume could be computed by using paired-t test. I was wondering, which approach is more suitable, this approach, or the one you suggested? Could you please give me some suggestion? 

Thank you very much.

Best,
Yaqiong

----- Original Message -----
From: "John Ashburner" <[log in to unmask]>
To: "Yaqiong Xiao" <[log in to unmask]>
Cc: "SPM" <[log in to unmask]>
Sent: Thursday, July 28, 2016 8:15:08 PM
Subject: Re: [SPM] longitudinal VBM analysis in SPM12

> I am also doing longitudinal VBM analysis in SPM 12. Based on your
> suggestion (searched from the mailing list), the following steps were
> included:
>
> 1)  Pairwise registration (order: 1st: initial scan / 2nd follow-up scan)
> 2)  Segment the avg
> 3)  Compute c1.(from step 2) *jd (from step1)
> 4)  Dartel the rc1 & rc2 from step 2
> 5)  Apply MNI normalization from 4 to c1.*jd from step 3
>
> Is the analysis right?
>

It looks fine to me.


>
> For the grey matter volume of each time point, re-run the longitudinal
> registration with ‘serial’ option to generate the Jacobian maps at the two
> time points, and calculate grey matter volume for each time point:
> c1avg*jd1/ c1avg*jd2. Then, apply MNI normalization based on average
> template (template_6.nii, from step 4) to c1avg*jd1/ c1avg*jd2. Is this
> correct?
>

 You can do this, but whether it is correct depends what sort of analysis
you actually want to do.  If you want to include it as part of some mixed
effects model, then it seems reasonable.


> Considering children data (two time points with one year interval) in my
> analysis, I used children's tissue probability maps to implement
> segmentation. Since only three children's TPMs (GM, WM, CSF) available, I
> tried to run New segment with these TPMs, but it did not work, reporting
> errors as follows.
>
> Error using schur
> Input to SCHUR must not contain NaN or Inf.
> In file "C:\Program Files\MATLAB\R2012b\toolbox\matlab\matfun\sqrtm.m"
> (???), function "sqrtm" at line 33.
> In file "E:\spm12\toolbox\OldSeg\spm_maff.m" (v4873), function "M2P" at
> line 162.
> In file "E:\spm12\toolbox\OldSeg\spm_maff.m" (v4873), function "affreg" at
> line 78.
> In file "E:\spm12\toolbox\OldSeg\spm_maff.m" (v4873), function "spm_maff"
> at line 27.
> In file "E:\spm12\spm_preproc.m" (v4916), function "spm_preproc" at line
> 155.
> In file "E:\spm12\toolbox\OldSeg\spm_run_preproc.m" (v4873), function
> "spm_run_preproc" at line 20.
>

I think there may be some confusion between old and new segment.  In SPM12,
what was called "New Segment" in SPM8 was modified to deal with some of the
reported issues and made the default segmentation.  I thought there may be
a need for some to use the old segment of SPM8, so this became a toolbox in
SPM12.  The thing that's crashing is the old Segment.


>
> However, New segment worked when using three TPMs in spm12. Do you have
> some ideas about that?
>

New or old?  I'm confused now.


>
> Since New segment did not work with three children's TPMs, I used Old
> segment for segmentation.


The old segment (the OldSeg toolbox in SPM12) is intended to deal with
three tissue classes (and an implicit background), whereas the default
SPM12 segmentation usually needs a few more tissue classes to work well.  I
think I'd need more details (eg a batch job) to say more.



> After the preprocessing (above mentioned 1-5 steps), I did one-sample
> t-test to check the grey matter volume changes. The T-map showed
> significant results in many regions after FWE correction. It was weird to
> me, because the intra-subject difference is actually small (Jacobian
> difference). Is it normal or is there something wrong? Could you please
> give me some suggestion?
>

Jacobian differences can be small, but if the square root of the variance
estimated from the residuals is also small, then the t statistics can be
quite large.  Jacobian differences in the brain tend to look small compared
to the differences in the scalp, which gets squashed when subjects lie in
the scanner.  If you use Display or Check Reg, then you can set a range of
intensities over which to view the image (an intensity window).  This often
shows up the pattern of difference a bit more clearly.

Best regards,
-John



----- Original Message -----
From: "John Ashburner" <[log in to unmask]>
To: "SPM" <[log in to unmask]>
Sent: Thursday, July 28, 2016 6:32:16 PM
Subject: Re: [SPM] longitudinal VBM analysis in SPM12

If you want to do a purely longitudinal analysis, then you'll need two (or
more) scans per subject.  You'd need to leave out those subjects with only
a single scan.

The Longitudinal toolbox can be used (pairwise option) for aligning pairs
of T1w scans taken at different time points.  The on-line help in the batch
system may be useful for you here, so I'd suggest reading it.  You'll need
to generate a mid-point average, and a Jacobian difference image for each
subject.

What you do with the maps of volume change will depend on your hypothesis
about what sorts of differences you expect. If you want to look at any sort
of volume changes, then you'd need to spatially normalise the Jacobian
difference maps of each subject and do a statistical analysis of these.
Other sorts of volume change can be derived through segmenting the
mid-point average image.  If you want to look at GM volume changes, etc,
then you could multiply the GM map by the Jacobians (via ImCalc), and
spatially normalise (and smooth) the results for each subject.

Best regards,
-John



On 28 July 2016 at 17:10, Lara Foland-Ross <[log in to unmask]> wrote:

> Hello SPM experts,
>
> I would like to run a longitudinal VBM analysis in SPM 12 to model
> structural change between two timpoints, covarying for age, IQ and total
> brain volume. Some participants do not have both scans however.
>
> Can you please tell me whether such an analysis is possible in SPM12 (and
> if so, what statistical tool to use)?
>
> Many thanks in advance,
> Lara
>