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. -
NumericAttributeSchemaUsed for attributes that are represented by a integer or float value. -
MeasurementAttributeSchemaUsed for attributes that are represented by a float value and a unit. -
DatetimeAttributeSchemaUsed for attributes that are represented by a time, date, or datetime value. -
BooleanAttributeSchemaUsed for attributes that are represented by a boolean value. -
CodeAttributeSchemaUsed for attributes that are represented by a code (code, scheme, meaning) value. -
ObjectAttributeSchemaUse for attributes that in itself contain other attributes. -
ListAttributeSchemaUsed for attributes that are a list of attributes. -
UnionAttributeSchemaUsed 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.