No project description provided
Project description
Deep Learning for Higher Harmonic Generation Microscopy
Deep learning utilities for higher harmonic generation microscopy images.
This project is a deep learning application to classify various pediatric brain tumours from higher harmonic generation microscopy images.
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
About The Project
The project aims to do deep learning classification on higher harmonic generation (HHG) microscopy images of pediatric brain tumours.
Built With
Getting Started
This section includes instructions on setting up the project locally.
Prerequisites
Conda
For package management, it is advised to use a conda package manager. The author recommends Miniforge or Mambaforge.
vips
This project depends on dlup (automatically installed), which depends on vips. On Windows, vips needs to be installed locally. Download the latest libvips Windows binary and unzip somewhere.
OpenSlide
Vips comes with OpenSlide. It is not needed to install OpenSlide separately.
Installation
Run the following commands from a conda enabled shell (such as Miniforge Prompt, if Miniforge/Mambaforge is installed).
- Clone this repository and change directories
git clone https://github.com/siemdejong/dpat.git dpat && cd dpat
- Create a new conda environment and activate it.
conda create -n <env_name> conda activate <env_name>
- Install dependencies from
environment.yml
.conda env update -f environment.yml
- Make sure libvips is available, see Prerequisites.
- Change
PATHS.vips
inconfig.yml
to point tovips\bin
. - Install dpat in editable mode with
pip install -e .
- Verify installation
python -c "import dpat"
Usage
Converting images
To convert all images from directory INPUT_DIR, and output the images as TIFF in OUTPUT_DIR, run
dpat convert bulk -i INPUT_DIR -o OUTPUT_DIR -e tiff
Large images need to be trusted against decompression bomb DOS attack.
Use the --trust
flag.
To skip images that were already converted to the target extension, use --skip-existing
.
NOTE: If converting to tiff, the input images are assumed to contain the reference to the scanning program, which must be in {200slow, 300slow, 300fast}.
usage: dpat convert bulk [-h] --input-dir INPUT_DIR [--output-dir OUTPUT_DIR] --output-ext {tiff,tif} [--num-workers NUM_WORKERS] [--chunks CHUNKS] [--trust | --no-trust] [--skip-existing | --no-skip-existing]
optional arguments:
-h, --help show this help message and exit
--input-dir INPUT_DIR, -i INPUT_DIR
Input directory where to find the images to be converted.
--output-dir OUTPUT_DIR, -o OUTPUT_DIR
Output directory where place converted files.
--output-ext {tiff,tif}, -e {tiff,tif}
Extension to convert to.
--num-workers NUM_WORKERS
Number of workers that convert the images in parallel.
--chunks CHUNKS Number of chunks distributed to every worker.
--trust, --no-trust Trust the source of the images.
--skip-existing, --no-skip-existing
Skip existing output files.
Creating splits
To create train-val-test splits linking paths of images to splits with IMAGE_DIR, output the splits to OUTPUT_DIR, with labels PATH_TO_LABELS_FILE, and dataset name NAME run
dpat splits create -i IMAGE_DIR -o OUTPUT_DIR -l PATH_TO_LABELS_FILE -n NAME
To filter diagnoses that exactly match diseases, use e.g. -f medulloblastoma -f "pilocytic astrocytoma"
.
To filter filenames that match certain values, use a glob pattern.
E.g. -y *slow.tiff
to only include images ending with slow.tiff
.
To exclude filenames that match certaine values, use a glob pattern with -x
.
Exclusion is performed on the set specified by inclusion.
usage: dpat splits create [-h] --input-dir INPUT_DIR --output-dir OUTPUT_DIR --labels PATH_TO_LABELS_FILE --name DATASET_NAME [--filter FILTER_DIAGNOSIS] [--overwrite | --no-overwrite] [--include INCLUDE]
[--exclude EXCLUDE]
optional arguments:
-h, --help show this help message and exit
--input-dir INPUT_DIR, -i INPUT_DIR
Input directory where to find the images.
--output-dir OUTPUT_DIR, -o OUTPUT_DIR
Name of dataset.
--labels PATH_TO_LABELS_FILE, -l PATH_TO_LABELS_FILE
Path to labels file.
--name DATASET_NAME, -n DATASET_NAME
Name of dataset.
--filter FILTER_DIAGNOSIS, -f FILTER_DIAGNOSIS
Filter a diagnosis. For multiple diagnoses, use `-f 1 -f 2`.
--overwrite, --no-overwrite
Overwrite folds in output dir, if available.
--include INCLUDE, -y INCLUDE
Glob pattern to include files from `input-dir`
--exclude EXCLUDE, -x EXCLUDE
Glob pattern to exclude files from `input-dir`
Contributing
Contribute using the following steps.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
Distributed under the GNU General Public License v3.0. See LICENSE
for more information.
Contact
Siem de Jong - linkedin.com/in/siemdejong - siem.dejong@hotmail.nl
Project Link: https://github.com/siemdejong/dpat
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.