Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Picasso

Documentation Status CI DOI Downloads Python versions PyPI version Changelog UML Render view

Collection of tools for painting super-resolution images. The Picasso software is complemented by our Nature Protocols publication.

A comprehensive documentation can be found here: Read the Docs.

To see all changes introduced across releases, see the changelog.

Picasso 0.11

This release substantially expands Picasso: Localize. Localization can now be performed with an experimentally measured PSF (cubic-spline model), jointly across several channels (e.g. biplane 3D), and with a pixel-dependent sCMOS noise model; rotated and spherical 2D Gaussian models were added as well. All GPU fitting was reimplemented in Numba CUDA, removing the dependency on Gpufit. Localize also reads a much wider range of data directly - .tif and OME-TIFF stacks (including movies split across several folders), MicroManager single-image acquisitions, Zeiss .czi and Leica .lif - so Picasso: ToRaw is no longer required and has been removed. Further additions include a temporal median filter for spot identification, affine calibrations for astigmatism and chromatic aberration correction, localization metadata embedded in the .hdf5 files, a revised plugin system with an online plugin browser, and various performance and usability improvements throughout Localize, Render and SPINNA. We encourage all users to acquaint themselves with the new features in the Localize documentation. See the changelog for the complete list.

Installation

Check out the Picasso release page to download and run the latest compiled one-click installer for Windows or MacOS (the latter is experimental and feedback is welcome). Here you will also find the Nature Protocols legacy version (v0.1.0).

For Windows, two one-click installers are provided: a default build and a CUDA build. Both render on the graphics card in Picasso: Render (via wgpu, any vendor). The CUDA build additionally bundles the CUDA runtime so that CUDA-accelerated (numba.cuda) code can run, for example localization fitting. It is larger and requires an NVIDIA (CUDA-capable) GPU; on machines without one, CUDA-only options are simply hidden. Choose the CUDA installer only if you have a compatible NVIDIA GPU and want to use the accelerated fitting tools. Picasso uses CUDA 12 in the one-click installer.

Python is also distributed as a PyPI package that is platform-independent (pip install picassosr) which grants not only GUI but also access to Picasso’s internal routines in custom Python programs. For more details, see the Via PyPI section below. For examples of how to use Picasso in Python scripts, see the section Example Usage below.

Via PyPI

  1. Open the console/terminal and create a new conda environment: conda create --name picasso python=3.14. Note you can use other Python versions as well.

  2. Activate the environment: conda activate picasso.

  3. Install Picasso package using: pip install picassosr.

  4. You can now run any Picasso function directly from the console/terminal by running: picasso render, picasso localize, etc, or import Picasso functions in your own Python scripts.

  5. To update Picasso (you should get a notification about available updates since v0.10.0) run pip install --upgrade picassosr.

  6. You can optionally install dependencies for .czi and .lif formats by passing pip install picassosr[czi] or pip install picassosr[lif].

  7. To enable GPU-accelerated (numba.cuda) code and GPU rendering, install the GPU dependencies with pip install picassosr[gpu]. This requires an NVIDIA (CUDA-capable) GPU. The gpu extra targets CUDA toolkit 12.x; for other toolkits use pip install picassosr[cuda11] or pip install picassosr[cuda13] instead. For GPU rendering only (any recent graphics card), use pip install picassosr[wgpu]. Without these extras, Picasso runs fine on the CPU and GPU-only options are hidden.

For Developers (local, editable installation)

If you wish to use your local version of Picasso with your own modifications:

  1. Open the console/terminal and create a new conda environment: conda create --name picasso python=3.14. Note you can use other Python versions as well.

  2. Activate the environment: conda activate picasso.

  3. Change to the directory of choice using cd.

  4. Clone this GitHub repository by running git clone https://github.com/jungmannlab/picasso. Alternatively, download the zip file and unzip it.

  5. Open the Picasso directory: cd picasso.

  6. You can modify Picasso code in this directory.

  7. To create a local Picasso package to use it in other Python scripts, run pip install -e ".[dev]". When you change the code in the picasso directory, the changes will be reflected in the package.

  8. You can install other extensions, such as ".[gpu]", etc. The whole list of optional dependencies can be found in pyproject.toml.

  9. You can now run any Picasso module directly from the console/terminal by running: picasso render, picasso localize, etc, or import Picasso functions in your own Python scripts.

  10. Optional, Windows only: to create shortcuts for the modules, run powershell -ExecutionPolicy Bypass -File picasso\gui\createShortcuts.ps1 from the repository with the environment activated. The shortcuts appear in the repository folder and can be dragged to the Desktop, Start Menu or Task Bar.

