Skip to main content

Deep Finder

The code in this repository is described in this pre-print. This paper has now been published in Nature Methods.

News: (27/11/23) DeepFinder exists now as a Napari plugin

Contents

  • [System requirements](##System requirements)
  • [Installation guide](##Installation guide)
  • [Instructions for use](##Instructions for use)
  • Documentation
  • Google group

System requirements

Deep Finder has been implemented using Python 3 and is based on the Tensorflow package. It has been tested on Linux (Debian 10), and should also work on Mac OSX as well as Windows.

The algorithm needs an Nvidia GPU and CUDA to run at reasonable speed (in particular for training). The present code has been tested on Tesla K80 and M40 GPUs. For running on other GPUs, some parameter values (e.g. patch and batch sizes) may need to be changed to adapt to available memory.

Package dependencies

Deep Finder depends on following packages. The package versions for which our software has been tested are displayed in brackets:

tensorflow   (2.11.1)
lxml         (4.9.3)
mrcfile      (1.4.3)
scikit-learn (1.3.2)
scikit-image (0.22.0)
matplotlib   (3.8.1)
PyQt5        (5.15.10)
pyqtgraph    (0.13.3)
openpyxl     (3.1.2)
pycm         (4.0)

Installation guide

Before installation, you need a python environment on your machine. If this is not the case, we advise installing Miniconda.

(Optional) Before installation, we recommend first creating a virtual environment that will contain your DeepFinder installation:

conda create --name dfinder python=3.9
conda activate dfinder

Now, you can install DeepFinder with pip:

pip install cryoet-deepfinder

Also, in order for Keras to work with your Nvidia GPU, you need to install CUDA. Once these steps have been achieved, the user should be able to run DeepFinder.

Instructions for use

Using the scripts

Instructions for using Deep Finder are contained in folder examples/. The scripts contain comments on how the toolbox should be used. To run a script, first place yourself in its folder. For example, to run the target generation script:

cd examples/training/
python step1_generate_target.py

Using the GUI

The GUI (Graphical User Interface) should be more intuitive for those who are not used to work with script. Currently, 5 GUIs are available (tomogram annotation, target generation, training, segmentation, clustering) and allow the same functionalities as the scripts in example/. To run a GUI, first open a terminal. For example, to run the segmentation GUI:

segment

Training GUI

==Important information:== Except for the training, the using of the GUI is depreciated. We advise using the Napari plugin instead.

For more informations about how to use DeepFinder, please refer to the documentation.

Notes:

  • working examples are contained in examples/analyze/, where Deep Finder processes the test tomogram from the SHREC'19 challenge.
  • The script in examples/training/ will fail because the training data is not included in this Gitlab.
  • The evaluation script (examples/analyze/step3_launch_evaluation.py) is the one used in SHREC'19, which needs additional packages (pathlib and pycm, can be installed with pip). The performance of Deep Finder has been evaluated by an independent group, and the result of this evaluation has been published in Gubins & al., "SHREC'19 track: Classification in cryo-electron tomograms".

Metadata

Release files for cryoet-deepfinder 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cryoet-deepfinder 0.2.1
File Size Uploaded
cryoet_deepfinder-0.2.1.tar.gz 43.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cryoet-deepfinder 0.2.1
File Interpreter ABI Platform
cryoet_deepfinder-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 89.4 kB

Release files / cryoet_deepfinder-0.2.1.tar.gz

Download URL cryoet_deepfinder-0.2.1.tar.gz
Size 43.8 kB
Tags Source
SHA-256 checksum
How to use checksums
e23ed6a3f9cc2be183b9723b6b9a916ae89d92f635901929ff9ea4cc410bfaf0
BLAKE2b-256 checksum
How to use checksums
c6f9eb80edc69d76964299886c117ad6198525a0744f9b8dd4243233c52ad648
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.12.0

Release files / cryoet_deepfinder-0.2.1-py3-none-any.whl

Download URL cryoet_deepfinder-0.2.1-py3-none-any.whl
Size 45.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
df425a68e835e232ec539bde675b4a2b68c4ee5c5492fc61c119d0c4919bcf47
BLAKE2b-256 checksum
How to use checksums
c02f6bbc7fbe9d40a0dabbd7dc36f054e0bfb1974d12724fb212ff2cdd2f0316
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.12.0

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page