I want to create forward model in MNE software. But I have only
segmentation data (skull.mgz, skin. mgz, brain.ngz) got in FSL
software + EEG electrodes coordinates. Is it possible to do at all? If
yes, could anyone give me an advice how to do it or refer to some
tutorial where I could read about. I've read how to do it having 'raw'
data and using Freesurfer software + MNE. But in my case all I have
only are segmentation files and file with electrodes positions.
it's doable but it's far from trivial as it requires you to understand the
internal of the MNE anatomical pipeline (where MNE expects to find
the files etc.). I would seriously consider running freesurfer on my subject
and rely the automatic / standard pipeline. Freesurfer also gives you
all the segmentations including the cortical surface for sources' locations.
Thank you very much for your reply. I completely understand that it is
better to use Freesurfer first. But I deal with neonatal data. And
Freesurfer, unfortunately, fails to analyse such kind of data (when I
tried it even did not create all folders and files, those i could edit
manually). As far as I got from literature, people (almost) always do
segmentation of neonatal data manually and then launch Freesurfer. But
it takes a lot of time to do and is not trivial task. But I have
already segmentation files done in FSL. So, my idea was somehow to use
them in MNE to get forward model. What would you recommend? What do
you think the most optimal way to act in my case?
Regards,
Anton
??? "Alexandre Gramfort" <gramfort at nmr.mgh.harvard.edu>:
The only thing I can think of would be to use mne_volume_source_space.
You would still need to generate a couple of surfaces for your BEM, but
this should not be very difficult. If you need more advice about that,
please let me know.
The easiest thing to do would be to play around with the FreeSurfer
command mri_watershed
use -surf
For each volume you give it the created outer skin surface will be the
outermost surface you can use for your bem. Use it serially, re-naming
the files for use in your BEM. If this is. You may have to play a while
to get it to work. I suspect you will need to apply the mask to your
original volume, as it expects non-binary data.
I am trying to create surfaces for BEM. I have done next steps:
1. I have raw MRI images (DICOM). I did segmentation of inner/outer
skull and outer skin manually. After this, I changed the original MRI
images to segmented volumes (to keep all DICOM headers). In other
words, I got MRI images, where instead of original MRI I put inner
skull segmentation (also I have saved files like that to outer skull
and outer skin). Each value of the segmented volume were set to 110.
2. I used mri_convert to get from 3 sets of images in DICOM format,
those contain segmentations, volumes in .mgz format. So I got
inner_skull.mgz, outer_skull.mgz and outer_skin.mgz. I put these files
to the folder: .../freesurfer/subjects/subject/mri/orig
Now I am trying to get surfaces with a help of the command
'mri_watershed -surf'. I am using it like this: mri_watershed -surf
inner_skull.mgz inner_skull_surf... But the program fails to create
surfaces. What I am doing wrong on this stage? Could anyone give an
advise?
Well mri_watershed is not designed to deal with segmented data. You need
to trick it.
tokariev at mappi.helsinki.fi wrote:
Hello,
I am trying to create surfaces for BEM. I have done next steps:
1. I have raw MRI images (DICOM). I did segmentation of inner/outer
skull and outer skin manually. After this, I changed the original MRI
images to segmented volumes (to keep all DICOM headers). In other words,
I got MRI images, where instead of original MRI I put inner skull
segmentation (also I have saved files like that to outer skull and outer
skin). Each value of the segmented volume were set to 110.
2. I used mri_convert to get from 3 sets of images in DICOM format,
those contain segmentations, volumes in .mgz format. So I got
inner_skull.mgz, outer_skull.mgz and outer_skin.mgz. I put these files
to the folder: .../freesurfer/subjects/subject/mri/orig
Are these binarized masks? Are they masked at all?
Regardless, you need to put a raw MRI volume saved as 001.mgz in
/subjects/subject/mri/orig/001.mgz and run autorecon1 (check freesurfer
wiki for details).
Now I am trying to get surfaces with a help of the command
'mri_watershed -surf'. I am using it like this: mri_watershed -surf
inner_skull.mgz inner_skull_surf... But the program fails to create
surfaces. What I am doing wrong on this stage? Could anyone give an advise?
First run the above, and let me know what the files are then we can look
into the subsequent steps (this is a non-standard hack I developed), so
it will take some time to work through.
Yes, they are binary masks. But I set '1' values to suitable for
Freesurfer data (to 110). As far as I know Freesurfer does not work
with binary data. 'Skin mask' is a contour of skin: on the black
background is a 1 pixel width countour that repeats skin countour
(each pixel = 110). 'Skull mask' has the same principle but with other
width.
Re -autorecon1:
I have done like you wrote. I used 'skin' volume for test. I got in
folder 'mri' next files:
error.log
mri_nu_correct.mni.log
nu.mgz
orig
orig.mgz
rawavg.mgz
T1.mgz
transforms
Folder 'transforms' contains files:
bak
talairach.auto.xfm
talairach_avi.log
talairach_avi_QA.log
talairach.xfm
talsrcimg_to_711-2C_as_mni_average_305_t4_vox2vox.txt
The first thing you could try is to use mne_watershed_bem now. If you
are happy with those results, you can stop there.
If not the next step would involve using the FreeSurfer MATLAB tools to
multiply your binary masks to the T1 volume and run mri_watershed step
by step on each shell. Unfortunately, this requires you to setup fake
FreeSurfer directories for each shell. Eventually, you will be able to
get there though.