GSoC 2020 project idea 2: TVB: Upgrade and fix tvb-gdist C++ library

When TVB runs simulations on cortical surfaces, we need to be able and compute geodesic distances (distance on the surface) instead of the trivial Euclidean distances. For this calculus, we have a small C++ library, which had become outdated. We need to:

  • start with an analysis done by the student if the current implementation should be reused and fixed, or completely replaced, then
  • proceed with the fix/replacement as concluded at the previous step.
    • If we are to fix the current implementation, we need to fix the 6 issues reported on Github during this project, and also
    • make sure the library compiles correctly with the latest version of clang.
  • we need to have unit-test written for the main flows as well as for some common exceptions
  • the unit-tests should run automatically by integration in our CI Jenkins system
  • at the end of this project, also tvb-gdist packages on Pypi and conda-forge should be updated.

The current implementation is hosted here:

Expected Results: Completely redo and improve tvb-gdist C++ code, validate the Cython link, redo Pypi packages automatized build, and conda-forge package.

Skills: C++, Cython, Pypi, Conda

Mentors: Robert Vincze, Lia Domide

1 Like

Hi I’m Akhil, I’m interested in this project idea for GSoC 2020.

I’ll start looking into the code, is there any way to contact the mentors should I run into some issues?

Also are there any beginner issues that I could work on that would help me get acquainted with the code?

Hi @Jedi18,
Thanks for your interest. You can tag the mentors here @liadomide. We will share the email/other contact info of mentors soon. In the meantime, please start looking into the github links that are shared in the project idea. They will give you a good idea of the code base. Also, you will notice on following the repository contributors link that Lia is one of the contributors. The mentors can share more information regarding what are some good beginner level issues. Requesting Lia and Robert to please help guide you in the right direction here

Thanks,
Arnab

Hi, Currently we have no beginner issues to assign to you, but the code repo should be self explanatory, being relatively small.
Do not hesitate to contact us (ty tagging us in here) in case you have further questions.

@liadomide
Hello, Im Hriday, I really found this project interesting and want to contribute to this project this summer in GSOC 2020, Ive gone through the codebase. please guide me to the next step.
and can we redo the whole “geodesic_library” using some modern c++?

yes, you can use anything as long as you produce a Pypi compatible package for us to use from Python.
I think the next step is now to write the GSOC proposal document, on which we can comment and notify you when something is missing, if you share it the draft with us early enough.

Hi @liadomide,

I was wondering even if there is a .travis.yml file in the repo, travis is not enabled. It would be great if you could enable travis in the repo. I have some plans to improve the YAML file using modern travis syntax. I have made some PRs: https://github.com/the-virtual-brain/tvb-geodesic/pull/26 & https://github.com/the-virtual-brain/tvb-geodesic/pull/25, it would be great if you could review them.

Thanks!

Hi @ayanb,
All these are very good suggestions.
Indeed, we should bring up to date the Travis configuration on tvb-gdist.
I also looked at your PRs, and they are decent suggestions. I put some comments directly there, though.
Best, Lia.

Hi @liadomide,

I have made a PR https://github.com/the-virtual-brain/tvb-geodesic/pull/27 which aims to modernize the travis syntax and setup the testing configuration.

Thanks,
Ayan

1 Like

Hi @liadomide,

I was looking at the C++ library and found that some files are missing which are needed for successful compilation. I have added them and made a PR https://github.com/the-virtual-brain/tvb-geodesic/pull/28. Please take a look.

Meanwhile, I am writing the proposal and will soon share the draft via the GSoC platform.

Thanks,
Ayan

Hi @liadomide,

I have shared the Google doc (as a draft proposal) via the GSoC platform. Please have a look!

Thanks!

hi @ayanb,
i just read your document. i left small comments inside. overall it looks good already.
thanks!

1 Like

Hi @liadomide,

Thank you so much for the review! I will be sure to address them and update the proposal accordingly.

Thanks,
Ayan

1 Like

Hi @liadomide,

I have updated the proposal. In particular:

  • Included your suggestions
  • Updated the timeline according to the new GSoC timeline

Please have a look.

Thanks,
Ayan

Hi there.

Its too late but this project seems very interested and have some part that look alike what i have worked on GSoC2018 Is there a chance for me to apply for it this year.

Thanks.

Hi @liadomide,

I have submitted the proposal PDF in the GSoC platform to avoid the last minute rush. However, please feel to review, and I will make the amendments and submit the PDF once again.

Thanks!