Hello,

You may prefer to write your own code for calculating the patch, but
I thought I would just mention that this functionality is implemented
in Caret (http://brainmap.wustl.edu/resources/caretnew.html). Caret
can read FreeSurfer surfaces. It will calculate the distance of all
nodes from a given seed node, along your chosen surface. Then it is easy
to select all nodes at or within a certain radius.

best,
Rutvik

On Wed, 9 Mar 2005, Daniel Goldenholz wrote:

> Hi Bruce
>
> Yes, I'm sorry I wasn't clear in my previous posting. I think that you and
> I are talking about the same thing...
>
> The surface distance along the sphere from my vertex point... let's call
> that arc length. So I want to have all freesurfer points which are less
> than or equal to an arc length of R. Lets now consider the boundary
> condition, where I am looking at only locations that are arc length R. Now
> I could calculate the euclidean distance from vertex to any point on the
> sphere which has exactly arc length R. It turns out that a
> circle is formed on the sphere surface. The euclidean distance that I
> measure is a constant value - M. Therefore, I could identify that boundary
> in another way. I could get the intersection of two spheres: 1 the
> original freesurfer sphere, and 2, a sphere with my vertex at the origin,
> and the radius M. Intersecting these two spheres gives me that same
> boundary. Indeed, if I take all the points from the freesurfer ?h.sphere
> which are inside the second sphere, then I should now have my patch.
>
> Whew. Now the question is this: if I do all that (which I believe is
> equivalent to Bruce's suggestion) then do I correctly generate a patch
> which:
> a. has a centroid at my vertex
> b. has an area given approximately by pi*R^2
> c. from a surface point of view, has radial symmetry
>     (meaning an ant could walk in any direction from the centroi
>      along the surface, and until he reaches distance R, he is
>      still inside the patch)
>
> ?
>
>
> Thanks
>
> Daniel
>
> On Tue, 8 Mar 2005, Bruce Fischl wrote:
>
> > Hi Daniel,
> >
> > don't use Euclidean distance. Use the length of the great circle connecting
> > each point to the central vertex on the ?h.sphere surface.
> >
> > Bruce
> >
> > On Tue, 8 Mar 2005, Daniel Goldenholz wrote:
> >
> >> Doug
> >>
> >> I was thinking of trying something like that.
> >> If I took all vertices which are a radius M or less from my centriod,
> >> aren't I basically done?
> >> (M is defined as the maximum euclidean distance between the centroid on
> >> the sphere and the ring of outer vertices. If my surface distance max is
> >> called R, I can use some geometry to figure out the relation between R and
> >> M)
> >>
> >> What tweaks would I need to do at the folded surface level?
> >>
> >> On Tue, 8 Mar 2005, Doug Greve wrote:
> >>
> >>>
> >>> You might try starting off with the ?h.sphere. It's easy to parameterize
> >>> these things on the sphere. The sphere, of course, has some metric
> >>> distortion, but if the patch is small, it might not be to bad. Once
> >>> you've identified the vertices in the patch (or maybe a slightly bigger
> >>> patch), then you can refine it in the folded space.
> >>>
> >>> doug
> >>>
> >>>
> >>> Daniel Goldenholz wrote:
> >>>>
> >>>> Hi. I have a graph theory question:
> >>>>
> >>>> I would like to make a definition of a particular patch of cortex,
> >>>> that
> >>>> has a centroid at position (x,y,z) and has a total area of A.
> >>>>
> >>>> I thought that this was going to be somewhat hard, but I soon learned
> >>>> that
> >>>> it is very hard.
> >>>>
> >>>> First, I found some code for the Dijkstra algorithm, which can quickly
> >>>> tell me what is the minimum number of jumps needed from one vertex to
> >>>> another. IF the freesurfer surface triangles were all of EXACTLY the
> >>>> same
> >>>> euclidean distances on each side, then this alone could solve my
> >>>> problem.
> >>>> I could simply take all vertices which have a jump distance less than
> >>>> some number.
> >>>>
> >>>> However, because the side lengths of the triangles in a freesurfer
> >>>> surface
> >>>> are NOT the same, I need to get more sophisticated.
> >>>>
> >>>> Ideally, what I would like is the following:
> >>>>         If I were an ant, walking along on the surface of the folded
> >>>> brain, I could walk from the centroid in any direction for a certain
> >>>> distance, and still be within my "patch."
> >>>>         Knowing that distance (radius), I could just use pi*r^2 and
> >>>> call
> >>>> that the area of the patch.
> >>>>
> >>>> But how do I find this idealized patch in real life?
> >>>>
> >>>> Thanks
> >>>> Daniel Goldenholz
> >>>> _______________________________________________
> >>>> Freesurfer mailing list
> >>>> Freesurfer@nmr.mgh.harvard.edu
> >>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
> >>>
> >>> --
> >>> Douglas N. Greve, Ph.D.
> >>> MGH-NMR Center
> >>> [EMAIL PROTECTED]
> >>> Phone Number: 617-724-2358
> >>> Fax: 617-726-7422
> >>>
> >>
> >>
> >
>
> --
> Daniel Goldenholz
> -----------------------------------------------------
> Cell: 617-935-9421      http://people.bu.edu/danielg/
> _______________________________________________
> Freesurfer mailing list
> Freesurfer@nmr.mgh.harvard.edu
> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
>
_______________________________________________
Freesurfer mailing list
Freesurfer@nmr.mgh.harvard.edu
https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer

Reply via email to