Git Product home page Git Product logo

shapeout's Introduction

Shape-Out

PyPI Version Build Status Linux Build Status Win Coverage Status Docs Status

Shape-Out is a graphical user interface for the analysis and visualization of RT-DC data sets. For more information please visit https://zellmechanik.com/.

Please consider migrating your analysis pipeline to Shape-Out 2. The differences between Shape-Out 1 and Shape-Out 2 are discussed in the Shape-Out 2 docs.

Documentation

The documentation is available at https://shapeout.readthedocs.io.

Installation

Installers for Shape-Out are available at the release page.

Citing Shape-Out

Please cite Shape-Out either in-line

(...) using the analysis software Shape-Out version X.X.X (available at
https://github.com/ZELLMECHANIK-DRESDEN/ShapeOut).

or in a bibliography

Paul Müller and others (2015), Shape-Out version X.X.X: Analysis software
for real-time deformability cytometry [Software]. Available at
https://github.com/ZELLMECHANIK-DRESDEN/ShapeOut.

and replace X.X.X with the version of Shape-Out that you used.

Development

Details on running Shape-Out from source, contributing, testing, and releasing new versions of Shape-Out can be found at https://github.com/ZELLMECHANIK-DRESDEN/ShapeOut/tree/develop/DEVELOP.rst.

shapeout's People

Contributors

chrherold avatar maikherbig avatar paulmueller avatar phidahl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

shapeout's Issues

Auto update

Is it possible to implement an auto-updater for the software? This would be useful for user without administration right on their university computers.

Can't read Video (Mac OS, but should also affect other platforms with recent opencv versions)

Installed all necessary libs on OS X with macports (wxpython-3.0)

ShapeOut works fine, but video files are not read.

Can be fixed by changing:
shapeout/gui/plot.py, line 290..292:

"
totframes = video.get(cv2.CAP_PROP_FRAME_COUNT)

video.set(cv2.CAP_PROP_POS_FRAMES, actual_sel-1)
"
The names of the constants changed from cv2.cv.CV_XXX to cv2.XXX in OpenCV 3.

By the way, to get ShapeOut running on OX X the following commands might help. Compilation takes some hours, but the libraries from macports run faster than those from anaconda. The problems with chaco and wx seem to be solved with the current version.

sudo port install python27 py27-ipython py27-scipy py27-matplotlib
sudo port install opencv +python27
sudo port install py27-wxpython-3.0 py27-statsmodels py27-kiwisolver py27-chaco py27-pip py27-simplejson py27-sip py27-macholib
sudo pip-2.7 install nptdms
sudo pip-2.7 install pyper

Then select python27 (macports) as standard python interpreter:

sudo port select --set python python27
sudo port select --set pip pip27

Write into ~/.bash_profile (Put in YOUR path to dclab)

!/bin/bash

export PYTHONPATH="${PYTHONPATH}:/Users/phi/git/dclab"

start ShapeOut with

pyhon shapeout/ShapeOut.py

This can be put into a .command file placed on the Desktop.

order of plots

Sorting and grouping of plots on the panel would be helpful. E.g. by drag and drop or some kind of numbering.

Performance

Analyse where the program spends time.
Could it be that the KDE is taking a lot of time for larger datasets? - > Find a more performant way for estimating the densities (e.g. histogram 20 x 20 bins)

When importing and analyzing larger datasets, the ShapeOut gets quite slow.

Error when plotting fluorescence data

I want to plot data from a tdms file with fluorescence data. (Can't upload here, but can mail it.)
If I select X: Cell size, Y: FL-3 (red) Maximum and click "Apply", I get the following error message.

(...)
File "C:(...)build\win_shapeout\out00-PYZ.pyz\shapeout.util", line 52, in float2string_nsf
ValueError: Format specifier missing precision.

Button to hide data point

If the image shows tracked dirt or something, it should be possible to hide and exclude (not delete) the data point for analysis.

Add update checker.

  • Checks for updates on startup and every couple of hours
  • Additional icon in the toolbar that pops up or gets enabled
  • Checks for availability for current platform (Win/Mac/32bi/64bit) using GitHub api?

Add filtering option in file dialog

When adding measurements, add the option to filter for folder names. Useful if one folder contains a lot of measurements. Not sure if this can be done from within Windows.

RTDC Acquisition software forgets to write "Region" tag

Some measurements (recorded with the LabView setup) cannot be loaded with ShapeOut, because the Region tag in the *_para.ini files is missing (Region = "" default value?). No error is displayed to the user, because the directory is searched recursively in a separate thread. On a command line, this error pops up:

Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
    self.run()
  File "shapeout/gui/gaugeframe.py", line 82, in run
    res=result.get(timeout=.1)
  File "/usr/lib/python2.7/multiprocessing/pool.py", line 558, in get
    raise self._value
KeyError: 'Region'

A workaround is setting the region manually in the .ini file.

@phidahl @Naven2812 @DerDeef
Could you please fix this mistake made by the acquisition software? I believe it would not make sense to address this issue in ShapeOut.

polygon filter does not reset

  1. I guess this is a bug? If I want to reset a polygon filter, nothing happens in the plot.
  2. Also removing the polygon doesnt change something.

Add Statistics tab

For each gated and plotted data set (e.g. with polygon filters), show statistical information:

  • mean
  • median
  • mode
  • std

... more @Naven2812 ?

Add checkbox to display results for local or global gating.

Add Analysis tab

  • add local per-plot gating (done in filter tab; commit 2c725e7)
  • compare point clouds of different plots with several different analysis methods
    • linear mixed models (#15)
    • box plots (needs matplotlib and can be done externally, connected to #22)
  • only display local gates when analysis/statistics tab is acive (too confusing)
  • add tabbing to the plotting panel for display of graphs from analysis results

Separate panel handling

  1. allow to use independent (polygon)-filters for each panel
  2. allow independent statistics for each panel (choosable percentiles, mean, nr of points)
  3. allow export of filtered data points in (two) column table for use in other plotting tools

64bit builds are not working

After installation of 0.43 Shape-Out crashes during start
deinstallation does not help
0.42 also does not work anymore
0.40 works

Frame Numbering in fRT-DC files different

in shapeout/plot.py line 292

video.set(cv2.CAP_PROP_POS_FRAMES, actual_sel-1)

The -1 has to be omitted for fRT-DC files, because frame numbering starts at 0. Is it possible to do this if there is any of the fluorescence channels detected in the tdms file?

Compare original and filtered data

It would help to be able to have an option which shows the original data (in faint grey or sth.) below the filtered data to see the impact of the filter settings.

Create Mac App

  • has to be packaged manually, because anaconda on mac does not like chaco
  • use miniconda as base image
  • find a tool that creates Mac app skeletons

Aspect Ratio

one more thing.

Currently the aspect ratio is defined as the ratio of the cell elongation perpendicular to the flow by the elongation parallel to the flow. Could you invert this, so it is handled the same way as in the measurement software. Since elongation in flow direction is usually the one that grows, it somehow leaves you with a better intuition on the numbers and a somewhat broader scale. Example: one could go from 2 to 2.5 instead of 0.5 to 0.4 if more elongated (2.5x instead of 2x) cells shall be included.

Linear Mixed Models

This functionality will require a working R distribution and the R package "lme4".
The user needs to be able to enter 2 numbers (or even letters!) for each checked experiment to define the states "Treatment" and "TimeUnit".
The purpose is to get a number for the effect of the treatment and if this effect is significant.

I wrote the python function "LinMixMod" which takes a Model function, a list of response vectors (could be Area, Deformation...), a list of Treatments and a list of TimeUnits. The output is:
-Estimate: the average value of cells that had Treatment 1
-Fixed Effect: Change of the estimate value due to the Treatment 2
-Std Error for the Estimate and the Fixed Effect
-p-Value

All Downsampling of data

Downsample data to a number of events given by user, e.g. all samples have the same number of data points

Lateral Position

Hi Paul,
the lateral position of the cells in the channel is currently connected to the position in flow direction. I think it would be best to change it to the position perpendicular to the flow. This way one can filter out those events that have not been properly centered. It would need a switch from channel "x" of the .tdms file to "y".

Thanks,
Christoph

export filtered data as .tsv

As mentioned in #13 point 3, allow to export the filtered data set as tab separated values so that they can be plotted with other programs.

@chrherold
How complex should the exported data look like? Should the user be allowed to select multiple columns for export?

Ubuntu 16.04: "Filtering" and "Statistics" freeze notebook controls

Easy to reproduce:

  • open ShapeOut
  • select a notebook tab other than "Filtering" and "Statistics"
  • load data into the session
  • select "Filtering" or "Statistics"

The notebook does not correctly draw its contents. Although the buttons etc. seem to exist (are just not visible).

In "Filtering", this bug is caused when the HT.HyperTreeList is added to the panel. As this seems to be a linux bug only, I will not attempt a fix for now.

different gates in one panel

It would be helpful if one can set different gates for different panels in one window for better comparison of data sets.

Incorporate new logo

I believe the splash screen should be without transparency, because the image is so sparse.

logo_zmd_rgb

Reset-Button in Analysis Tab

When hitting the reset-button in the analysis tab you get the error message:
...line 947, in GetDefaultConfiguration
KeyError: 'Analysis'

fRT-DC fluorescence analysis not working

Hi Paul,

we tried to analyse fRT-DC data with ShapeOut but as soon as we try to open the fluorescent parameter, ShapeOut starts working but gets stuck (though it doesn't display any error message). We would like to be able to load and dislay the fluorescence in a similar manner as deformation and size (especially with contour lines). Interestingly, there have been a few times when the analysis was working, but not consistently.

Many thanks in advance,
Maria & Ariane

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.