Add New Tasks#

A new task needs three things: a dataset in the spora [data] format, a dataset config pointing to it, and, for most task types, a benchmark config that defines the task-specific details such as which labels to predict. For datasets that are already part of spora [data], proceed directly to step 2.

1. Prepare the Dataset#

The benchmark pipelines can also be applied to novel or proprietary datasets that are not part of spora [data], provided they are processed into its standardized format; see the spora [io] conversion guide. In addition, the pipelines expect:

  • a split column in metadata/tissues.parquet that marks patients as train or test;

  • metadata/cells.parquet and cell instance masks for the cell-level tasks.

2. Write a Dataset Config#

Every dataset is registered through a dataset config, which holds its path, modality, and the standardization and filtering applied when loading it. The format is given in Configuration.

3. Write a Benchmark Config#

Cell phenotyping, cell annotation, and tissue-level prediction tasks are defined by a benchmark config that names the label column and the classes to evaluate. The format is given on each task’s page:

Instance segmentation and virtual staining tasks need no benchmark config; they run directly on the dataset config.