Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.6.3 #83

Open
wants to merge 36 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
6000966
start a new dev version
Henley13 Apr 25, 2022
e102ac2
update requirement pandas
Henley13 May 10, 2022
c422251
fix #77 by updating readme and doc for python version >3.6
Henley13 Sep 5, 2022
9da2041
update documentation to fix big-fish-examples#11
Henley13 Sep 5, 2022
eee0500
fix tensorflow import with python 3.9 by unpinning dependencies
Henley13 Sep 5, 2022
cb8b646
update citation
Henley13 Sep 5, 2022
ef86b65
close #76
Henley13 Jul 3, 2023
04fc249
Adapt cell extraction techniques for 3D masks
Henley13 Jul 4, 2023
6c29443
adapt bigfish.multistack.postprocess to 3D masks
Henley13 Jul 5, 2023
835c596
adapt bigfish.multistack.postprocess to 3D masks
Henley13 Jul 5, 2023
eb84465
adapt bigfish.multistack.postprocess to 3D masks
Henley13 Jul 5, 2023
b7655f6
adapt bigfish.multistack.postprocess to 3D masks
Henley13 Jul 5, 2023
c398ad3
add python 3.10 to be tested
Henley13 Jul 5, 2023
9e119b0
fix #82 import error with newer version of scikit-image
Henley13 Jul 6, 2023
cd0e70e
fix bug saving png, jpg and jpeg
Henley13 Jul 6, 2023
4fcc688
update readme (mail and url)
Henley13 Jul 6, 2023
1862ab5
add citation file
Henley13 Jul 6, 2023
15266f1
update citation
Henley13 Jul 6, 2023
77edd89
update readme
Henley13 Jul 6, 2023
3aa8397
update readme
Henley13 Jul 6, 2023
99cbc24
define workflow with github action to run tests
Henley13 Jul 6, 2023
ebf4c1a
fix os and python version compatibility in workflows
Henley13 Jul 6, 2023
16073b3
fix os and python version compatibility in workflows
Henley13 Jul 6, 2023
cdec0bf
fix os and python version compatibility in workflows
Henley13 Jul 6, 2023
ee8d4b6
remove travis file
Henley13 Jul 6, 2023
6d4d9bb
update CI badge
Henley13 Jul 7, 2023
0f830f2
reformart code with black
Henley13 Jul 7, 2023
3d8a992
Avoiding ruining git blame
Henley13 Jul 7, 2023
0865b86
config ruff as python linter
Henley13 Jul 7, 2023
ac9958e
config ruff as python linter
Henley13 Jul 7, 2023
bc75274
fix linter warnings
Henley13 Jul 7, 2023
88b8642
fix spelling mistakes
Henley13 Jul 7, 2023
2e6ba3d
add ruff badge
Henley13 Jul 7, 2023
7d1a7f0
misc
Henley13 Jul 7, 2023
37bd00f
implement a github workflow to build/upload package to Pypi
Henley13 Jul 10, 2023
bbdf52e
implement a github workflow to build/upload package to Pypi
Henley13 Jul 10, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Reformat code style with Black
0f830f2ddb23f21bd6e986f6b5c9ba05d6b0fa17
15 changes: 15 additions & 0 deletions .github/workflows/running_linter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# This workflow will run ruff to highlight syntactical and stylistic problems.

name: Running Ruff

on: [push]

jobs:

build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- uses: chartboost/ruff-action@v1
44 changes: 44 additions & 0 deletions .github/workflows/running_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# This workflow will run unit tests with pytest and upload reports to codecov.

name: Running test

on: [push]

jobs:

build:

runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: ["3.8", "3.9", "3.10"]
include:
- os: ubuntu-20.04
python-version: "3.6"
- os: ubuntu-20.04
python-version: "3.7"

steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements_dev.txt
- name: List dependencies
run: pip list
- name: Run tests and collect coverage
run: |
pytest --cov=./
- name: Upload coverage reports to Codecov
run: |
curl -Os https://uploader.codecov.io/latest/linux/codecov
chmod +x codecov
./codecov -t ${CODECOV_TOKEN}
50 changes: 50 additions & 0 deletions .github/workflows/upload_package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

