Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove freesurfer dependencies and add tests #29

Merged
merged 46 commits into from
Sep 4, 2024
Merged

Conversation

kdiers
Copy link
Collaborator

@kdiers kdiers commented Jul 25, 2024

This PR aims at removing the FreeSurfer dependencies from, and adding additional automated tests to the brainprint software.

  • For the creation of surfaces from voxel-based segmentations, we have replaced FreeSurfer's marching cube algorithm by scikit-image's marching cube algorithm. Similarly, other FreeSurfer binaries have been replaced by custom Python functions. As a result, a parallel FreeSurfer installation is no longer a requirement for running the brainprint software.

  • We have changed / removed the following composite structures from the brainprint shape descriptor due instable results in our evaluations of the proposed new version of the software: the left and right striatum (composite of caudate, putamen, and nucleus accumbens) and the left and right ventricles (composite of lateral, inferior lateral, 3rd ventricle, choroid plexus, and CSF) have been removed; the left and right cerebellum-white-matter and cerebellum-cortex have been merged into left and right cerebellum.

These changes are expected to BREAK COMPATIBILITY with earlier versions (0.4.0 and lower): specifically, numerical values for the brainprint shape descriptor that are obtained from the proposed new version are expected to differ from earlier versions when applied to the same data, but have been shown to remain highly correlated with earlier results in our evaluations.

Minor remaining TODOs:

  • The pytest workflow currently still needs to be run manually, and currently still installs the pre-release version of the lapy package directly from its repository. This should be changed once the new lapy is released and available on pypi.
  • The requirements in pyproject.toml may need to be adapted to reflect the desired lapy version.

@kdiers kdiers force-pushed the remove-freesurfer branch 2 times, most recently from e524818 to 2fa805c Compare August 30, 2024 14:55
Copy link

codecov bot commented Aug 30, 2024

Codecov Report

Attention: Patch coverage is 96.00000% with 1 line in your changes missing coverage. Please review.

Project coverage is 63.97%. Comparing base (90acfbb) to head (4b641e7).
Report is 47 commits behind head on main.

Files with missing lines Patch % Lines
brainprint/cli/help_text.py 0.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##             main      #29       +/-   ##
===========================================
+ Coverage   26.00%   63.97%   +37.97%     
===========================================
  Files           8        8               
  Lines         350      322       -28     
  Branches       43       39        -4     
===========================================
+ Hits           91      206      +115     
+ Misses        256       97      -159     
- Partials        3       19       +16     
Flag Coverage Δ
unittests 63.97% <96.00%> (+37.97%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@kdiers kdiers marked this pull request as ready for review August 30, 2024 17:23
@m-reuter m-reuter merged commit 4e8327b into main Sep 4, 2024
18 checks passed
@m-reuter m-reuter deleted the remove-freesurfer branch September 4, 2024 16:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants