Plenoptic

Latest version: v1.2.0

Safety actively analyzes 723217 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

1.2.0

- **Breaking changes to synthesis object load**: because of a breaking change in how torch 2.6 handles load (313), this release breaks backwards compatibility for synthesis objects' save/load methods (`Metamer`, `MADCompetition`, `Geodesic`, `Eigendistortion`). Previously, we would pickle some python callables, which is generally unsafe. Now, we cache some tensors to check behavior. Thus, if you save a synthesis object with `plenoptic<1.2` and try to load with `plenoptic>1.2`, we throw an exception. See 317 for more details, as well as the Examples section in the synthesis objects' `load()` docstrings.
- **Breaking changes to synthesis object init / synthesize**: optimized synthesis objects (`Metamer`, `MADCompetition`, `Geodesic`) now have an optional `setup()` method, which is used to initialize the synthesis image (e.g., the model metamer / the `metamer` attribute), optimizer, and scheduler objects. This shifts the initialization-related arg from `__init__` and the optimizer/scheduler-related ones from `synthesize`. Calling `setup()` is optional, but if you do: it should only be called once, between initialization and the first call to `synthesize`. See 325 for details, and the Examples section of the relevant objects' `setup()` docstrings for usage examples.
- `SteerablePyramidFreq` can now be initialized with `order=0` if it `is_complex=False` . See 305 for more details.
- Most of the remaining changes are quality-of-life: improving error/warning messages, improving docstrings.


What's Changed
* updates install instructions by billbrod in https://github.com/plenoptic-org/plenoptic/pull/294
* pip -> pipx install nbstripout by billbrod in https://github.com/plenoptic-org/plenoptic/pull/295
* Major Refactor: Add Ruff Linting, Nox, and Pre-Commit Hook by hmd101 in https://github.com/plenoptic-org/plenoptic/pull/266
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/plenoptic-org/plenoptic/pull/298
* Remove duplicate `exclude_patterns` by billbrod in https://github.com/plenoptic-org/plenoptic/pull/300
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/plenoptic-org/plenoptic/pull/301
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/plenoptic-org/plenoptic/pull/302
* Allows user to specify polar_angle direction by billbrod in https://github.com/plenoptic-org/plenoptic/pull/303
* Fix failing ruff check, adds check for steerpyr height by billbrod in https://github.com/plenoptic-org/plenoptic/pull/306
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/plenoptic-org/plenoptic/pull/304
* Jenkins docs by billbrod in https://github.com/plenoptic-org/plenoptic/pull/308
* Remove readthedocs by billbrod in https://github.com/plenoptic-org/plenoptic/pull/309
* adds git fetch --tags by billbrod in https://github.com/plenoptic-org/plenoptic/pull/310
* Updates save/load behavior for breaking change in torch 2.6 by billbrod in https://github.com/plenoptic-org/plenoptic/pull/317
* Update how dynamic version is set by billbrod in https://github.com/plenoptic-org/plenoptic/pull/314
* Document where nlpd parameters came from by billbrod in https://github.com/plenoptic-org/plenoptic/pull/312
* Updates steerable pyramid error message on shape mismatch by billbrod in https://github.com/plenoptic-org/plenoptic/pull/315
* updates CONTRIBUTING and noxfile by billbrod in https://github.com/plenoptic-org/plenoptic/pull/318
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/plenoptic-org/plenoptic/pull/307
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/plenoptic-org/plenoptic/pull/324
* Refactors initialization to use `setup()` by billbrod in https://github.com/plenoptic-org/plenoptic/pull/325
* Adds doctests action, metric doctests by BalzaniEdoardo in https://github.com/plenoptic-org/plenoptic/pull/319
* add docstrings to example images in data by sjvenditto in https://github.com/plenoptic-org/plenoptic/pull/322
* Updates to steerable pyramid by billbrod in https://github.com/plenoptic-org/plenoptic/pull/305
* Simulate filters by BalzaniEdoardo in https://github.com/plenoptic-org/plenoptic/pull/321
* More deprecations by billbrod in https://github.com/plenoptic-org/plenoptic/pull/327
* Fix deprecation warnings by billbrod in https://github.com/plenoptic-org/plenoptic/pull/328
* [pre-commit.ci] pre-commit autoupdate by pre-commit-ci in https://github.com/plenoptic-org/plenoptic/pull/329
* Small fixes to geodesic by billbrod in https://github.com/plenoptic-org/plenoptic/pull/330
* updates deploy action version by billbrod in https://github.com/plenoptic-org/plenoptic/pull/331
* Adds environment back to deploy by billbrod in https://github.com/plenoptic-org/plenoptic/pull/332

