Package: dpat
Deep Learning for Higher Harmonic Generation MicroscopyDeep 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 FeatureTable of ContentsAbout The ProjectBuilt WithGetting StartedPrerequisitesInstallationUsageContributingLicenseContactAcknowledgmentsAbout The ProjectThe project aims to do deep learning classification on higher harmonic generation (HHG) microscopy images of pediatric brain tumours.(back to top)Built With(back to top)Getting StartedThis section includes instructions on setting up the project locally.PrerequisitesCondaFor package management, it is advised to use a conda package manager.
The author recommendsMiniforgeorMambaforge.vipsThis project depends ondlup(automatically installed), which depends on vips.
On Windows, vips needs to be installed locally.
Download the latestlibvipsWindows binary and unzip somewhere.
On Linux/macOS, vips is included with the installation steps below.OpenSlideVips comes with OpenSlide.
It is not needed to install OpenSlide separately.CUDATo do deep learning on CUDA enabled accelerators, follow installation instructions onpytorch.org.
Runnvidia-smito see if CUDA is available.(back to top)InstallationRun the following commands from a conda enabled shell (such as Miniforge Prompt, if Miniforge/Mambaforge is installed).Clone this repository and change directoriesgit clone https://github.com/siemdejong/dpat.git dpat && cd dpatCreate a new conda environment and activate it.conda create -n <env_name>
conda activate <env_name>Install dependencies fromenvironment.yml.conda env update -f environment.ymlWindows only: if you use this library for use in scripts, make sure libvips is available, seePrerequisites#libvips.
If using this library in a script, make sure to properly install the package withimportdpatdpat.install_windows("path/to/vips/bin")If you use this library for deep learning and want to use CUDA-enabled Pytorch,
follow instructions onpytorch.org.
Make sure CUDA is available, seePrerequisites#CUDA.Install dpat in editable mode withpip install -e .Verify installationpython -c "import dpat"(back to top)UsageConverting imagesTo convert all images from directory INPUT_DIR, and output the images as TIFF in OUTPUT_DIR, rundpat convert batch -i INPUT_DIR -o OUTPUT_DIR -e tiffLarge images need to be trusted against decompression bomb DOS attack.
Use the--trustflag.
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 batch [OPTIONS]

Options:
  -i, --input-dir TEXT         Input directory where to find the images to be
                               converted.  [default: .]
  -o, --output-dir TEXT        Output directory where place converted files.
                               [default: ./converted]
  -e, --output-ext [tiff|tif]  Extension to convert to.  [required]
  -w, --num-workers INTEGER    Number of workers that convert the images in
                               parallel.  [default: 4]
  -c, --chunks INTEGER         Number of chunks distributed to every worker.
                               [default: 30]
  --trust                      Trust the source of the images.
  --skip-existing              Skip existing output files.
  --help                       Show this message and exit.Creating splitsTo 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 rundpat splits create -i IMAGE_DIR -o OUTPUT_DIR -l PATH_TO_LABELS_FILE -n NAMETo 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.tiffto only include images ending withslow.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 [OPTIONS]

Options:
  -i, --input-dir TEXT   Input directory where to find the images.  [required]
  -l, --labels TEXT      Path to labels file.  [required]
  -n, --name TEXT        Name of dataset.  [required]
  -o, --output-dir TEXT  Directory where to put the splits.  [default: splits]
  --overwrite            Overwrite folds in output dir, if available.
  -y, --include TEXT     Glob pattern to include files from `input-dir`
                         [default: *.*]
  -x, --exclude TEXT     Glob pattern to exclue files from `input-dir`,
                         included with `--include`
  -f, --filter TEXT      Filter a diagnosis. For multiple diagnoses, use `-f 1
                         -f 2`.
  --help                 Show this message and exit.LoggingWhen using the package as a library, if needed, logging can be turned off withlogging.getLogger('dpat').propagate=False(back to top)ContributingContribute using the following steps.Fork the ProjectCreate 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(back to top)LicenseDistributed under the GNU General Public License v3.0. SeeLICENSEfor more information.(back to top)ContactSiem de Jong -linkedin.com/in/siemdejong-siem.dejong@hotmail.nlProject Link:https://github.com/siemdejong/dpat(back to top)