First of all many thanks for your inspiring posts!
Meanwhile I also figured out that there does not seem to be an easy
way to just import freesurfer’s surfaces as 2D matrices into matlab.
The function allowing surface import unfortunately only provides a
column of vertex values where adjacency information of neighbouring
vertices is not preserved.
Apart from that, you are right A-Rawi and surfaces generally are
defined as 3D shapes in freesurfer. Nevertheless, as there are also
ways to flatten these spherical surfaces to so called flat patches
which really constitute 2D meshes, I thought it might be worth working
with these.
However, I have to admit that I didn’t think too much about possible
interpolation noise arising from such a flattening process.
For that reason I really like your approach of masking the functional
volumes by a cortical surface mask as might for example be provided by
freesurfer’s mri_surf2vol function. However, by traveling through
such a masked volume using a sphere spotlight there still remains the
“danger” of sampling across neighbouring gyri (which contain voxels
distant from each other on the cortical surface).
A sort of compromise might be the solution I recently found suggested
by Soon et al.
As far as I understand they are using the inflated surface to define
their searchlight ROIs and project them back into the EPI volume
space. As the inflated surface isn’t flat they use a circular shaped
spotlight with a geodesic approximated radius (even though I haven’t
figured out how to realise that with freesurfer). That way I think one
cannot exclude interpolation errors arising from inflation (though
there are surely less than as for entire flattening) but at least can
avoid the aforementioned sampling of neighbouring gyri.
Looking forward to your comments / suggestions
Best wishes
Andreas
On Dec 17, 4:42 pm, MS Al-Rawi <rawi...@yahoo.com> wrote:
> Hello Andreas
>
> Nice idea .....but.... does freesurfer's matlab extension yields cortical surface represented as 2D plane shape(s), I dont know about tha!t. In fact, a surface is generally defined as a 3D volume (e.g., the spher's surface). Now, let's forget the complicated cortical surface fractal shape and assume that we want to transform the locations at the sphere's surface into a 2D plane. This requires the use of an interpolation algorithm which causes digitization error. Thus, if (hypothetically speaking) a 2D plane shape cortical surface do exist, it'll be contaminated with noise due to digitization errors and aliasing (see any ref. on sampling theory).
>
> This brings us back to the other choice which is a 3D cortical surface represented by its original coordinate system. This cortical surface could be used directly with MVPA by masking out voxels not belonging to the 3D cortical surface (i.e., reading a mask that represent the cortical surface). And since the 3D cortical surface has many zeor valued voxels we can speedup the computation of searchlight easily (please see my other contribution 'A faster ANOVA' ) and I myself gained a very fast searchlight implementation by making use of this logic as well as the one proposed by Raj (Suggested small change to searchlight code, produces very big speed-up).
>
> Going back to the original notion proposed by you which is using a 2D circular searchlight mask to define the neighbored voxels. I understand that what you want is to consider points that are neighbors at the cortical surface and you want to see what effect they might give. Sounds nice, however, if I am not mistaken, what I described above minimizes the chance of using a 2D plane shape cortical surface and what we really have is a 3D cortical surface, thus, we cannot implement a 2D circular searchlight.
>
> Is there a way around this? I think there is. To consider neighbored points at the surface we need to generate (in fact we can) adjacent points at the surface using adjacency rules, for that you need to go to the book (digital image processing by Gonzalez and Woods-http://www.imageprocessingplace.com/). You can also forget the surface adjacency and use the one (3D adjacency) that MVPA provides that will give close results to surface based adjacency when the radius is small.
>
> Regards
>
> Al-Rawi
> IEETA
> Portugal
i'd be happy to talk this over in more detail.
g
> errors and aliasing (see any ref. on sampling theory*).*
> <mailto:mvpa-t...@googlegroups.com>.
> To unsubscribe from this group, send email to
> mvpa-toolbox...@googlegroups.com
> <mailto:mvpa-toolbox%2Bunsu...@googlegroups.com>.
> For more options, visit this group at
> http://groups.google.com/group/mvpa-toolbox?hl=en.
>
>
>
> --
>
> You received this message because you are subscribed to the Google
> Groups "Princeton MVPA Toolbox for Matlab" group.
> To post to this group, send email to mvpa-t...@googlegroups.com.
> To unsubscribe from this group, send email to
> mvpa-toolbox...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/mvpa-toolbox?hl=en.