Skip to main content

procedures for wsi analysis

Project description

PathAIA

Simple digital pathology analysis tools.


Basic UsageAdvanced featuresDocsCommunityLicense

PyPI - Python Version PyPI Status PyPI Status codecov Documentation Status license


PathAIA aims to standardize and automate most of WSI analysis in digital pathology

If you feel like you keep rewriting the same code over and over again when working on Whole Slide Images and you wish there were a nicely integrated library to automate all this, you came to the right place. With PathAIA we aim to create a fast, high level and modular library to work on WSI at scale in order to perform image analysis or to create a well rounded dataset for your machine learning project.


Basic Usage

Step 0: Install

Simple installation from PyPI

pip install pathaia

Step 1: Import pathaia's patch extraction tool

from pathaia.patches import patchify_folder_hierarchically

Step 2: Define your extraction parameters

You can extract at multiple pyramid levels with a hierarchical structure between patches of different levels. You can control pretty much every extraction parameter you like, from patch size to interval between patches or filters to chose which patch to extract. You can also decide whether you want to save patches as png or just extract coordinates in csv.

infolder = "/path/to/input/slide/folder"
outfolder = "/path/to/output/patches/folder"
top_level = 5
low_level = 0
psize = 224
interval = {"x": 224, "y": 224}
silent = list(range(low_level, top_level+1))
extensions = [".svs"]
recurse = False
slide_filters = ["full"]
verbose = 2

With these parameters you will find all svs slides that are directly in infolder and extract patch coordinates from levels 0 to 5 with a hierarchical structure. No png image will be stored as silent lists all levels. Patches will be contiguous with size 224 and will only be extracted from tissue zone that are determined by filtering on slide thumbnails. With verbose=2 thumbnails of extracted areas are also stored on disk.

Step 3: Extract !

patchify_folder_hierarchically(
    infolder,
    outfolder,
    top_level,
    low_level,
    psize,
    interval,
    silent=silent,
    extensions=extensions,
    recurse=recurse,
    slide_filters=slide_filters,
    verbose=verbose,
)

Output csv will look like :

id parent level x y dx dy
Patch identifier Parent identifier int (0, max level) int int int int
#1 None 2 0 0 996 996
#1#1 #1 1 0 0 448 448
#1#1#1 #1#1 0 0 0 224 224
#1#1#2 #1#1 0 0 224 224 224
... ... ... ... ... ... ...

Advanced features

You can use more advanced features to work on slides, most notably using your custom filters. Check documentation for more info.


Community

The lightning community is maintained by 4 core contributors from Institut Universitaire du Cancer de Toulouse - Oncopole:

Asking for help

If you have any questions please:

  1. Read the docs.
  2. Check existing issues, or add a new issue

License

Please observe the GNU GPL 3.0 license that is listed in this repository.

BibTeX

If you want to cite the framework feel free to use this.

@article{pathaia2021,
  title={PathAIA},
  author={Abreu, A and .al},
  journal={GitHub. Note: https://github.com/ArnaudAbreu/PathAIA},
  volume={3},
  year={2021}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pathaia-0.2.5a0.tar.gz (57.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pathaia-0.2.5a0-py3-none-any.whl (64.7 kB view details)

Uploaded Python 3

File details

Details for the file pathaia-0.2.5a0.tar.gz.

File metadata

  • Download URL: pathaia-0.2.5a0.tar.gz
  • Upload date:
  • Size: 57.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for pathaia-0.2.5a0.tar.gz
Algorithm Hash digest
SHA256 d997aa57e6fcf579f778152106fb7fb41a55c8f153e1172d2a20157bd2305380
MD5 343f5272ed4c3fc82b2908418c9bf5e8
BLAKE2b-256 ef07dadd5e6224e084c0583e67c4d2e6ac5d155d724d53c07044a84ac8efcafe

See more details on using hashes here.

File details

Details for the file pathaia-0.2.5a0-py3-none-any.whl.

File metadata

  • Download URL: pathaia-0.2.5a0-py3-none-any.whl
  • Upload date:
  • Size: 64.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for pathaia-0.2.5a0-py3-none-any.whl
Algorithm Hash digest
SHA256 381ea881e49da9c7328dad0099642d72e392804714c8c30d6ed47a4229bc25e4
MD5 7279a24058866597c69def38cb53e4b8
BLAKE2b-256 f908472c18f185c05bc48313238a5dcd1fa0e075e01ca9de31a825e32ec58277

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page