# GitHub recommends pinning actions to a commit SHA.
# To get a newer version, you will need to update the SHA.
# You can also reference a tag or branch, but the action may change without warning.

name: Upload Python package

on:
release:
types: [published]

jobs:

build-n-publish:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build
- name: Build package
run: |
rm -r build/*
rm -r dist/*
python -m build

- name: Publish package to PyPI
uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
with:
user: arthur_imbert
password: ${{ secrets.PYPI_TOKEN_BIGFISH }}



- name: Publish package
uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
with:
user: arthur_imbert
password: ${{ secrets.PYPI_API_TOKEN }}
15 changes: 0 additions & 15 deletions .travis.yml

This file was deleted.

51 changes: 51 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Imbert"
given-names: "Arthur"
- family-names: "Ouyang"
given-names: "Wei"
- family-names: "Safieddine"
given-names: "Adham"
- family-names: "Coleno"
given-names: "Emeline"
- family-names: "Zimmer"
given-names: "Christophe"
- family-names: "Bertrand"
given-names: "Edouard"
- family-names: "Walter"
given-names: "Thomas"
- family-names: "Mueller"
given-names: "Florian"
title: "FISH-quant v2: a scalable and modular tool for smFISH image analysis"
doi: 10.1261/rna.079073.121
date-released: 2022-03
url: "https://github.com/fish-quant/big-fish"
preferred-citation:
type: article
authors:
- family-names: "Imbert"
given-names: "Arthur"
- family-names: "Ouyang"
given-names: "Wei"
- family-names: "Safieddine"
given-names: "Adham"
- family-names: "Coleno"
given-names: "Emeline"
- family-names: "Zimmer"
given-names: "Christophe"
- family-names: "Bertrand"
given-names: "Edouard"
- family-names: "Walter"
given-names: "Thomas"
- family-names: "Mueller"
given-names: "Florian"
doi: 10.1261/rna.079073.121
journal: "RNA"
month: 3
start: 786
end: 795
title: "FISH-quant v2: a scalable and modular tool for smFISH image analysis"
issue: 6
volume: 28
year: 2022
43 changes: 31 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
# Big-FISH

[![PyPI version](https://badge.fury.io/py/big-fish.svg)](https://badge.fury.io/py/big-fish)
[![Build Status](https://travis-ci.com/fish-quant/big-fish.svg?branch=master)](https://travis-ci.com/fish-quant/big-fish)
[![Running test](https://github.com/fish-quant/big-fish/actions/workflows/running_test.yml/badge.svg)](https://github.com/fish-quant/big-fish/actions/workflows/running_test.yml)
[![Documentation Status](https://readthedocs.org/projects/big-fish/badge/?version=stable)](https://big-fish.readthedocs.io/en/latest/?badge=stable)
[![codecov](https://codecov.io/gh/fish-quant/big-fish/branch/master/graph/badge.svg)](https://codecov.io/gh/fish-quant/big-fish)
[![License](https://img.shields.io/badge/license-BSD%203--Clause-green)](https://github.com/fish-quant/big-fish/blob/master/LICENSE)
[![Python version](https://img.shields.io/pypi/pyversions/big-fish.svg)](https://pypi.python.org/pypi/big-fish/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

**Big-FISH** is a python package for the analysis of smFISH images. It includes various methods to **analyze microscopy images**, such **spot detection** and **segmentation of cells and nuclei**. The package allows the user represent the extract properties of a cell as coordinates (see figure below). The ultimate goal is to simplify **large scale statistical analysis** and quantification.

Expand All @@ -28,19 +30,21 @@ Big-FISH requires Python 3.6 or newer. Additionally, it has the following depend
- mrc (>= 0.1.5)

For segmentation purpose, two additional dependencies can be requested:
- tensorflow (== 2.3.0)
- tensorflow-addons (== 0.12.1)
- tensorflow (>= 2.3.0)
- tensorflow-addons (>= 0.12.1)

### Virtual environment

To avoid dependency conflicts, we recommend the the use of a dedicated [virtual](https://docs.python.org/3.6/library/venv.html) or [conda](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) environment. In a terminal run the command:
To avoid dependency conflicts, we recommend the use of a dedicated [virtual](https://docs.python.org/3.6/library/venv.html) or [conda](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) environment. In a terminal run the command:

```bash
conda create -n bigfish_env python=3.6
conda create -n bigfish_env python=X.Y
source activate bigfish_env
```

We recommend two options to then install Big-FISH in your virtual environment.
With X.Y a valid Python version greater or equal than 3.6. Note that Big-FISH has been tested for Python 3.6, 3.7, 3.8, 3.9 and 3.10.

We then recommend two options to install Big-FISH in your virtual environment: from PyPi or GitHub.

#### Download the package from PyPi

Expand All @@ -50,9 +54,9 @@ Use the package manager [pip](https://pip.pypa.io/en/stable/) to install Big-FIS
pip install big-fish
```

#### Clone package from Github
#### Clone the package from GitHub

Clone the project's [Github repository](https://github.com/fish-quant/big-fish) and install it manually with the following commands:
Clone the project's [GitHub repository](https://github.com/fish-quant/big-fish) and install it manually with the following commands:

```bash
git clone [email protected]:fish-quant/big-fish.git
Expand All @@ -68,7 +72,7 @@ This package is part of the [FISH-Quant](https://fish-quant.github.io/) framewor

## Support

If you have any question relative to the repository, please open an [issue](https://github.com/fish-quant/big-fish/issues). You can also contact [Arthur Imbert](mailto:arthur.imbert@mines-paristech.fr) or [Florian Mueller](mailto:[email protected]).
If you have any question relative to the repository, please open an [issue](https://github.com/fish-quant/big-fish/issues). You can also contact [Arthur Imbert](mailto:arthur.imbert[email protected]) or [Florian Mueller](mailto:[email protected]).

## Roadmap (suggestion)

Expand All @@ -91,7 +95,7 @@ git checkout develop

### Contributing

[Pull requests](https://github.com/fish-quant/big-fish/pulls) are welcome. For major changes, please open an [issue](https://github.com/fish-quant/big-fish/issues) first to discuss what you would like to change.
[Pull requests](https://github.com/fish-quant/big-fish/pulls) on the `develop` branch are welcome. For major changes, please open an [issue](https://github.com/fish-quant/big-fish/issues) first to discuss what you would like to change.

### Testing

Expand All @@ -107,8 +111,23 @@ To perform unit tests, run :
pytest bigfish
```

## Citation
## Bibtex citation

If you exploit this package for your work, please cite:

> Arthur Imbert, Wei Ouyang, Adham Safieddine, Emeline Coleno, Christophe Zimmer, Edouard Bertrand, Thomas Walter, Florian Mueller. FISH-quant v2: a scalable and modular analysis tool for smFISH image analysis. bioRxiv (2021) https://doi.org/10.1101/2021.07.20.453024
```bibtex
@article{Imbert2022,
author = {Imbert, Arthur and Ouyang, Wei and Safieddine, Adham and
Coleno, Emeline and Zimmer, Christophe and
Bertrand, Edouard and Walter, Thomas and Mueller, Florian},
doi = {10.1261/rna.079073.121},
journal = {RNA},
month = mar,
number = {6},
pages = {786--795},
title = {{FISH-quant v2: a scalable and modular tool for smFISH image
analysis}},
volume = {28},
year = {2022}
}
```
2 changes: 1 addition & 1 deletion bigfish/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@
# MINOR: new features
# PATCH: backwards compatible bug fixes
# MAJOR.MINOR.PATCHdev means a version under development
__version__ = "0.6.2"
__version__ = "0.6.3dev"
6 changes: 3 additions & 3 deletions bigfish/classification/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@
from .features import features_centrosome


_input_preparation = [
"prepare_extracted_data"]
_input_preparation = ["prepare_extracted_data"]

_features = [
"compute_features",
Expand All @@ -34,6 +33,7 @@
"features_topography"
"features_foci"
"features_area"
"features_centrosome"]
"features_centrosome",
]

__all__ = _input_preparation + _features
Loading