Skip to content

Releases: cako/curvelets

v1.1

30 Dec 02:44
1e4e674

Choose a tag to compare

What's Changed

🎉 New Features

PyTorch UDCT API Refactor & MNIST Example

  • Simplified UDCT Construction - The PyTorch UDCT class now uses simplified construction via num_scales and wedges_per_direction parameters, with optional angular_wedges_config. Window overlap is now auto-computed, and parameter/window initialization has been refactored for better usability.
  • Tensor Migration Support - Added UDCT.apply_to_tensors and UDCTModule._apply methods, enabling proper tensor migration so .to(), .half(), .float(), and .double() methods now correctly propagate to internal windows and ratios.
  • New MNIST Classification Example - Added examples/plot_10_udct_mnist.py, a complete MNIST classifier using UDCTModule as a feature extractor. The example includes:
    • Training and test loss/accuracy curves
    • t-SNE visualization of curvelet features
    • Misclassification analysis with worst-case examples
    • Demonstrates how curvelet coefficients can replace traditional convolutional layers
  • Modernized Autograd Bridge - Updated _UDCTFunction to use setup_context for modern PyTorch compatibility and enabled functorch vmap compatibility for efficient batch processing.
  • Enhanced Type System - Introduced _from_sparse helper to densify windows, updated typing to include MUDCTCoefficients, and preserved monogenic placeholders (NotImplemented in torch).

Full details: #47 by @cako

📚 Documentation Improvements

Major Documentation Refresh

  • README Enhancements - Revamped README with:
    • Added example links for direction_resolution, curvelet_vs_wavelet, and udct_module_gradcheck
    • Clarified FAQs wording
    • Expanded "Related Projects" table with language/invertible columns
    • Added Curvelet.jl to related projects
  • Documentation Structure - Replaced docs entry with docs/curvelet_faqs.rst in docs/index.rst, updated FAQs content and citations, switched to docs/table.md and removed obsolete docs/table.csv
  • Sphinx Documentation - Exposed curvelets.torch.UDCTModule in Sphinx docs, added :no-index: directives, and added torchvision and scikit-learn to documentation requirements
  • Licensing & Copyright - Clarified Curvelab licensing notes, updated reference access year to 2026, and updated copyright year to 2026 in LICENSE and src/curvelets/__init__.py

Full details: #45 by @cako

Documentation Polish

  • Standardization - Standardized "MATLAB" capitalization across README.md, docs/index.rst, and docs/table.md, including the related projects table
  • Formatting - Minor wording and formatting tweaks to Credits sections

Full details: #46 by @cako

🧪 Testing & Configuration

  • New Test Coverage - Added numpy↔torch UDCT parity tests, struct/vect round-trip tests, and dtype-transfer tests for UDCTModule
  • Configuration Updates - Updated .gitignore to ignore data/ directory, added mypy ignores for torchvision.* and sklearn.* imports

🔧 Code Quality

  • Streamlined Examples - Cleaned up unnecessary comments and results sections in example files to improve readability
  • Type Safety - Enhanced type hints throughout the codebase for better IDE support and static analysis

Contributors

Full Changelog: v...v...

v1.0.3

29 Dec 09:37
22337dc

Choose a tag to compare

What's Changed

  • Remove conda badge and link by @cako in #44

Full Changelog: v1.0.1...v1.0.3

v1.0.2

29 Dec 09:17
3b49ea1

Choose a tag to compare

What's Changed

Full Changelog: v1.0.0...v1.0.2

v1.0.1

29 Dec 09:11
3b49ea1

Choose a tag to compare

What's Changed

Full Changelog: v1.0.0...v1.0.1

v1.0.0

29 Dec 09:05
8710653

Choose a tag to compare

What's Changed

Full Changelog: v0.2.0b1...v1.0.0

What's Changed

  • Feature/pytorch by @cako in #40
  • Update Read the Docs configuration and project metadata by @cako in #41
  • Fix/docs by @cako in #42

Full Changelog: v0.2.0b1...v1.0.0

v0.2.0b1

28 Dec 04:45
ee98a52

Choose a tag to compare

v0.2.0b1 Pre-release
Pre-release

What's Changed

Full Changelog: v0.1.0b4...v0.2.0b1

v0.1.0b4

27 Dec 01:43
b820ab6

Choose a tag to compare

v0.1.0b4 Pre-release
Pre-release

What's Changed

Full Changelog: v0.1.0b3...v0.1.0b4

v0.1.0b3

27 Dec 01:32
936c469

Choose a tag to compare

v0.1.0b3 Pre-release
Pre-release

What's Changed

  • Enhance documentation for version management in conf.py and .readthedocs.yaml by @cako in #36

Full Changelog: v0.1.0b2...v0.1.0b3

v0.1.0b2

27 Dec 01:23
3a14367

Choose a tag to compare

v0.1.0b2 Pre-release
Pre-release

What's Changed

  • Update documentation configuration and copyright year in conf.py by @cako in #35

Full Changelog: v0.1.0b1...v0.1.0b2

v0.1.0b1

27 Dec 00:47
3821f62

Choose a tag to compare

v0.1.0b1 Pre-release
Pre-release

v0.1.0b1 - First Beta Release

This is the first beta release of curvelets, an open-source implementation of the Uniform Discrete Curvelet Transform (UDCT) in Python.

Changes

  • N-dimensional UDCT: Full implementation for N-dimensional signals with exact invertibility
  • Simple API: Clean interface similar to FDCT from curvelops
  • Type Annotations: Comprehensive type hints throughout the codebase
  • Python 3.9+ Support: Compatible with Python 3.9, 3.10, 3.11, 3.12, 3.13, 3.14[t]
  • Documentation: Enhanced documentation with examples and API reference
  • Testing: Improved test coverage and validation
  • Code Quality: Enhanced error handling and type safety

Full Changelog: v0.0.6-alpha...v0.1.0b1