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

Uploaded Python 3

File details

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

File metadata

  • Download URL: bellameta-1.2.1.tar.gz
  • Upload date:
  • Size: 9.4 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.1.tar.gz
Algorithm Hash digest
SHA256 c12ffe61db3efc4b0c27c7cc1cd9cf49d89b7a20c4260bc1e682bea2358df08a
MD5 c0d2d7f4b38c29ecbc5e97db5bad4779
BLAKE2b-256 99adb45e44d50ce360521bf5f2b54f2ead5da1354511928711f9730e70adf829

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bellameta-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 9.2 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 120eea8fb4c40f591eb58c1f2a88646756a95d318e9f53537c5ae71c931a2ae6
MD5 84b0a7441614c6ed48c351464f8e73af
BLAKE2b-256 8575c11c868ff71a32e0a82e6d6bd316980547f91fce7e21742dfed4e82c4392

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