Skip to main content

Metadata service for digital pathology WSI scans

Project description

Ballatrix Metadata

A microservice managing metadata of whole slide image (WSI) scans for digital pathology applications.

It operates on a storage sqlite database created by the bellastore package.
This database is particularly helpful when querying metadata of specific slides for downstream tasks via our custom digital pathology API bellapi.

Installation

The source code is currently hosted under https://github.com/spang-lab/bellameta.

Binary installers are available at PyPi.

pip install bellameta

Usage

Under docs/.env you find a simple template for an .env file that needs to be located in your current environment and hold the path to a yaml config file. A minimal config file is provided under docs/bellameta.yaml. This config defines the valid Cohort and Task types accesible by the package:

from dotenv import load_dotenv
load_dotenv()

from bellameta.types import Cohort
print(Cohort.list())

In order to add metadata to a cohort of scans, a child class of the abstract base class Metadata needs to be implemented:

from pamly import Diagnosis, Stain

from bellameta.database import Db
from bellameta.types import Cohort, Task
from bellameta.base_metadata import Metadata

class Example(Metadata):
    '''
    An example class inheriting from Metadata.

    We imagine this class to implement the metadata of a new cohort of scans that just arrived from the clinic.
    '''

    def __init__(self, db: Db):
        # here we need to specify the absolute path to the ingress directory as given in the ingress table
        # this serves as the identifier for our cohort
        super().__init__(db, '/tmp/tmpytfd3_47/example_cohort')
    def get_cohort(self, hash):
        # typing for cohorts is provided via bellameta/types
        return Cohort.Example.to_string()
    def get_stain(self, hash):
        # typing for stains is provided via pamly
        return Stain.to_string(Stain('HE'))
    def get_task(self, hash):
        # typing for tasks is provided via bellameta/types
        return [Task.Subtyping.to_string()]

In order to write this metadata to the database the class needs to be instantiated:

example = Example(db=db)
example.write_many()

Documentation

Along with the source code, under docs/demo.ipynb, we provide a demo leading you through the features of this package via an application scenario.

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

bellameta-1.2.0.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

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

bellameta-1.2.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file bellameta-1.2.0.tar.gz.

File metadata

  • Download URL: bellameta-1.2.0.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for bellameta-1.2.0.tar.gz
Algorithm Hash digest
SHA256 206b82894ad143bb0f3555f66f46ed4d4fa686bb53f2dac06ee7f10abb720ecb
MD5 9f86bdb628addcbdad87f87ff73b20f4
BLAKE2b-256 b3103b95869083cc6cb0c1cd79bb3537e615d54c9913089fc8794be7fa3634d6

See more details on using hashes here.

File details

Details for the file bellameta-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: bellameta-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for bellameta-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3a9bdcadfcc408e39e6c68a1920eb7f45a24f2b0827cc3ae53b5d3ccf8083fab
MD5 69557a562f9014fca6b73782592bb7d3
BLAKE2b-256 83bf4605c1b597e4c82cac6de55d8dfdb9e81fc6321764bbd4e297212f1c9dd0

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