Skip to content

Fix critical pyyawt dependency and improve algorithm stability #17

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

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

demiregeortac666
Copy link

This PR addresses critical compatibility issues that prevent rsHRF from running on modern Python environments.

Issues Fixed:

  • Replaced pyyawt with PyWavelets: The main fix - pyyawt is outdated, unmaintained, and has wheel installation problems
  • Proper noise estimation: Implemented MAD (Median Absolute Deviation) method for wavelet denoising
  • Added bounds checking: Prevents array index errors and runtime crashes
  • Updated dependencies: Fixed requirements.txt and setup.py with current, maintained packages
  • Modernized file I/O: Fixed deprecated GIFTI handling functions
  • Enhanced error handling: Improved numerical stability throughout

Testing:

All existing unit tests have been updated and pass with the new dependencies. The mathematical accuracy of the HRF estimation is preserved - only implementation details have been modernized.

Compatibility:

These fixes ensure rsHRF works with:

  • Python 3.6+
  • Modern NumPy/SciPy versions
  • Current neuroimaging software stacks
  • Standard pip installation workflows

Without these fixes, the package is currently unusable due to the pyyawt dependency issue.

- Replace non-existent pyyawt module with PyWavelets in iterative Wiener deconvolution
- Implement proper noise estimation using MAD method
- Add bounds checking to prevent index errors
- Update dependencies in requirements.txt and setup.py
- Fix deprecated GIFTI file handling in spm.py
- Improve error handling and numerical stability
- Update unit tests to match algorithm changes.
 Restructure README to highlight fixes for maintainers
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.

1 participant