Example Usage

Besides using the GUI, you can use picasso like any other Python module. Consider the following example::

from picasso import io, postprocess

path = 'testdata_locs.hdf5'
locs, info = io.load_locs(path)

# Link localizations and calculate dark times
linked_locs = postprocess.link(picked_locs, info, r_max=0.05, max_dark_time=1)
linked_locs_dark = postprocess.compute_dark_times(linked_locs)

print(f"Average bright time {linked_locs_dark['n'].mean():.2f} frames")
print(f"Average dark time {linked_locs_dark['dark'].mean():.2f} frames")

For more examples, visit the sample notebooks.

Contributing

If you have a feature request or a bug report, please post it as an issue on the GitHub issue tracker. If you want to contribute, put a pull request (PR) for it. You can find more guidelines for contributing here. We will gladly guide you through the codebase and credit you accordingly. You can also contact us via picasso@jungmannlab.org.

Citing Picasso

If you use Picasso in your research, please cite our Nature Protocols publication describing the software.

J. Schnitzbauer*, M.T. Strauss*, T. Schlichthaerle, F. Schueder, R. Jungmann
Super-Resolution Microscopy with DNA-PAINT
Nature Protocols (2017). 12: 1198-1228 DOI: 10.1038/nprot.2017.024

Many of the functionalities provided by Picasso were published elsewhere, please also cite the respective publications:

Credits

  • Design icon based on “Hexagon by Creative Stalls” from the Noun Project

  • Simulate icon based on “Microchip by Futishia” from the Noun Project

  • Localize icon based on “Mountains” by MONTANA RUCOBO from the Noun Project

  • Filter icon based on “Funnel” by José Campos from the Noun Project

  • Render icon based on “Paint Palette” by Vectors Market from the Noun Project

  • Average icon based on “Layers” by Creative Stall from the Noun Project

  • Server icon based on “Database” by Nimal Raj from the Noun Project

  • SPINNA icon based on “Spinner” by Viktor Ostrovsky from the Noun Project

  • Toolbar and menu icons from Lucide (ISC license). License can be found here.

Metadata

Release files for picassosr 0.12.0a3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for picassosr 0.12.0a3
File Size Uploaded
picassosr-0.12.0a3.tar.gz 2.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for picassosr 0.12.0a3
File Interpreter ABI Platform
picassosr-0.12.0a3-py3-none-any.whl Python 3 none any Details

Total release size: 3.7 MB

Release files / picassosr-0.12.0a3.tar.gz

Download URL picassosr-0.12.0a3.tar.gz
Size 2.1 MB
Tags Source
SHA-256 checksum
How to use checksums
a5386d5924f46de3b052929faa4603ebc212e69a4351eaee5da9f976844fe43b
BLAKE2b-256 checksum
How to use checksums
eca564869422bd78ba1645af13e1f1ea9d10cfc72bfff16ed757e3ddb9019b19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / picassosr-0.12.0a3-py3-none-any.whl

Download URL picassosr-0.12.0a3-py3-none-any.whl
Size 1.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
21593c29569378fb2c909c7c37b1ca1f7116ac791a2fb6b90e7cc8038dc22984
BLAKE2b-256 checksum
How to use checksums
81267995dff715b3fafea420fb816a81f5d7b74fb628bea739deadec84881561
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.12.0a3 This release

2 release files

0.11.2

2 release files

0.11.0

2 release files

0.10.3

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.10

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.9

2 release files

0.6.8

2 release files

0.6.7

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.0

2 release files

0.4.9

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page