Dear Mark,
On Tue, 9 Nov 2010, Mark Jenkinson wrote:
> It would certainly be possible to do this processing outside of
> matlab, but I'm not exactly sure what your matlab functions
> do and am also not 100% sure of the interpretation of the
> Analyze fields (which is why we changed to nifti).
Yes, nifti is certainly better in the aspect of stereotaxic volumes.
Perhaps it would be an idea to convert the files on the web site to nifti
and in 91x109x91. I was not aware of the problem. Sorry.
> I downloaded one file (amygdala.hdr/img) and when I run fslhd
> I get the following fields:
> origin1 40
> origin2 57
> origin3 26
> which I assume are the ones you are referring to as
> the "centre voxel".
Yes, this is the center voxel, indexed from one, and it means that
the center of that center voxel (40, 57, 26) has stereotaxic coordinate
(0mm,0mm,0mm).
> Now as they come from SPM-Analyze, I am unsure whether this
> means that the nifti voxel coordinate (40,57,26) should be
> treated as the centre voxel, or whether I need to subtract 1
> from each value to account for SPM using MATLAB. Do you
> know whether the convention used here starts with a (0,0,0)
> coordinate or a (1,1,1) coordinate? That is, for origin3=26,
> does this mean that the centre voxel is on the 26th slice
> or the 27th? With the nifti conventions - start at (0,0,0) - it
> would be the 27th slice.
You shouldn't extract 1. The center voxel is on the 26th slice (indexed
from one). The x-dimention should be symmetric around the center plane:
Vamygdala = brede_read_analyze('amygdala-mni-sym.img')
Vamygdala.x([1 40 end])
ans =
-0.0780 0 0.0780
Here the x-coordinate goes from -78mm to 78mm with the 40th slice (indexed
from one) as the center voxel.
I am a bit puzzled about your remark about the nifti convention. Would
that be for Method 1, 2 or 3?
Below I have a small Matlab script that sets a blob centered at (0mm, 0mm,
0mm) writes out a SPM99-Analyze file and reads it in with SPM. SPM reports
the blob to be a (0mm, 0mm, 0mm). So it seems that at least my Brede
Toolbox and SPM(99) is in agreement. When I read the file with Ubuntu
FSLview 3.1.2 the program reports X=39, Y=56, Z=25 and (0mm,0mm,0mm). So
that must mean that FSLview reports voxel indices indexed from zero.
(There is still the infamous left/right issue)
% Volume with blob at (0mm,0mm,0mm)
V = brede_loc_loc2vol([0 0 0], 'template', 'spm99_default');
% Value in voxel at (0mm,0mm,0mm)
L = brede_vol_vol2loc(V);
maxWithBrede = L.value
% Write SPM99-Analyze
brede_write_analyze(V, 'filename', 'test');
% Origin voxel
brede_read_analyze('test', 'output', 'origin')
% Value at origin voxel
V2 = brede_read_analyze('test');
V2.volume(40,57,26)
% Read with SPM (not setting defaults.analyze.flip = 0)
v = spm_vol('test.img');
[Y,XYZ] = spm_read_vols(v);
[maxWithSpm,i] = max(Y(:));
% Stereotaxic coordinate
XYZ(:,i)
all the best
Finn
> If you can let me know this information then I can work out
> how to do the conversion easily with FSL tools.
>
> All the best,
> Mark
>
>
> On 9 Nov 2010, at 00:07, Finn Aarup Nielsen wrote:
>
>> Dear FSL'er,
>>
>>
>> I am the one who made the volumes in http://neuro.imm.dtu.dk/services/jerne/ninf/voi.html
>>
>> The volumes are constructed from the coordinates in the 'old' BrainMap database. These coordinates were (supposed to be) in the Talairach 1988 space. I converted them to MNI-space with Brett's transformation.
>>
>> The volumes are using the SPM-Analyze format, so that the center voxel is indicated in the header file with the specific SPM-field. There might be the left/right ambiguity problem, but since the volumes are symmetric in the left/right dimension that shouldn't matter.
>>
>> So what is needed is zeropadding to get you to the 91x109x91 template. If you have matlab installed you can download my Brede Toolbox from http://neuro.imm.dtu.dk/software/brede/ and run the following commands:
>>
>> !wget http://neuro.imm.dtu.dk/services/jerne/ninf/voi/frontal_eye_fields-mni-sym.hdr
>> !wget http://neuro.imm.dtu.dk/services/jerne/ninf/voi/frontal_eye_fields-mni-sym.img
>>
>> V = brede_read_analyze('frontal_eye_fields-mni-sym');
>> Vt = brede_loc_loc2vol([], 'template', 'spm99_template');
>> Vr = brede_vol_resample(V, 'targetvolume', Vt);
>> brede_write_analyze(Vr, 'filename', 'frontal_eye_fields-mni-sym-res')
>>
>> That should get you a new resampled/zeropadded version with the dimension 91x109x91 --- in this case from the 'frontal eye fields' volume. When I view files written with my toolbox in Ubuntu FSLview 3.1.2 the x-sign is switched. However, as written before the volumes are symmetric so it shouldn't matter. I do not know if there is a non-matlab way to do this step.
>>
>>
>> I hope this clarifies at least a bit.
>>
>> all the best
>> Finn
>>
>> ___________________________________________________________________
>>
>> Finn Aarup Nielsen, DTU Informatics, Denmark
>> Lundbeck Foundation Center for Integrated Molecular Brain Imaging
>> http://www.imm.dtu.dk/~fn/ http://nru.dk/staff/fnielsen/
>> ___________________________________________________________________
>>
>>
>>
>>> From: Mark Jenkinson <[log in to unmask]>
>>>
>>> Hi,
>>>
>>> I have corresponded about this a long time ago with someone but I do
>>> not believe that we ever found a general, satisfactory solution.
>>>
>>> If you could find out somehow (from the people who post the data?)
>>> how the voxel coordinates relate to MNI coordinates then we could work
>>> out a way to convert them. However, from my brief look at the website
>>> it seems like these are in Analyze format and hence they do not contain
>>> useful, unambiguous coordinate information like a NIfTI file would. So
>>> you definitely need to find out some more information first. Or, as you say,
>>> get your hands on a whole brain image in the same space.
>>>
>>> All the best,
>>> Mark
>>>
>>>
>>> On 8 Nov 2010, at 17:37, H van Steenbergen wrote:
>>>
>>>> Dear FSL-users,
>>>>
>>>> I would like to use anatomical masks from the Jerne database. See http://neuro.imm.dtu.dk/services/jerne/ninf/voi.html
>>>>
>>>> Although these images are in MNI 2x2x2 mm space, the dimensions are different (79x95x68) from the standard FSL MNI space (91x109x91) and cannot be overlaid in fslview. Unfortunately, the database does not provide a whole brain image which could have been used for registration to the FSL standard brain (the resulting transformation matrix could then be used for registration of other masks).
>>>>
>>>> Any idea how to use flirt to transform the mask image to FSL MNI space? I found out that other people had the same problem in the past, but the solution has never been published on this mailing list.
>>>>
>>>> Thanks in advance for your reply.
>>>>
>>>> Henk van Steenbergen
>>>> Leiden Institute for Brain and Cognition
>>>>
>>
>
|