Skip to content

Release v0.2.0 — aligned_lambdas (#94) + version bump + changelog - #161

Merged
zihuaihuai merged 1 commit into
masterfrom
fix-94-aligned-lambdas-and-release
May 4, 2026
Merged

zihuaihuai merged 1 commit into
masterfrom
fix-94-aligned-lambdas-and-release

Conversation

@zihuaihuai

Copy link
Copy Markdown
Collaborator

Final release PR. Closes #94 with a real API and bumps the version.

What's new in this PR

Resolves #94

The MATLAB sqrt(N) cap mentioned in #94 was already fixed in #142. This PR adds the second piece — proxy lambdas for aligned gradients:

  • procrustes(..., return_transform=True) returns the rotation matrix.
  • procrustes_alignment(..., return_transforms=True) returns per-dataset rotations.
  • ProcrustesAlignment now exposes transforms_.
  • New helper aligned_lambdas(lambdas, transform) implements the largest-|transform[i,j]| heuristic suggested by @OualidBenkarim in the issue thread.
  • GradientMaps.aligned_lambdas_ is populated automatically when alignment='procrustes' is used.

Release v0.2.0

System recheck

  • 165 tests passing, 1 xfail, 0 xpass, 0 failures.
  • 76% line coverage (pytest --cov=brainspace).
    • Gradient/null-models/mesh: 80-99%.
    • Plotting: 55-60% (interactive Qt/VTK paths can't run in CI without a display).
  • python -m build produces a clean sdist + wheel.
  • Coverage report attached to CI via the workflow updates from Modernize CI workflows (#145) #155.

Test plan

  • Full suite green locally on Python 3.13.
  • Coverage = 76%.
  • Build artifacts produced cleanly (brainspace-0.2.0.tar.gz, brainspace-0.2.0-py3-none-any.whl).
  • Tag v0.2.0 after merge to trigger tagged_release.yml (publishes to PyPI).

Adds proxy-eigenvalue correspondence for Procrustes-aligned gradients,
the last unaddressed item from #94:

- procrustes() gains return_transform=True
- procrustes_alignment() gains return_transforms=True
- ProcrustesAlignment now exposes transforms_
- New helper aligned_lambdas(lambdas, transform) using the largest
  |transform[i,j]| heuristic suggested by @OualidBenkarim
- GradientMaps.aligned_lambdas_ exposes the per-dataset proxy lambdas

Bumps version to 0.2.0 and writes a detailed CHANGELOG entry covering
every change since 0.1.22 (issues, packaging, CI, docs, tests, MATLAB
fix). 165 tests passing, 76% line coverage.
@zihuaihuai
zihuaihuai merged commit 19d7786 into master May 4, 2026
16 checks passed
@zihuaihuai
zihuaihuai deleted the fix-94-aligned-lambdas-and-release branch May 4, 2026 17:40
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.

How can I obtain the lambda values corresponding to the aligned gradient map

1 participant