Skip to main content

Collection of tools for painting super-resolution images

Project description

Documentation Status CI CI https://static.pepy.tech/personalized-badge/picassosr?period=total&units=international_system&left_color=black&right_color=brightgreen&left_text=Downloads 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.

Picasso 0.9.5

In this version, a new algorithm for molecular mapping (G5M) was introduced. Additionally, axial localization precision for astigmatic 3D imaging is now calculated and saved when using Picasso Localize. DOI will be added once available.

Picasso 0.9

In this version, localizations (and other .hdf5 files) are read using pandas.read_hdf rather than converting an h5py.File object to a numpy recarray. Thus, rather than numpy.recarray, localizations are now pandas.DataFrame objects. This change may cause backward compatibility issues if you are using Picasso as a package (downloaded from PyPI).

Changelog

To see all changes introduced across releases, see here.

Installation

Check out the Picasso release page to download and run the latest compiled one-click installer for Windows. Here you will also find the Nature Protocols legacy version.

For the platform-independent usage of Picasso (e.g., with Linux and Mac Os X), please follow the advanced installation instructions below.

Other installation modes (Python 3.10)

As an alternative to the stand-alone program for end-users, Picasso can be installed as a Python package. This is the preferred option to use Picasso’s internal routines in custom Python programs. Those can be imported by running, for example, from picasso import io (see the “Example usage” tab below) to use input/output functions from Picasso. For windows, it is still possible to use Picasso as an end-user by creating the respective shortcuts. This allows Picasso to be used on the same system by both programmers and end-users.

Via PyPI

  1. Open the console/terminal and create a new conda environment: conda create --name picasso python=3.10

  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.

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.10

  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 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.

Optional packages

Regardless of whether Picasso was installed via PyPI or by cloning the GitHub repository, some packages may be additionally installed to allow extra functionality:

  • pip install pyinstaller if you plan to additionally compile your own installer with Pyinstaller.

  • (Windows only) pip install PyImarisWriter==0.7.0 to enable .ims files in Localize and Render. Note that PyImarisWriter has been tested only on Windows.

  • (Windows only) To enable GPU least-squares fitting in Localize, follow instructions on Gpufit to install the Gpufit python library in your conda environment. In practice, this means downloading the zipfile from the release page (non-cublas version, i.e., the lighter file) and installing the Python wheel (see instructions in the zipfile). Picasso Localize will automatically import the library if present and enables a checkbox for GPU fitting when selecting the LQ-Method.

Updating

If Picasso was installed from PyPI (not the developer version), run the following command:

pip install --upgrade picassosr

Creating shortcuts on Windows (optional)

Run the PowerShell script “createShortcuts.ps1” in the gui directory. This should be doable by right-clicking on the script and choosing “Run with PowerShell”. Alternatively, run the command powershell ./createShortcuts.ps1 in the command line. Use the generated shortcuts in the top level directory to start GUI components. Users can drag these shortcuts to their 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 calcualte 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 PR for it. You can find more guidelines for contributing here. We will gladly guide you through the codebase and credit you accordingly. Additionally, you can check out the Projects-page on GitHub. 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

If you use some of the functionalities provided by Picasso, 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

picassosr-0.9.6.tar.gz (3.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

picassosr-0.9.6-py3-none-any.whl (3.4 MB view details)

Uploaded Python 3

File details

Details for the file picassosr-0.9.6.tar.gz.

File metadata

  • Download URL: picassosr-0.9.6.tar.gz
  • Upload date:
  • Size: 3.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for picassosr-0.9.6.tar.gz
Algorithm Hash digest
SHA256 08183ee655fc6302b811a9dde23030eb7348905034c4b97fcc7ec340a0a66dc2
MD5 37d3a183a306bd5224266c9fbe0918a0
BLAKE2b-256 21644dfa3f0e83e5a0d97c6bb0cd488e2732c8da369445cd46726be6148efad1

See more details on using hashes here.

File details

Details for the file picassosr-0.9.6-py3-none-any.whl.

File metadata

  • Download URL: picassosr-0.9.6-py3-none-any.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for picassosr-0.9.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d7c685863b0d4edbdaf591bb0be260c93e31a9a54a9a205c715658f322c60487
MD5 6b1c71f037bce92481e9f0d8da6f45d4
BLAKE2b-256 8cf3162b12398f9bcc8c211f5e11bebc2e5af6a94d61631a7810dc621f035b91

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page