Hi Lucia,
> 1. I've used your script that is available in the mailing list to
> transform the modulated images that result from the 'create warped' space
> in Dartel to MNI space. I'm writing up these results and I don't know how
> to describe this transformation. Is it an affine transformation? As I
> understood, only the headres change but there was no resampling of the
> data.
That's correct. The "voxel to world" matrix in the header is multiplied by a
matrix obtained from affine registration of the DARTEL template to MNI space
(with a correction to the intensity scaling to account for the relative
expansion). If you have SPM8, there is an option to automatically generate
MNI-space warped images.
>
> 2. You recently said in the mailing list that there was a recent update to
> the dartel tools because a fix to the template generation. Could you let
> me know a bit more about what was wrong? Would it be critical for me to
> re-run the analysis?
I'm not sure how much difference it makes, and the fix is a bit hard to
explain. It relates to the generation of the average template, which is
really a MAP average, rather than a ML one. Spatial regularisation is used
during template generation, which introduces more smoothness into the
average. My mistake was that the order that the second derivatives of the
objective function were stored in was slightly mixed up in my C code. This
meant that convergence was not as fast as it should have been, so the
averages were not fully optimal.
I don't know if it would be critical or not. Arno Klein's evaluations showed
that it still performed well in two out of the four datasets, and this used
code with the bug in it.
DARTEL contains about 10,000 lines of C code, but I think I've now cleaned up
those bugs that make a difference to the results. I would be more than happy
if anyone points out (preferably with fixes) any others. Anyone wanting
details can look in the get_a function of optimN.c, where the differences
are:
{
int m, n;
int o = dm3;
for(m=0; m<dm3; m++)
{
a[m+dm3*m] = pa[m][i];
- for(n=0; n<m; n++,o++)
+ for(n=m+1; n<dm3; n++,o++)
a[n+dm3*m] = a[m+dm3*n] = pa[o][i];
}
}
Also, after the evaluations, I figured that I may not have used enough
regularisation for the warps. The reason for this conclusion is that for the
two datasets where DARTEL did well, much of the scoring was based on how well
GM was matched with GM. The datasets where DARTEL didn't do so well were
scored partly on how well the deformations interpolated into regions where no
matching information was present. Therefore, for the SPM8 version of DARTEL,
I chose to slightly increase the (user editable) default setting for the
amount of regularisation used in the final iteration. This will slightly
reduce the amount of GM overlap, but give smoother deformations.
Best regards,
-John
|