Git Product home page Git Product logo

picasso's Introduction

Picasso

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

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

In previous version, the rotation window (3D Render) showed an incorrect length of the scalebar. This has been fixed.

Picasso 0.6.0

RESI dialog added to Picasso Render, allowing for substantial boost in spatial resolution (Reinhardt, et al., Nature, 2023. DOI: 10.1038/s41586-023-05925-9).

Previous versions

To see all changes introduced in previous versions, click 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.

For Developers

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 from here.
Windows
  1. If you wish to create a local Picasso package to use it in other Python scripts (that includes your changes), run python setup.py install.
  2. You can now run any Picasso function directly from the console/terminal by running: picasso render, picasso localize, etc.
  3. Remember that in order to update changes in Picasso code, you need to repeat step 7.
Mac

Currently, Picasso does not support package creation on Mac OS. If you wish to run your modified Picasso code, simply go to your picasso directory and run python -m picasso render, python -m picasso localize, etc.

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.

To enable GPU fitting, follow instructions on Gpufit to install the Gpufit python library in your conda environment. In practice, this means downloading the zipfile and installing the Python wheel. 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, run the following command:

pip install --upgrade picassosr

If Picasso was cloned from the GitHub repository, use the following commands:

  1. Move to the picasso folder with the terminal, activate environment.
  2. Update with git: git pull.
  3. Update the environment: pip install --upgrade -r requirements.txt.
  4. (Windows only)Run installation python setup.py install.

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('Average bright time {:.2f} frames'.format(np.mean(linked_locs_dark.n)))
print('Average dark time {:.2f} frames'.format(np.mean(linked_locs_dark.dark)))

This codeblock loads data from testdata_locs and uses the postprocess functions programmatically.

Jupyter Notebooks

Check picasso/samples/ for Jupyter Notebooks that show how to interact with the Picasso codebase.

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. I 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 me via [email protected].

Contributions & Copyright

Contributors: Joerg Schnitzbauer, Maximilian Strauss, Rafal Kowalewski, Adrian Przybylski, Andrey Aristov, Hiroshi Sasaki, Alexander Auer, Johanna Rahm
Copyright (c) 2015-2019 Jungmann Lab, Max Planck Institute of Biochemistry
Copyright (c) 2020-2021 Maximilian Strauss
Copyright (c) 2022-2023 Rafal Kowalewski

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: https://doi.org/10.1038/nprot.2017.024

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 NounProject.com”

picasso's People

Contributors

straussmaximilian avatar joschnitzbauer avatar rafalkowalewski1 avatar susannereinhardt avatar dependabot-preview[bot] avatar pyup-bot avatar heerpa avatar johannarahm avatar aaristov avatar alexauer avatar dwoschee avatar philippsteen avatar adrianjp88 avatar ajasja avatar dependabot[bot] avatar steinjohannes avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.