diff --git a/brainscore_core/submission/database.py b/brainscore_core/submission/database.py index 30e32288..60c8bf6d 100644 --- a/brainscore_core/submission/database.py +++ b/brainscore_core/submission/database.py @@ -361,6 +361,15 @@ def benchmarkinstance_from_benchmark(benchmark: Benchmark, domain: str) -> Bench ceiling = benchmark.ceiling bench_inst.ceiling = ceiling.item() bench_inst.ceiling_error = _retrieve_score_error(ceiling) + + # attach inter-subject ceiling + try: + inter_subject_ceiling = benchmark.ceiling + bench_inst.inter_subject_ceiling = inter_subject_ceiling.item() + bench_inst.inter_subject_ceiling_error = _retrieve_score_error(inter_subject_ceiling) + except Exception as e: + logger.warning(f"Failed to compute inter-subject-ceiling: {e}") + bench_inst.save() return bench_inst diff --git a/brainscore_core/submission/database_models.py b/brainscore_core/submission/database_models.py index d95ba476..08f91453 100644 --- a/brainscore_core/submission/database_models.py +++ b/brainscore_core/submission/database_models.py @@ -56,6 +56,8 @@ class BenchmarkMeta(PeeweeBase): number_of_recording_sites = IntegerField(null=True) recording_sites = CharField(max_length=100, null=True) behavioral_task = CharField(max_length=100, null=True) + inter_subject_ceiling = FloatField(null=True) + inter_subject_ceiling_error = FloatField(null=True) class Meta: table_name = 'brainscore_benchmarkmeta'