Skip to content

Commit 8272cef

Browse files
Update installation with optional dependencies
1 parent 909417b commit 8272cef

File tree

5 files changed

+18
-117
lines changed

5 files changed

+18
-117
lines changed

README.md

Lines changed: 0 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -3,68 +3,3 @@
33
![main workflow badge](https://github.com/ScalableImagingPipeline/dask-pipeline/actions/workflows/main.yml/badge.svg) [![Documentation Status](https://readthedocs.org/projects/scalable-cytometry-image-processing/badge/?version=latest)](https://scalable-cytometry-image-processing.readthedocs.io/en/latest/?badge=latest) [![codecov](https://codecov.io/gh/ScalableCytometryImageProcessing/SCIP/branch/master/graph/badge.svg?token=6RYKJ8CLU0)](https://codecov.io/gh/ScalableCytometryImageProcessing/SCIP)
44

55
Check the docs for installation and usage instructions.
6-
7-
## Installation
8-
9-
We recommend using [mamba](https://github.com/mamba-org/mamba) and pip to install SCIP.
10-
11-
1. Create a new python environment:
12-
- Python 3.8: `mamba create -n scip python=3.8`
13-
- Python 3.9: `mamba create -n scip python=3.9`
14-
1. Activate environment: `conda activate scip`
15-
1. Install mpi4py: `mamba install -c conda-forge mpi4py`
16-
1. Install SCIP: `pip install .` or `pip install -e .` for development
17-
1. (Optional) Install development dependencies: `pip install -r requirements.txt`
18-
19-
## Usage
20-
21-
SCIP is called from the command line using the `scip` command. The help output is shown below.
22-
23-
```
24-
Usage: scip [OPTIONS] OUTPUT CONFIG [PATHS]...
25-
26-
Intro documentation
27-
28-
Options:
29-
-d, --port INTEGER dask dashboard port
30-
--debug sets logging level to debug
31-
--mode [local|jobqueue|mpi] In which mode to run Dask
32-
-j, --n-workers INTEGER Number of workers in the LocalCluster or per
33-
node
34-
-n, --n-nodes INTEGER Number of nodes started
35-
-c, --n-cores INTEGER RANGE Number of cores available per node in the
36-
cluster [x>=1]
37-
-t, --n-threads INTEGER RANGE Number of threads per worker process [x>=1]
38-
-m, --memory INTEGER RANGE Amount of memory available per node in the
39-
cluster [x>=1]
40-
-w, --walltime TEXT Expected required walltime for the job to
41-
finish
42-
-p, --project TEXT Project name for HPC cluster
43-
-e, --job-extra TEXT Extra arguments for job submission
44-
--headless If set, the program will never ask for user
45-
input
46-
-s, --partition-size INTEGER RANGE
47-
Set partition size [x>=1]
48-
--limit INTEGER Limit the number of events to load from each
49-
file or directory
50-
--timing FILE
51-
--report / --no-report
52-
--reach-limit If set the dataset will be repeated until
53-
the limit is reached.
54-
--gpu INTEGER RANGE Specify the amount of available GPUs [x>=0]
55-
-l, --local-directory DIRECTORY
56-
-V, --version Display version information
57-
--help Show this message and exit.
58-
59-
```
60-
61-
### mode
62-
63-
SCIP can run in three different modes: local, mpi or jobqueue.
64-
- In local mode, SCIP spins up a Dask `LocalCluster`. This mode can be used for execution on a laptop or desktop, for example.
65-
- In mpi mode, Dask workers and the scheduler are setup using the `dask-mpi` package. This is the ideal mode for use on high performance clusters. Note that for this mode SCIP should be run using `mpirun` or `mpiexec`.
66-
- Finally, in jobqueue mode, a PBSCluster is set up using the `dask-jobqueue` package. This mode can also be used for execution on a high performance cluster if MPI is not available, for instance.
67-
68-
### OUTPUT, CONFIG and PATHS
69-
70-
`OUTPUT` should be passed as a path to a directory where SCIP can write its output. `CONFIG` should be passed as the path to a YAML-file containing the configuration for the execution of SCIP. The files [scip_czi.yml](scip_czi.yml), [scip_multi_tiff.yml](scip_multi_tiff.yml) and [scip_tiff.yml](scip_tiff.yml) contain example configurations. `PATHS` should point to one or more images or paths containing images.

README.md.template

Lines changed: 0 additions & 36 deletions
This file was deleted.

docs/source/index.rst

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,21 @@ SCIP: Scalable Cytometry Image Processing
44
Installation
55
------------
66

7-
SCIP requires an MPI implementation to be present on the path. If no implementation is present,
8-
mpi4py can be installed in a conda environment.
7+
SCIP can be installed in three ways:
8+
- with default functionality,
9+
- with additional MPI support for running SCIP in MPI mode,
10+
- and with additional CZI support for loading CZI files.
911

10-
We recommend using `mamba <https://github.com/mamba-org/mamba>`_ as a drop-in replacement for conda.
12+
To install SCIP:
1113

12-
1. Create a new python environment: ``mamba create -n scip python=3.{8,9}`` (choose a version)
13-
2. Activate environment: ``conda activate scip``
14-
3. (Optional) Install mpi4py: ``mamba install -c conda-forge mpi4py``
15-
4. Download SCIP from Github
16-
5. Install SCIP: ``pip install .`` or ``pip install -e .`` for development
17-
6. (Optional) Install development dependencies: ``pip install -r requirements.txt``
14+
1. Download the latest release from Github, or clone the repository.
15+
2. Enter the repository directory.
16+
3. Run ``pip install .`` if you only need default functionality. Run ``pip install .[czi]`` for CZI support, and ``pip install .[mpi]`` for MPI support.
17+
4. (Optional) Install development dependencies: ``pip install -r requirements.txt``.
18+
19+
MPI support requires an MPI implementation to be present on the path. Please refer
20+
to instructions for your operating system to install MPI. Another option is to install, mpi4py
21+
in a conda environment.
1822

1923
Usage
2024
-----

setup.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,19 @@
2323
'graphviz',
2424
'pyarrow',
2525
'umap-learn',
26-
'dask_mpi',
27-
'aicsimageio',
28-
'aicspylibczi',
29-
'mpi4py',
3026
'bokeh',
3127
'zarr',
32-
'fastparquet',
33-
'cellpose'
28+
'fastparquet'
3429
],
3530
entry_points={
3631
'console_scripts': [
3732
'scip=scip.main:cli'
3833
]
3934
},
35+
extras_require={
36+
"mpi": ['dask_mpi', 'mpi4py'],
37+
"czi": ['cellpose', 'aicsimageio', 'aicspylibczi']
38+
},
4039
python_requires=">=3.8",
4140
package_data={
4241
'scip': ['utils/logging.yml']

test/masking/test_bounding_box.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
from scip.loading import multiframe_tiff
1919
from scip.masking import threshold, util
20-
from functools import partial
2120

2221

2322
def test_bounding_box(images_folder, cluster):

0 commit comments

Comments
 (0)