Dataset implementations

To format a dataset according to your needs, you need to define a schema for the dataset as well as image and metadata exporters that can convert the curated images and metadata to the desired format

Schema

A Schema defines what kind of Samples, Images, Annotations, and Observations that can be created, how they can be related, and what kind of Attributes they can have. SlideTap can be configured to use different metadata schemas, but does not come with any defined Schemas (except for the example application). A suitable Schema must thus be created by the user. A Schema is composed a ProjectSchema, a DatasetSchema, one or more ItemSchemas, describing the structure and relation of for example samples and images, and AttributeSchemas, describing the structure of attributes assigned to a project and items. See https://github.com/imi-bigpicture/slidetap/tree/v0.2.0/slidetap-app/slidetap/apps/example/schema.py for an example of a Schema.

ItemSchema

A ItemSchema can be of four types:

  • SampleSchema: Describing a sample, such as a patient, specimen, block, or slide, defining how a sample relates to other samples (e.g. sampled from) and what attributes a sample can have (e.g. embedding medium, staining).

  • ImageSchema: Describing an image, typically a WSI, with what sample types it can image and attributes the image can have.

  • AnnotationSchema: Describing an annotation done on an image.

  • ObservationSchema: Describing an observation done on either a sample, an image, or an annotation.

AttributeSchema

An attribute schema describes an attribute, and can be of different type depending on the required value type:

  • StringAttributeSchema: Used for attributes that are represented by a string value.

  • NumericAttributeSchema Used for attributes that are represented by a integer or float value.

  • MeasurementAttributeSchema Used for attributes that are represented by a float value and a unit.

  • DatetimeAttributeSchema Used for attributes that are represented by a time, date, or datetime value.

  • BooleanAttributeSchema Used for attributes that are represented by a boolean value.

  • CodeAttributeSchema Used for attributes that are represented by a code (code, scheme, meaning) value.

  • ObjectAttributeSchema Use for attributes that in itself contain other attributes.

  • ListAttributeSchema Used for attributes that are a list of attributes.

  • UnionAttributeSchema Used for attributes that can be of two or more value types.

MetadataExportInterface

A MetadataExportInterface that can export the curated metadata in a project to a serialized format for storage.

ImageExportInterface

An ImageExportInterface that can export the images in a project to storage in required format.