New Contributors
* pre-commit-ci made their first contribution in https://github.com/plenoptic-org/plenoptic/pull/298
* sjvenditto made their first contribution in https://github.com/plenoptic-org/plenoptic/pull/322

**Full Changelog**: https://github.com/plenoptic-org/plenoptic/compare/1.1.0...1.2.0

1.1.0

We are now starting the changes suggested in the pyOpenSci review.

A lot of the changes since the last release are bugfixes and documentation updates. The non-documentation, non-bugfix changes are:
- Images can now be accessed using the `plenoptic.data` module (e.g., `po.data.einstein()`), which means that the example notebooks can be downloaded and run directly!
- The Portilla-Simoncelli model has been refactored and made more efficient!
- We're now on conda and can be installed with `conda install plenoptic -c conda-forge` (no Windows support for conda, unfortunately).
- All FrontEnd models (e.g., `po.simul.LinearNonlinear`) now have a `pretrained` argument, which loads in the parameters used in [Alex Berardino's thesis](https://www.cns.nyu.edu/pub/lcv/berardino-phd.pdf).
- Deprecates a variety of functions and objects. Most importantly, `Geodesic` is deprecated and will be removed soon, because it needs more work to be as stable and robust as the other methods. Work will continue in the new [geodesics](https://github.com/plenoptic-org/geodesics) repo.
- The included models now use `register_buffers`, so that you can call e.g.,
python
ps = po.simul.PortillaSimoncelli((256, 256))
ps.cuda()

(in addition to `ps.to('cuda')`

What's Changed
* Add PortillaSimoncelliMinimal to tutorial get original paper's statistics by dherrera1911 in https://github.com/plenoptic-org/plenoptic/pull/216
* Adds info about pip minimum version by billbrod in https://github.com/plenoptic-org/plenoptic/pull/228
* Citation.cff by billbrod in https://github.com/plenoptic-org/plenoptic/pull/231
* Updates installation instructions and CONTRIBUTING by billbrod in https://github.com/plenoptic-org/plenoptic/pull/230
* Switch models to using register_buffers by billbrod in https://github.com/plenoptic-org/plenoptic/pull/232
* Citation update by billbrod in https://github.com/plenoptic-org/plenoptic/pull/249
* Fix failing urlchecker by using `nbstripout` by billbrod in https://github.com/plenoptic-org/plenoptic/pull/253
* Adds description of torch/pyrtools dependencies by billbrod in https://github.com/plenoptic-org/plenoptic/pull/248
* fix for test_stop_criterion by billbrod in https://github.com/plenoptic-org/plenoptic/pull/251
* Adds repo status badge by billbrod in https://github.com/plenoptic-org/plenoptic/pull/255
* Clarify what model means by billbrod in https://github.com/plenoptic-org/plenoptic/pull/250
* Small citation update by billbrod in https://github.com/plenoptic-org/plenoptic/pull/256
* Updates action versions, change how notebooks are tested by billbrod in https://github.com/plenoptic-org/plenoptic/pull/257
* Updates python versions and trove classifiers by billbrod in https://github.com/plenoptic-org/plenoptic/pull/254
* 235 include example data by BalzaniEdoardo in https://github.com/plenoptic-org/plenoptic/pull/252
* Refactor Portilla-Simoncelli model by billbrod in https://github.com/plenoptic-org/plenoptic/pull/225
* Update deploy by billbrod in https://github.com/plenoptic-org/plenoptic/pull/258
* Torch tensor replacements by hmd101 in https://github.com/plenoptic-org/plenoptic/pull/260
* Update Deprecated PyTorch Functions to torch.linalg Namespace by hmd101 in https://github.com/plenoptic-org/plenoptic/pull/261
* Fix Minor Typos in Documentation by hmd101 in https://github.com/plenoptic-org/plenoptic/pull/267
* small update to quickstart text by billbrod in https://github.com/plenoptic-org/plenoptic/pull/272
* Updates matplotlib config for animations by billbrod in https://github.com/plenoptic-org/plenoptic/pull/274
* Fix links in documentation index, updates CCN logo by billbrod in https://github.com/plenoptic-org/plenoptic/pull/275
* Dynamically Adjust Number of Columns in plot_representation Based on Number of Loss Plots by hmd101 in https://github.com/plenoptic-org/plenoptic/pull/276
* Adds conda install instructions by billbrod in https://github.com/plenoptic-org/plenoptic/pull/278
* adds Hanna to citation.cff by billbrod in https://github.com/plenoptic-org/plenoptic/pull/280
* Avoid unnecessary computation of magnitude variance in Portilla-Simoncelli model by billbrod in https://github.com/plenoptic-org/plenoptic/pull/281
* adds Edoardo to citation by billbrod in https://github.com/plenoptic-org/plenoptic/pull/282
* Updates github org name by billbrod in https://github.com/plenoptic-org/plenoptic/pull/285
* Fix jenkins by billbrod in https://github.com/plenoptic-org/plenoptic/pull/286
* Small restructure of how we use `importlib.resources` by billbrod in https://github.com/plenoptic-org/plenoptic/pull/289
* Make `penalize_range` more efficient by billbrod in https://github.com/plenoptic-org/plenoptic/pull/287
* Deprecations by billbrod in https://github.com/plenoptic-org/plenoptic/pull/288
* Specify docutils version by billbrod in https://github.com/plenoptic-org/plenoptic/pull/290
* Improvements to FrontEnd models by billbrod in https://github.com/plenoptic-org/plenoptic/pull/291
* Fix broken to method, test non-standard models/metrics, don't assume dtype by billbrod in https://github.com/plenoptic-org/plenoptic/pull/292
* Updates binder link to 1.1.0 by billbrod in https://github.com/plenoptic-org/plenoptic/pull/293

New Contributors
* dherrera1911 made their first contribution in https://github.com/plenoptic-org/plenoptic/pull/216
* BalzaniEdoardo made their first contribution in https://github.com/plenoptic-org/plenoptic/pull/252
* hmd101 made their first contribution in https://github.com/plenoptic-org/plenoptic/pull/260

**Full Changelog**: https://github.com/plenoptic-org/plenoptic/compare/1.0.2...1.1.0

1.0.2

This release includes some minor changes, largely packaging and documentation related.

What's Changed
* Switch to using pyproject.toml by billbrod in https://github.com/LabForComputationalVision/plenoptic/pull/215
* Update index.rst by eerosim in https://github.com/LabForComputationalVision/plenoptic/pull/212
* Adds citation guide, minor improvements to docs by billbrod in https://github.com/LabForComputationalVision/plenoptic/pull/219
* hotfix: remove use_line_collection by billbrod in https://github.com/LabForComputationalVision/plenoptic/pull/220
* Readthedocs hotfix by billbrod in https://github.com/LabForComputationalVision/plenoptic/pull/224
* Small documentation-related fixes by billbrod in https://github.com/LabForComputationalVision/plenoptic/pull/226

**Full Changelog**: https://github.com/LabForComputationalVision/plenoptic/compare/1.0.1...1.0.2

1.0.1

Previous release wasn't installable from pypi, because I forgot to include the requirements file. That's what I get for rushing. This fixes that with MANIFEST file.


**Full Changelog**: https://github.com/LabForComputationalVision/plenoptic/compare/1.0.0...1.0.1

1.0.0

For VSS 2023, first major release. We will still be working on improving the geodesic method, reproducing the results from the literature, and working on the documentation, but the basic way of interacting with the synthesis methods and models should be stable now.

**Full Changelog**: https://github.com/LabForComputationalVision/plenoptic/compare/v0.1-neurips...1.0.0

v0.1-neurips
Alpha release of the repository containing code used for Nikhil Parthasarathy NeurIPS 2020 submission: https://arxiv.org/abs/2006.16976

Links

Releases

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.