Hello Tim

Thank you very much for taking the time of writing such a detailed explanation. It has been really useful.

Best wishes,

Stefan Pszczolkowski P. Ph.D.
Research Fellow

Radiological Sciences
Division of Clinical Neuroscience
Room B115-117, School of Medicine
University of Nottingham
Queen's Medical Centre, Derby Road
Nottingham
NG7 2UH
Tel: 44 (0) 115 748 4389
Website: https://stefanpsz.github.io/

On 13/06/2018 20:07, Timothy Coalson wrote:
The algorithm used is Dijkstra (A* is used for more specialized purposes of one vertex to one other specific vertex), but that is not the whole story.  To reduce the impact of the mesh triangulation on the result, we not only use edge-neighbors, we also take every pair of edge-connected triangles, and include another "neighbor" resulting from finding the shortest path between the far vertices in the two-triangle system (unless that path follows the edges, due to unusual angles).  This is the difference between the default and "naive" methods.  As such, it gives much more accurate distances, while still using simple Dijkstra code, and is basically the same speed as the naive version.

But, there is yet another wrinkle: when using group-average surfaces, there is much less folding definition, and therefore less surface area, and these make the distances between vertices artificially shorter than they are in the contributing subjects.  We have an approximate correction for this change to the distances, by comparing the vertex areas (one third of the area of each triangle using the vertex) of the group average surface, to the group average of the vertex areas of the individual surfaces.  This correction gets applied to all of the graph's edge lengths independently (including the 2-triangle-crawled extra "neighbors"), before Dijkstra or A* get run (and yes, I do tweak the A* euclidean distance heuristic by the minimum distance correction ratio, in case it anomalously said that an edge got shorter).  It is not clear how to do a similar correction to exact geodesic distance code, as exact geodesic distance methods seem like they must require explicit geometry in 3-space, while Dijkstra applies to arbitrary graphs with positive edge lengths, even if they violate the triangle inequality, giving us much more freedom to tweak things.

The original reason we didn't use an exact method is that an exact method is complicated and slower (the paper I previously looked at specifically started with Dijkstra to provide a heuristic to speed up the exact algorithm for the single destination case).

Tim


On Wed, Jun 13, 2018 at 10:11 AM, Stefan Pszczolkowski <[email protected] <mailto:[email protected]>> wrote:

    Hello

    I would like to ask what is the underlying method employed for
    computing
    geodesic distances in the -surface-geodesic-distance Workbench
    command.
    Is it simply a Dijkstra approximation? or something more
    sophisticated
    like the exact algorithm of [1]?

    I have had a quick look at the code and I found methods like
    "dijkstra"
    and "aStar", but I quickly realised that is probably better to ask
    here :)

    Thank you very much!

    [1] MITCHELL, J.S.B.,MOUNT, D.M., AND PAPADIMITRIOU, C. H. 1987. The
    discrete geodesic problem. SIAM J. of Computing 16(4), 647–668.

-- Stefan Pszczolkowski P. Ph.D.
    Research Fellow

    Radiological Sciences
    Division of Clinical Neuroscience
    Room B115-117, School of Medicine
    University of Nottingham
    Queen's Medical Centre, Derby Road
    Nottingham
    NG7 2UH
    Tel: 44 (0) 115 748 4389
    Website: https://stefanpsz.github.io/




    This message and any attachment are intended solely for the addressee
    and may contain confidential information. If you have received this
    message in error, please contact the sender and delete the email and
    attachment.

    Any views or opinions expressed by the author of this email do not
    necessarily reflect the views of the University of Nottingham. Email
    communications with the University of Nottingham may be monitored
    where permitted by law.




    _______________________________________________
    HCP-Users mailing list
    [email protected] <mailto:[email protected]>
    http://lists.humanconnectome.org/mailman/listinfo/hcp-users
    <http://lists.humanconnectome.org/mailman/listinfo/hcp-users>






This message and any attachment are intended solely for the addressee
and may contain confidential information. If you have received this
message in error, please contact the sender and delete the email and
attachment.
Any views or opinions expressed by the author of this email do not
necessarily reflect the views of the University of Nottingham. Email
communications with the University of Nottingham may be monitored where permitted by law.





_______________________________________________
HCP-Users mailing list
[email protected]
http://lists.humanconnectome.org/mailman/listinfo/hcp-users

Reply via email to