Skip to content

Releases: FlorianPfaff/PyRecEst

Release 2.0.0

04 May 16:21
d07b3ec

Choose a tag to compare

✨ Features

  • Introduce AdditiveNoiseTransitionModel and AdditiveNoiseMeasurementModel so nonlinear additive-noise dynamics and sensor models can be defined once and reused across compatible filters. (#1950)
  • Add SO(3) and SO(3)^K representation conversion support, including aliases and tangent-Gaussian and Dirac approximations for rotation distributions. (#1939)
  • Add reusable model adapters for grid filters so AbstractGridFilter can update from likelihood models and predict from transition-density models. (#1948)
  • Expand representation conversion aliases with domain-specific targets, custom alias registration, and a runnable conversion example for more distribution families. (#1964)
  • Add predict_model(...) and update_model(...) support to particle filters for reusable transition-sampling and likelihood model objects. (#1947)
  • Add predict_model(...) and update_model(...) support to UnscentedKalmanFilter for reusable additive-noise transition and measurement models. (#1944)
  • Add KalmanFilter.predict_model(...) and update_model(...) so linear Gaussian model objects can be passed directly to the filter. (#1945)
  • Add reusable likelihood, transition-sampling, and transition-density model objects in pyrecest.models for particle, grid, and related estimators. (#1949)
  • Add reusable linear Gaussian transition and measurement model classes in pyrecest.models with prediction and noise helper methods. (#1946)
  • Add string-based representation conversion aliases such as particles, gaussian, grid, and fourier, plus convert_to(...) convenience methods on distributions. (#1931)
  • Introduce a distribution representation-conversion layer with convert_distribution(...), conversion registration helpers, and method-form convert_to(...) access on distributions. (#1929)
  • Add proposal-based rejuvenation for goal-conditioned replay particle filters so particles can be pulled back onto high-likelihood position hypotheses after an update. (#1928)
  • Add GoalConditionedReplayParticleIMMFilter with per-particle motion modes for stationary, diffusion, momentum, goal-directed, and jump replay dynamics. (#1927)

⚡ Improvements

  • Make the representation conversion API available directly from pyrecest.distributions, including package-level exports for convert_distribution(...) and related helpers. (#1940)
  • Add pyrecest.protocols.testing helpers that make it easier to check whether custom distributions, filters, and models satisfy PyRecEst capability protocols. (#1953)
  • Add public model capability protocols and adapter helpers that let existing Kalman-style APIs accept structurally compatible model objects. (#1962)
  • Add a protocol capability matrix for representative distributions and filters, and ensure batched particle-model predictions keep the expected particle layout. (#1965)
  • Ship a py.typed marker so PyRecEst exposes its type information to external type checkers and typed downstream projects. (#1954)
  • Introduce the public pyrecest.protocols package with common array and dimension contracts plus filter capability protocols for extension code. (#1952)
  • Add backend-aware validation utilities for model vectors, matrices, covariances, and inferred state dimensions to make reusable model objects safer to construct. (#1942)
  • Speed up StateSpaceSubdivisionFilter linear updates and relaxed S3F covariance calculations with vectorized implementations. (#1926)

📚 Docs

  • Document how to extend pyrecest.protocols and add runnable custom distribution and custom filter examples. (#1963)
  • Add executable Kalman, Unscented Kalman, and particle filter examples that show how to use reusable model objects across filters. (#1943)

Release 1.1.2

29 Apr 10:52
81fac1a

Choose a tag to compare

What's Changed

Full Changelog: 1.1.1...1.1.2

Release 1.1.1

26 Apr 15:38
1c808e2

Choose a tag to compare

What's Changed

Full Changelog: 1.1.0...1.1.1

Release 1.1.0

25 Apr 08:44
f344bab

Choose a tag to compare

What's Changed

Full Changelog: 1.0.3...1.1.0

Release 1.0.3

24 Apr 07:48
beca106

Choose a tag to compare

What's Changed

Full Changelog: 1.0.2...1.0.3

Release 1.0.2

21 Apr 18:24

Choose a tag to compare

What's Changed

Read more

Release 1.0.1

26 Mar 15:30
fd3d0be

Choose a tag to compare

Merge pull request #1531 from FlorianPfaff/FlorianPfaff-patch-18

Bump version from 1.0.0 to 1.0.1

Release 1.0.0

07 Dec 04:06
97f7b5d

Choose a tag to compare

Merge pull request #1442 from FlorianPfaff/releasepy313

Use newer python in workflow for releases

Release 0.9.1

18 Nov 16:56
e68cc0f

Choose a tag to compare

Merge pull request #1335 from FlorianPfaff/v0.9.1

Upped version to 0.9.1

Release 0.9.0

08 Nov 18:02
48be9f3

Choose a tag to compare

Merge pull request #1301 from FlorianPfaff/v.0.9.0

Upped version number