Giter VIP home page Giter VIP logo

saenopy's Introduction

SAENOPY

DOC Coverage Status PyTest License: MIT

SAENOPY is a free open source 3D traction force microscopy software. Its material model is especially well suited for tissue-mimicking and typically highly non-linear biopolymer matrices such as collagen, fibrin, or Matrigel.

It features a python package to use in scripts and an extensive graphical user interface.

Check out our Documentation on how to install and use it.

Installation

Standalone

To use saenopy without a complicated installation you can use our standalone binaries to get started right away on Windows or Linux.

Windows https://github.com/rgerum/saenopy/releases/download/v1.0.5/saenopy.exe

Linux https://github.com/rgerum/saenopy/releases/download/v1.0.5/saenopy

Using Python

If you are experienced with python or even want to use our Python API, you need to install saenopy as a python package. Saenopy can be installed directly using pip:

``pip install saenopy``

Now you can start the user interface with:

``saenopy``

Or by executing the script “gui_master.py” in your python interpreter.

Getting started

To get started you can have a look at our collection of example datasets.

Preprint

If you want to cite saenopy you can reference our preprint.

Dynamic traction force measurements of migrating immune cells in 3D matrices David Böhringer, Mar Cóndor, Lars Bischof, Tina Czerwinski, Andreas Bauer, Caroline Voskens, Silvia Budday, Christoph Mark, Ben Fabry, Richard Gerum bioRxiv 2022.11.16.516758; doi: https://doi.org/10.1101/2022.11.16.516758

saenopy's People

Contributors

davidbhr avatar dependabot[bot] avatar rgerum avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

saenopy's Issues

Bug in getVectorFieldImage() in ExportRender2D

I think this produces wrong values for "start" and "end", resulting in only one z-slice being displayed, no matter which z_range:
z_range = [0, 5, 10, 1000][params["stack"]["z_proj"]]
start = np.clip(params["stack"]["z"] - z_range, 0, stack.shape[2])
end = np.clip(params["stack"]["z"] + z_range, 0, stack.shape[2])

Setting im = stack[:, :, :, 0:11] manually fixed the problem for my stack.

Read the docs footer and menu/hamburger is not clickable

On mobile devices or small windows the menu menu/hamburger is not clickable. Also the footer "v:latest" is not expandable.
This seems to be related to the "sphinx_rtd_theme":
readthedocs/readthedocs.org#4132
readthedocs/readthedocs.org#3925

However, when I build Readthedocs locally (with same versions of sphinx_rtd_theme), I do not encounter this problem.

Could it be related to the optional keyword here ?
sphinx-rtd-theme = { version = "^1.1.1", optional = true }
nbsphinx = { version = "^0.8.10", optional = true }
sphinx-gallery = {version = "^0.11.1", optional = true }

Center for cell contractility calculation

Think of an option / parameter to select the mode for calculating the cell center to be used for the total contractility, either based on deformation field (probably the interpolated field) or on the force field.

Then also for time lines, if a single center from a time step (first/last) should be used for all time steps (e.g. could be used for stationary spheroids) or continuously centers (default).

2D cell image below 3D plot

ToDo: Think of adding filtered cell image below the 3D plot for better orientation (optional: dialog to read in any image)

Progress bar

Copy progress bar or latest command lines in viewer, to also see in the viewer that there is some progress

Progress bar

Progress bar is sofar showing progress for each solver object, and starts over for each timestep. Would be nice to see the current timestep also (maybe overlaid or below). E.g. "Current Filename" t=2/20

Alpha Parameter in GUI

Change how the Alpha parameter is set in the GUI. Maybe we use a 10** [ Input ] or 1e [Input] field in the Viewer.

Maximum Projections

Add full maximumprojection option and think about using single button instead of several buttons. Also think of µm or z-slices

Colorbars

Add colorbar also to the pyTFM user interface for deformations and tractions (so far only in the saved plots).

Make colorbar in the ExportImage Dialog optional.

May add a option for reversing ("_r") each colormaps in the selection dialog.

pyTFM evaluation

  • Option for Erasing Drawn cell masks (or explain that ALT shortkey allows this)
  • Use contractility or strain energy as default parameter in the Evaluation menu, so that "normal" TFM with single cells does not start with a missing error dialog, since no stresses between cells can be calculated

pyTFM multiprocessing and File format

Analysis for single object seems to work. However, when reading in mutiple cells simultaniously, the alive / relaxed images are not
displayed correctly (Deformation direction and Analysis seems to be allright, only a visualization problem) and its not possible to change the windowsize for list elements except the first. There seems to be an error in handling mutiple task paralell. Console prints "Cannot queue arguments of type Qvector

Also the read-in Dialog only supports TIF files currently.

Video save option

Create Videos of 3D-Fields and projections for timelines. Also for the 3D rendering, as soon as we have this. In case of only 2 timepoints Gifs with the reference state could be an option.

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.