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 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.2.tar.gz (9.7 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.2-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bellameta-1.2.2.tar.gz
  • Upload date:
  • Size: 9.7 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.2.tar.gz
Algorithm Hash digest
SHA256 01fd41bad25c3109ba8aa384d3b83777b8662add8c878017d9881da1e73f3b43
MD5 367f0cdf30c1ece96ce42147c5747d9b
BLAKE2b-256 7c172ae9a03a97df7d4ffc185ea441a28b895837a124a681c177b810d2c9960f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bellameta-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 9.4 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 77d8b0fed5e399883430c22b782e1bf5c55e85bf2d02be516e9a0d189f5ccffc
MD5 8796056113b604e571d7fdd31f52c316
BLAKE2b-256 69dcb8288bb6db8018afb96f9800b726b11acdffaf93ee47c0a7648a550887fe

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