Smoke job repo: grouped tabular dataset + config

400 rows / 200 patients, two samples each, so grouped splitting is actually
exercised. Signal is modest and noisy on purpose — a separable toy would score
1.0 with a broken model and prove nothing.
This commit is contained in:
ryan
2026-08-13 21:16:22 +02:00
commit 4e815df327
5 changed files with 603 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
# Job outputs — written into the checkout at run time, never committed.
results/
logs/
# Large local caches. The provider runs `git clean -fd` WITHOUT -x before each
# job, so anything ignored here survives between runs on the same box. Put real
# datasets here; the smoke CSV below is deliberately small enough to commit.
datasets/
features/
models/
*.h5
*.ckpt
*.pt
*.pth
__pycache__/
*.py[cod]
.venv/
*.env
+80
View File
@@ -0,0 +1,80 @@
# hypertower-sample
A minimal **job repo** for HyperTower — the smallest thing that exercises the
repo-backed job flow end to end.
A job repo carries *configs and data*, not the framework. When a job names this
repo and a ref, the provider clones it, checks out that exact commit, and runs
with the checkout as the working directory. HyperTower itself comes from the
provider's own install via `PYTHONPATH`. That is why `configs/tabular_smoke.json`
can reference `data/smoke/labels.csv` as a plain relative path.
```
job: { repo: <this repo>, ref: main,
args: ["--config", "configs/tabular_smoke.json"] }
provider: git clone/fetch → checkout <ref> --detach → reset --hard → clean -fd
cd <checkout> && python -m hypertower_provider.orchestrator --config …
tar results/ → POST /results/<job_id>
```
## Contents
| Path | What |
|---|---|
| `configs/tabular_smoke.json` | Tabular binary classification, 3 folds, small epoch counts |
| `data/smoke/labels.csv` | 400 rows, 200 patients, 24% positive |
| `scripts/make_smoke_data.py` | Regenerates the CSV deterministically |
## The dataset
Synthetic, and shaped to catch real problems rather than flatter the pipeline:
- **Two rows per patient.** `patient_id` is the `group_column` and the config sets
`split_identity_level: 1`, so folds split by patient. If grouping ever breaks,
the two eyes of one patient land on both sides of a split and the score jumps
suspiciously — that is the bug this shape is here to expose.
- **Signal is modest and noisy.** The label depends on `age`, `iop`, `cdr` and
`rnfl` through a logistic model with added noise, so a healthy run lands around
0.850.95 AUC. A perfectly separable toy would score 1.0 even with a broken
model and tell you nothing.
- **`noise_feat` is pure noise** and `notes` is free text listed in `exclude_cols`.
Both are here so that column handling is actually exercised.
- **`site` is categorical**, covering the `cat_cols` path.
Regenerate with:
```bash
python scripts/make_smoke_data.py
```
## Submitting it
```bash
curl -X POST https://hypertower.example.com/jobs \
-H "x-token: $HT_ADMIN_TOKEN" -H 'content-type: application/json' \
-d '{
"run_name": "tabular_smoke",
"args": ["--config", "configs/tabular_smoke.json"],
"repo": "https://git.sticknife.com/ryan/hypertower-sample.git",
"ref": "main",
"constraints": {"device": "cpu", "min_memory_mb": 2000}
}'
```
Submission needs the **admin** token; a provider token cannot queue jobs.
`device: cpu` is deliberate — this model is a small MLP on ten-ish features, so a
GPU buys nothing, and constraining it to CPU means the job can be picked up by any
provider rather than waiting on a GPU box.
Jobs dedup on `(args, repo, ref)`. Re-submitting the same config at the same ref
returns the original `job_id` instead of queueing a duplicate; commit a change and
submit against the new ref to get a genuinely new run.
## Adding a real dataset
Keep large data **out** of git. The provider runs `git clean -fd` without `-x`
before every job, so gitignored paths survive between runs on the same machine —
put real data under `datasets/` (already ignored) and stage it onto the provider
once, rather than cloning it every job.
+52
View File
@@ -0,0 +1,52 @@
{
"_notes": [
"Smoke test for the repo-backed job flow: tabular-only binary classification.",
"metadata_csv is relative to the repo root, which is the provider's working",
"directory when a job carries repo+ref. Deliberately small and short — this",
"exists to prove the path works end to end, not to produce a good model."
],
"run_name": "tabular_smoke",
"num_classes": 2,
"split_identity_level": 1,
"eval_stage": "cd_fuse",
"save_predictions": true,
"seed": 1234,
"folds": 3,
"fold_seed": 100,
"output_root": "results",
"data": {
"module": "hypertower_core.profiles.generic",
"args": {
"metadata_csv": "data/smoke/labels.csv",
"id_column": "sample_id",
"label_col": "diagnosis",
"target_type": "classification",
"group_column": "patient_id",
"cat_cols": ["site"],
"exclude_cols": ["notes"]
}
},
"towers": [
{
"name": "cd",
"module": "hypertower_core.components.towers.clinical_tower",
"class": "ClinicalEncoder",
"data_source": "matrix",
"args": { "hidden_dim": 64 }
}
],
"stages": [
{ "name": "cd_warm", "type": "warm", "tower": "cd", "head_name": "cd_aux",
"level": "sample", "epochs": 8 },
{ "name": "cd_aux", "type": "head", "input": "cd", "train_with": "cd_fuse" },
{ "name": "cd_fuse", "type": "fusion",
"module": "hypertower_core.components.bridges.mono_bridge",
"class": "MonoBridge", "inputs": ["cd"], "level": "sample",
"epochs": 10, "train_towers": true, "args": { "use_ln": false } }
],
"training": { "lr": 1e-3, "batch_size": 32, "tune_binary_threshold": true }
}
+401
View File
@@ -0,0 +1,401 @@
sample_id,patient_id,age,iop,cdr,rnfl,noise_feat,site,notes,diagnosis
S000_0,P000,70.1,16.3,0.604,105.9,-2.213,linkoping,routine screening,healthy
S000_1,P000,72.4,14.3,0.376,80.1,-0.53,linkoping,routine screening,healthy
S001_0,P001,58.5,16.3,0.224,104.7,-0.942,skovde,routine screening,healthy
S001_1,P001,59.8,14.8,0.283,104.3,-0.25,skovde,routine screening,healthy
S002_0,P002,81.9,17.0,0.422,106.2,-0.211,linkoping,referred,glaucoma
S002_1,P002,83.5,12.9,0.287,113.9,-0.101,linkoping,routine screening,healthy
S003_0,P003,69.0,16.4,0.488,104.0,0.723,skovde,routine screening,healthy
S003_1,P003,70.2,16.6,0.411,89.1,-0.377,skovde,referred,glaucoma
S004_0,P004,66.5,20.7,0.332,81.9,0.965,linkoping,routine screening,healthy
S004_1,P004,64.4,17.1,0.487,76.4,0.166,linkoping,referred,glaucoma
S005_0,P005,54.3,18.0,0.502,79.2,0.194,skovde,routine screening,healthy
S005_1,P005,55.1,18.3,0.53,74.8,0.283,skovde,referred,glaucoma
S006_0,P006,82.2,19.9,0.6,86.6,0.203,gothenburg,referred,glaucoma
S006_1,P006,78.5,20.2,0.548,94.3,-2.461,gothenburg,routine screening,healthy
S007_0,P007,68.9,20.8,0.533,89.7,-0.308,skovde,routine screening,healthy
S007_1,P007,69.2,20.0,0.359,91.3,1.442,skovde,routine screening,healthy
S008_0,P008,52.3,15.0,0.269,88.9,-0.176,skovde,routine screening,healthy
S008_1,P008,58.5,12.5,0.364,108.4,0.36,skovde,routine screening,healthy
S009_0,P009,53.4,22.0,0.55,91.7,-0.683,gothenburg,routine screening,healthy
S009_1,P009,53.4,20.7,0.374,108.2,0.327,gothenburg,referred,glaucoma
S010_0,P010,55.4,18.4,0.222,116.5,-0.139,gothenburg,routine screening,healthy
S010_1,P010,59.8,15.2,0.41,106.9,-0.413,gothenburg,routine screening,healthy
S011_0,P011,47.3,15.9,0.542,84.9,0.637,gothenburg,routine screening,healthy
S011_1,P011,43.9,15.1,0.537,92.9,1.489,gothenburg,routine screening,healthy
S012_0,P012,63.1,15.2,0.465,106.7,-0.551,linkoping,routine screening,healthy
S012_1,P012,61.7,17.9,0.278,77.8,0.144,linkoping,referred,glaucoma
S013_0,P013,53.4,16.4,0.285,83.4,0.027,skovde,routine screening,healthy
S013_1,P013,55.3,16.4,0.436,90.5,-0.498,skovde,routine screening,healthy
S014_0,P014,62.6,9.5,0.347,93.0,1.236,skovde,routine screening,healthy
S014_1,P014,68.7,14.0,0.31,110.2,-0.426,skovde,routine screening,healthy
S015_0,P015,49.1,15.0,0.542,111.0,-1.163,skovde,routine screening,healthy
S015_1,P015,46.6,14.5,0.307,87.2,0.211,skovde,routine screening,healthy
S016_0,P016,79.3,20.4,0.583,93.9,1.614,gothenburg,referred,glaucoma
S016_1,P016,78.7,20.1,0.617,61.4,0.132,gothenburg,referred,glaucoma
S017_0,P017,73.9,16.9,0.532,90.8,0.702,skovde,referred,glaucoma
S017_1,P017,74.4,16.3,0.299,103.0,0.696,skovde,routine screening,healthy
S018_0,P018,47.6,17.6,0.455,84.9,0.486,gothenburg,routine screening,healthy
S018_1,P018,46.7,19.0,0.502,85.8,-2.124,gothenburg,routine screening,healthy
S019_0,P019,68.5,16.4,0.587,87.7,2.401,skovde,referred,glaucoma
S019_1,P019,70.6,19.4,0.344,93.6,1.081,skovde,referred,glaucoma
S020_0,P020,54.1,17.2,0.338,82.2,0.075,linkoping,routine screening,healthy
S020_1,P020,53.5,14.8,0.467,101.0,1.709,linkoping,routine screening,healthy
S021_0,P021,67.9,21.8,0.48,98.1,0.837,skovde,routine screening,healthy
S021_1,P021,67.8,17.9,0.467,105.6,3.741,skovde,referred,glaucoma
S022_0,P022,89.5,12.5,0.34,120.1,1.158,gothenburg,routine screening,healthy
S022_1,P022,89.2,12.7,0.284,106.0,-1.531,gothenburg,routine screening,healthy
S023_0,P023,70.4,18.9,0.446,85.7,-1.125,skovde,routine screening,healthy
S023_1,P023,70.0,12.1,0.37,82.1,1.431,skovde,routine screening,healthy
S024_0,P024,60.6,19.0,0.711,91.7,-1.05,skovde,routine screening,healthy
S024_1,P024,64.0,16.3,0.459,90.5,-0.268,skovde,routine screening,healthy
S025_0,P025,51.4,14.8,0.316,92.1,0.388,skovde,routine screening,healthy
S025_1,P025,49.9,14.8,0.406,108.2,2.731,skovde,routine screening,healthy
S026_0,P026,67.4,19.7,0.759,84.1,-0.395,skovde,referred,glaucoma
S026_1,P026,68.1,22.7,0.949,77.8,-0.573,skovde,referred,glaucoma
S027_0,P027,66.7,17.4,0.555,74.2,1.402,gothenburg,referred,glaucoma
S027_1,P027,64.0,23.6,0.63,107.5,-0.373,gothenburg,routine screening,healthy
S028_0,P028,67.9,11.6,0.429,91.4,-0.133,gothenburg,routine screening,healthy
S028_1,P028,67.2,12.6,0.424,103.9,-0.168,gothenburg,routine screening,healthy
S029_0,P029,54.1,15.5,0.641,103.6,-0.225,linkoping,routine screening,healthy
S029_1,P029,55.5,14.8,0.47,92.6,-0.723,linkoping,routine screening,healthy
S030_0,P030,37.8,13.9,0.452,110.1,-0.634,linkoping,routine screening,healthy
S030_1,P030,43.5,11.1,0.291,103.4,0.422,linkoping,routine screening,healthy
S031_0,P031,57.9,13.5,0.555,93.8,0.061,linkoping,routine screening,healthy
S031_1,P031,55.9,16.7,0.674,81.3,-0.494,linkoping,referred,glaucoma
S032_0,P032,62.4,15.2,0.466,107.9,-0.884,linkoping,routine screening,healthy
S032_1,P032,64.3,16.7,0.323,102.3,1.738,linkoping,routine screening,healthy
S033_0,P033,59.5,9.5,0.545,102.7,-0.819,linkoping,routine screening,healthy
S033_1,P033,64.3,17.4,0.725,98.9,-1.576,linkoping,routine screening,healthy
S034_0,P034,69.8,13.2,0.284,93.8,1.161,gothenburg,routine screening,healthy
S034_1,P034,68.6,11.7,0.414,103.8,-0.894,gothenburg,routine screening,healthy
S035_0,P035,53.6,20.9,0.639,88.2,0.558,linkoping,routine screening,healthy
S035_1,P035,50.7,16.3,0.529,103.1,-0.436,linkoping,routine screening,healthy
S036_0,P036,65.5,16.5,0.498,85.0,-0.072,skovde,referred,glaucoma
S036_1,P036,65.0,16.4,0.512,70.5,-0.405,skovde,routine screening,healthy
S037_0,P037,71.6,10.3,0.38,104.9,0.121,gothenburg,routine screening,healthy
S037_1,P037,69.4,11.1,0.279,100.1,1.353,gothenburg,routine screening,healthy
S038_0,P038,48.9,14.9,0.424,102.2,0.868,skovde,routine screening,healthy
S038_1,P038,48.2,14.2,0.559,102.2,0.291,skovde,routine screening,healthy
S039_0,P039,42.2,21.7,0.624,84.3,1.099,skovde,referred,glaucoma
S039_1,P039,39.2,20.2,0.744,85.6,-1.202,skovde,routine screening,healthy
S040_0,P040,70.9,22.2,0.274,94.1,0.93,skovde,referred,glaucoma
S040_1,P040,70.5,16.4,0.387,94.9,-0.387,skovde,routine screening,healthy
S041_0,P041,31.3,18.6,0.472,66.9,-0.95,gothenburg,routine screening,healthy
S041_1,P041,30.3,19.0,0.583,77.3,0.021,gothenburg,routine screening,healthy
S042_0,P042,56.2,16.9,0.655,79.9,-1.525,skovde,referred,glaucoma
S042_1,P042,55.8,12.8,0.578,90.6,0.199,skovde,routine screening,healthy
S043_0,P043,67.3,18.9,0.366,87.9,-0.223,linkoping,referred,glaucoma
S043_1,P043,68.2,20.0,0.346,95.9,0.433,linkoping,routine screening,healthy
S044_0,P044,44.7,9.9,0.328,112.7,1.267,skovde,routine screening,healthy
S044_1,P044,46.7,10.1,0.168,117.7,-0.323,skovde,routine screening,healthy
S045_0,P045,60.7,13.2,0.377,92.4,1.529,skovde,routine screening,healthy
S045_1,P045,60.8,11.8,0.308,97.5,0.812,skovde,routine screening,healthy
S046_0,P046,81.9,11.9,0.559,116.0,-1.724,gothenburg,routine screening,healthy
S046_1,P046,81.1,16.0,0.374,110.9,0.048,gothenburg,routine screening,healthy
S047_0,P047,62.9,17.0,0.388,100.1,-2.62,linkoping,routine screening,healthy
S047_1,P047,60.7,18.8,0.489,84.4,-1.104,linkoping,referred,glaucoma
S048_0,P048,77.9,13.7,0.472,82.6,-1.839,skovde,routine screening,healthy
S048_1,P048,79.2,21.5,0.557,78.8,-1.316,skovde,referred,glaucoma
S049_0,P049,81.6,15.9,0.482,96.2,0.517,skovde,routine screening,healthy
S049_1,P049,81.8,17.6,0.467,89.2,1.345,skovde,routine screening,healthy
S050_0,P050,63.2,12.6,0.291,105.5,0.723,linkoping,routine screening,healthy
S050_1,P050,61.9,17.2,0.529,91.3,0.085,linkoping,referred,glaucoma
S051_0,P051,68.2,15.1,0.501,79.4,1.465,gothenburg,routine screening,healthy
S051_1,P051,67.9,17.5,0.178,84.7,-0.787,gothenburg,referred,glaucoma
S052_0,P052,64.2,22.8,0.735,77.8,-0.727,gothenburg,referred,glaucoma
S052_1,P052,64.8,24.0,0.53,67.4,0.458,gothenburg,referred,glaucoma
S053_0,P053,78.2,20.7,0.713,86.4,1.47,skovde,referred,glaucoma
S053_1,P053,80.0,24.5,0.739,78.1,-0.203,skovde,routine screening,healthy
S054_0,P054,51.5,14.1,0.461,101.5,0.655,skovde,routine screening,healthy
S054_1,P054,50.1,12.5,0.416,104.2,-1.01,skovde,routine screening,healthy
S055_0,P055,63.8,13.7,0.253,106.2,0.876,linkoping,routine screening,healthy
S055_1,P055,63.7,14.4,0.425,115.1,0.361,linkoping,routine screening,healthy
S056_0,P056,60.9,19.2,0.465,89.6,-0.006,gothenburg,referred,glaucoma
S056_1,P056,62.7,13.3,0.549,90.0,-1.266,gothenburg,routine screening,healthy
S057_0,P057,51.1,20.3,0.502,79.2,0.713,gothenburg,referred,glaucoma
S057_1,P057,51.9,17.3,0.886,82.2,0.985,gothenburg,referred,glaucoma
S058_0,P058,76.1,20.4,0.31,94.5,0.518,linkoping,routine screening,healthy
S058_1,P058,74.3,11.3,0.569,90.6,-0.858,linkoping,routine screening,healthy
S059_0,P059,69.4,6.3,0.406,102.4,0.656,skovde,routine screening,healthy
S059_1,P059,66.5,11.7,0.188,112.9,-0.231,skovde,routine screening,healthy
S060_0,P060,67.1,17.1,0.336,105.1,2.203,linkoping,routine screening,healthy
S060_1,P060,67.4,7.0,0.552,101.3,-0.097,linkoping,routine screening,healthy
S061_0,P061,56.8,16.6,0.498,89.6,0.664,gothenburg,routine screening,healthy
S061_1,P061,57.7,17.5,0.402,79.8,0.083,gothenburg,referred,glaucoma
S062_0,P062,55.9,8.5,0.424,101.6,0.189,gothenburg,routine screening,healthy
S062_1,P062,53.5,13.8,0.204,99.6,-1.775,gothenburg,routine screening,healthy
S063_0,P063,33.8,18.6,0.233,105.6,1.261,linkoping,routine screening,healthy
S063_1,P063,38.1,14.2,0.479,95.6,1.488,linkoping,routine screening,healthy
S064_0,P064,66.6,10.6,0.456,81.9,-1.782,linkoping,routine screening,healthy
S064_1,P064,66.8,14.1,0.598,91.1,-0.284,linkoping,routine screening,healthy
S065_0,P065,47.2,22.2,0.524,92.0,-2.055,linkoping,routine screening,healthy
S065_1,P065,47.3,20.9,0.545,74.3,0.414,linkoping,referred,glaucoma
S066_0,P066,69.0,16.9,0.476,88.8,0.059,gothenburg,routine screening,healthy
S066_1,P066,73.0,15.8,0.461,84.6,-1.282,gothenburg,routine screening,healthy
S067_0,P067,98.7,14.4,0.458,96.5,-0.12,linkoping,routine screening,healthy
S067_1,P067,97.5,14.2,0.393,108.6,0.741,linkoping,referred,glaucoma
S068_0,P068,91.4,9.7,0.442,104.1,-0.063,gothenburg,routine screening,healthy
S068_1,P068,90.6,15.3,0.221,93.8,-0.385,gothenburg,routine screening,healthy
S069_0,P069,79.3,16.9,0.513,93.0,-0.19,skovde,referred,glaucoma
S069_1,P069,76.8,9.6,0.5,88.0,0.497,skovde,referred,glaucoma
S070_0,P070,48.1,16.2,0.344,92.1,-1.434,linkoping,routine screening,healthy
S070_1,P070,44.1,16.4,0.439,102.1,0.118,linkoping,routine screening,healthy
S071_0,P071,80.1,17.6,0.435,95.9,1.295,skovde,referred,glaucoma
S071_1,P071,80.5,17.5,0.443,106.0,-1.734,skovde,routine screening,healthy
S072_0,P072,65.9,13.9,0.406,98.9,-0.197,skovde,routine screening,healthy
S072_1,P072,65.6,13.4,0.225,96.0,-2.278,skovde,routine screening,healthy
S073_0,P073,63.9,16.7,0.4,90.2,-1.504,linkoping,routine screening,healthy
S073_1,P073,65.3,14.4,0.594,114.4,-1.364,linkoping,routine screening,healthy
S074_0,P074,62.8,17.3,0.413,90.6,-0.218,linkoping,routine screening,healthy
S074_1,P074,66.4,17.3,0.465,90.5,-1.062,linkoping,routine screening,healthy
S075_0,P075,75.4,15.8,0.223,96.8,0.432,linkoping,routine screening,healthy
S075_1,P075,73.4,16.9,0.385,95.7,1.741,linkoping,routine screening,healthy
S076_0,P076,70.8,16.5,0.369,80.3,-1.273,linkoping,routine screening,healthy
S076_1,P076,66.6,15.2,0.568,99.7,-0.03,linkoping,routine screening,healthy
S077_0,P077,63.5,17.7,0.594,97.0,-0.577,linkoping,referred,glaucoma
S077_1,P077,63.8,17.0,0.275,83.1,-0.084,linkoping,referred,glaucoma
S078_0,P078,53.2,16.5,0.356,86.7,-0.178,gothenburg,routine screening,healthy
S078_1,P078,54.0,13.2,0.321,90.0,-1.077,gothenburg,routine screening,healthy
S079_0,P079,60.7,13.5,0.401,100.6,0.663,linkoping,routine screening,healthy
S079_1,P079,58.4,7.6,0.299,103.0,0.404,linkoping,routine screening,healthy
S080_0,P080,75.1,14.0,0.382,90.3,0.808,linkoping,referred,glaucoma
S080_1,P080,74.3,17.0,0.568,97.0,0.933,linkoping,routine screening,healthy
S081_0,P081,65.5,14.6,0.278,109.2,0.092,skovde,routine screening,healthy
S081_1,P081,68.2,14.0,0.38,103.4,0.584,skovde,routine screening,healthy
S082_0,P082,88.5,15.0,0.649,99.0,-2.037,skovde,referred,glaucoma
S082_1,P082,87.1,17.2,0.578,81.9,-1.284,skovde,referred,glaucoma
S083_0,P083,70.3,14.8,0.359,74.5,1.257,skovde,referred,glaucoma
S083_1,P083,72.5,21.4,0.38,90.1,-0.261,skovde,routine screening,healthy
S084_0,P084,69.1,15.5,0.3,101.1,0.098,gothenburg,routine screening,healthy
S084_1,P084,67.7,16.1,0.295,94.8,0.552,gothenburg,routine screening,healthy
S085_0,P085,76.5,14.0,0.405,107.7,-0.78,linkoping,routine screening,healthy
S085_1,P085,76.7,15.6,0.294,119.2,0.216,linkoping,routine screening,healthy
S086_0,P086,67.8,12.8,0.436,119.6,-0.095,linkoping,routine screening,healthy
S086_1,P086,66.1,13.5,0.553,109.0,0.702,linkoping,routine screening,healthy
S087_0,P087,79.9,10.6,0.334,90.1,-1.494,linkoping,routine screening,healthy
S087_1,P087,83.7,11.6,0.517,91.4,-1.056,linkoping,routine screening,healthy
S088_0,P088,77.9,20.7,0.95,78.3,-0.238,skovde,referred,glaucoma
S088_1,P088,79.5,22.4,0.682,85.7,0.87,skovde,referred,glaucoma
S089_0,P089,80.9,17.6,0.714,101.8,0.221,skovde,routine screening,healthy
S089_1,P089,79.6,19.0,0.521,84.6,-0.252,skovde,referred,glaucoma
S090_0,P090,66.1,7.3,0.11,128.9,0.854,skovde,routine screening,healthy
S090_1,P090,67.7,8.9,0.123,112.5,1.262,skovde,routine screening,healthy
S091_0,P091,42.8,17.5,0.45,107.6,-1.459,linkoping,routine screening,healthy
S091_1,P091,43.0,11.8,0.43,88.6,-1.795,linkoping,routine screening,healthy
S092_0,P092,72.1,14.4,0.403,95.3,0.841,gothenburg,referred,glaucoma
S092_1,P092,72.7,14.5,0.55,90.8,1.434,gothenburg,routine screening,healthy
S093_0,P093,67.8,13.7,0.236,77.9,1.227,linkoping,routine screening,healthy
S093_1,P093,68.0,14.8,0.386,98.0,1.462,linkoping,routine screening,healthy
S094_0,P094,87.7,15.3,0.414,93.4,-0.475,linkoping,routine screening,healthy
S094_1,P094,86.6,20.9,0.545,88.2,0.159,linkoping,referred,glaucoma
S095_0,P095,60.7,13.0,0.264,99.2,-1.077,gothenburg,routine screening,healthy
S095_1,P095,59.7,17.6,0.122,100.6,-0.121,gothenburg,routine screening,healthy
S096_0,P096,42.6,18.8,0.404,93.9,-1.789,linkoping,referred,glaucoma
S096_1,P096,42.4,18.5,0.67,94.0,-0.324,linkoping,routine screening,healthy
S097_0,P097,69.7,14.0,0.555,90.0,0.488,gothenburg,routine screening,healthy
S097_1,P097,70.2,15.1,0.476,98.1,-0.985,gothenburg,routine screening,healthy
S098_0,P098,66.3,10.1,0.128,110.7,2.472,linkoping,routine screening,healthy
S098_1,P098,66.7,11.3,0.359,98.4,-0.439,linkoping,routine screening,healthy
S099_0,P099,61.9,11.9,0.53,106.8,0.424,gothenburg,routine screening,healthy
S099_1,P099,63.9,9.5,0.05,116.1,-1.427,gothenburg,routine screening,healthy
S100_0,P100,62.9,14.5,0.279,91.7,-0.303,gothenburg,routine screening,healthy
S100_1,P100,65.4,13.4,0.344,101.7,1.48,gothenburg,routine screening,healthy
S101_0,P101,68.4,16.9,0.505,94.4,-2.052,gothenburg,routine screening,healthy
S101_1,P101,68.6,19.9,0.359,82.3,1.006,gothenburg,routine screening,healthy
S102_0,P102,45.6,15.0,0.402,91.4,-1.103,skovde,routine screening,healthy
S102_1,P102,45.3,12.5,0.539,85.5,1.094,skovde,routine screening,healthy
S103_0,P103,44.5,16.5,0.369,100.8,-1.709,skovde,routine screening,healthy
S103_1,P103,42.9,9.5,0.369,105.8,-1.277,skovde,routine screening,healthy
S104_0,P104,61.9,20.0,0.555,101.4,-0.769,skovde,referred,glaucoma
S104_1,P104,57.6,17.7,0.657,86.5,0.485,skovde,routine screening,healthy
S105_0,P105,72.1,15.5,0.381,116.0,-1.468,gothenburg,referred,glaucoma
S105_1,P105,70.6,15.6,0.424,97.5,-1.241,gothenburg,routine screening,healthy
S106_0,P106,61.5,15.1,0.42,94.0,0.373,skovde,routine screening,healthy
S106_1,P106,61.2,14.9,0.24,111.6,-2.492,skovde,routine screening,healthy
S107_0,P107,62.9,17.3,0.406,109.9,-0.96,gothenburg,routine screening,healthy
S107_1,P107,62.6,15.9,0.445,114.7,0.729,gothenburg,routine screening,healthy
S108_0,P108,57.2,14.3,0.337,100.8,0.776,gothenburg,referred,glaucoma
S108_1,P108,55.7,18.1,0.414,81.7,0.793,gothenburg,routine screening,healthy
S109_0,P109,46.2,16.2,0.355,103.2,-1.935,skovde,routine screening,healthy
S109_1,P109,50.8,17.5,0.532,84.7,-0.559,skovde,routine screening,healthy
S110_0,P110,68.0,11.9,0.593,90.8,0.313,gothenburg,referred,glaucoma
S110_1,P110,68.5,16.8,0.497,89.8,0.785,gothenburg,routine screening,healthy
S111_0,P111,49.8,12.8,0.196,101.8,0.118,skovde,routine screening,healthy
S111_1,P111,54.4,14.9,0.19,112.0,-0.353,skovde,routine screening,healthy
S112_0,P112,58.9,15.3,0.491,99.5,-1.228,linkoping,routine screening,healthy
S112_1,P112,57.3,14.9,0.363,106.7,-0.438,linkoping,routine screening,healthy
S113_0,P113,40.9,14.0,0.32,91.8,2.038,linkoping,routine screening,healthy
S113_1,P113,38.8,10.0,0.457,95.9,-0.671,linkoping,routine screening,healthy
S114_0,P114,51.1,22.2,0.46,85.0,-0.156,linkoping,routine screening,healthy
S114_1,P114,51.8,17.7,0.908,105.7,1.598,linkoping,routine screening,healthy
S115_0,P115,55.4,13.7,0.378,112.8,0.112,skovde,routine screening,healthy
S115_1,P115,53.2,10.5,0.171,107.3,1.708,skovde,routine screening,healthy
S116_0,P116,65.9,16.5,0.55,84.5,0.205,gothenburg,routine screening,healthy
S116_1,P116,66.6,21.3,0.676,92.2,0.116,gothenburg,referred,glaucoma
S117_0,P117,77.6,21.6,0.458,83.5,-0.291,linkoping,referred,glaucoma
S117_1,P117,79.6,17.6,0.578,88.8,-1.093,linkoping,referred,glaucoma
S118_0,P118,66.6,13.2,0.555,104.2,-0.153,skovde,referred,glaucoma
S118_1,P118,63.6,18.7,0.267,109.0,1.358,skovde,routine screening,healthy
S119_0,P119,62.3,15.6,0.398,85.3,0.185,skovde,routine screening,healthy
S119_1,P119,62.3,20.3,0.759,92.8,-1.639,skovde,routine screening,healthy
S120_0,P120,55.3,23.6,0.406,81.8,1.475,linkoping,routine screening,healthy
S120_1,P120,52.0,26.5,0.618,70.7,-0.683,linkoping,referred,glaucoma
S121_0,P121,58.2,16.0,0.208,96.9,1.246,skovde,routine screening,healthy
S121_1,P121,59.8,14.1,0.407,103.7,0.705,skovde,routine screening,healthy
S122_0,P122,65.5,10.9,0.498,90.9,-0.238,skovde,routine screening,healthy
S122_1,P122,65.8,13.5,0.327,117.5,-1.858,skovde,routine screening,healthy
S123_0,P123,73.1,17.7,0.501,83.0,0.655,linkoping,referred,glaucoma
S123_1,P123,74.5,17.2,0.557,72.1,0.237,linkoping,referred,glaucoma
S124_0,P124,66.4,16.0,0.657,90.8,0.969,skovde,routine screening,healthy
S124_1,P124,67.5,16.5,0.441,108.5,-1.79,skovde,routine screening,healthy
S125_0,P125,48.1,22.7,0.3,113.0,0.094,linkoping,referred,glaucoma
S125_1,P125,48.1,18.5,0.553,75.3,-0.4,linkoping,routine screening,healthy
S126_0,P126,62.5,8.9,0.401,106.0,-1.711,linkoping,routine screening,healthy
S126_1,P126,68.4,16.9,0.398,119.6,1.789,linkoping,routine screening,healthy
S127_0,P127,67.3,15.7,0.403,101.0,0.603,skovde,routine screening,healthy
S127_1,P127,67.5,13.9,0.315,101.0,-1.338,skovde,routine screening,healthy
S128_0,P128,89.9,14.0,0.357,86.2,0.899,skovde,routine screening,healthy
S128_1,P128,87.4,16.2,0.542,111.9,-0.209,skovde,routine screening,healthy
S129_0,P129,65.0,15.7,0.274,91.8,-0.97,skovde,routine screening,healthy
S129_1,P129,66.2,16.6,0.468,112.6,0.018,skovde,referred,glaucoma
S130_0,P130,62.0,12.7,0.286,97.2,-1.396,linkoping,routine screening,healthy
S130_1,P130,60.2,20.4,0.488,108.6,0.652,linkoping,referred,glaucoma
S131_0,P131,55.7,19.3,0.588,78.9,-0.451,linkoping,referred,glaucoma
S131_1,P131,57.7,17.2,0.799,84.4,2.444,linkoping,referred,glaucoma
S132_0,P132,55.0,11.4,0.121,129.6,-0.505,skovde,routine screening,healthy
S132_1,P132,58.0,8.3,0.112,129.5,-2.233,skovde,routine screening,healthy
S133_0,P133,69.6,17.1,0.445,105.5,1.236,skovde,routine screening,healthy
S133_1,P133,70.6,15.9,0.347,98.7,-1.171,skovde,routine screening,healthy
S134_0,P134,56.4,15.0,0.61,85.1,-0.415,gothenburg,routine screening,healthy
S134_1,P134,53.9,23.9,0.786,81.2,-0.455,gothenburg,referred,glaucoma
S135_0,P135,49.6,13.2,0.487,94.2,-0.9,gothenburg,routine screening,healthy
S135_1,P135,47.4,13.9,0.438,96.3,-0.149,gothenburg,routine screening,healthy
S136_0,P136,58.5,12.0,0.46,105.9,0.507,gothenburg,routine screening,healthy
S136_1,P136,57.1,15.3,0.354,95.9,-0.284,gothenburg,routine screening,healthy
S137_0,P137,55.7,22.5,0.595,67.5,0.592,skovde,referred,glaucoma
S137_1,P137,55.3,21.9,0.536,98.6,0.732,skovde,referred,glaucoma
S138_0,P138,56.7,17.6,0.637,110.3,0.842,gothenburg,routine screening,healthy
S138_1,P138,52.5,17.1,0.239,103.7,-0.121,gothenburg,routine screening,healthy
S139_0,P139,65.1,10.0,0.356,91.9,1.104,linkoping,routine screening,healthy
S139_1,P139,67.8,10.7,0.225,112.3,1.818,linkoping,routine screening,healthy
S140_0,P140,81.4,14.0,0.267,90.7,-0.025,skovde,routine screening,healthy
S140_1,P140,82.5,18.1,0.346,94.1,-0.968,skovde,routine screening,healthy
S141_0,P141,76.2,16.1,0.392,88.1,0.785,gothenburg,routine screening,healthy
S141_1,P141,76.3,14.4,0.587,79.6,1.292,gothenburg,routine screening,healthy
S142_0,P142,66.3,10.2,0.384,118.0,0.866,skovde,routine screening,healthy
S142_1,P142,69.2,9.8,0.23,115.3,-0.004,skovde,routine screening,healthy
S143_0,P143,56.5,9.5,0.393,88.7,0.153,linkoping,routine screening,healthy
S143_1,P143,55.7,16.3,0.58,87.6,-0.496,linkoping,routine screening,healthy
S144_0,P144,68.5,11.8,0.36,98.5,0.737,linkoping,routine screening,healthy
S144_1,P144,69.0,17.8,0.405,100.0,-1.916,linkoping,routine screening,healthy
S145_0,P145,63.5,16.0,0.512,100.0,0.13,gothenburg,referred,glaucoma
S145_1,P145,64.3,19.2,0.696,84.1,1.081,gothenburg,referred,glaucoma
S146_0,P146,73.8,20.7,0.403,88.1,-0.083,gothenburg,routine screening,healthy
S146_1,P146,73.7,15.5,0.564,97.5,-0.785,gothenburg,referred,glaucoma
S147_0,P147,75.3,19.1,0.494,57.7,1.568,gothenburg,referred,glaucoma
S147_1,P147,73.8,16.7,0.568,91.8,-1.798,gothenburg,routine screening,healthy
S148_0,P148,56.5,13.4,0.502,89.3,0.173,gothenburg,routine screening,healthy
S148_1,P148,54.8,19.0,0.447,103.9,-2.149,gothenburg,routine screening,healthy
S149_0,P149,55.6,13.4,0.357,90.5,0.33,gothenburg,referred,glaucoma
S149_1,P149,57.4,19.2,0.431,104.3,0.479,gothenburg,routine screening,healthy
S150_0,P150,62.2,19.2,0.195,113.5,-2.857,skovde,routine screening,healthy
S150_1,P150,62.4,16.1,0.491,98.0,0.304,skovde,referred,glaucoma
S151_0,P151,64.0,21.4,0.594,88.6,-0.264,linkoping,routine screening,healthy
S151_1,P151,66.4,17.1,0.509,81.0,-1.138,linkoping,routine screening,healthy
S152_0,P152,56.0,13.3,0.344,100.4,-0.223,gothenburg,routine screening,healthy
S152_1,P152,55.3,15.4,0.429,92.9,-1.279,gothenburg,routine screening,healthy
S153_0,P153,55.5,19.0,0.471,87.0,0.243,gothenburg,routine screening,healthy
S153_1,P153,57.9,19.8,0.576,83.3,-1.692,gothenburg,routine screening,healthy
S154_0,P154,58.9,14.9,0.439,112.4,-2.252,linkoping,routine screening,healthy
S154_1,P154,60.1,15.7,0.404,100.5,-0.52,linkoping,referred,glaucoma
S155_0,P155,69.5,14.2,0.352,100.8,1.626,linkoping,referred,glaucoma
S155_1,P155,67.1,17.8,0.615,75.7,1.744,linkoping,routine screening,healthy
S156_0,P156,68.7,20.3,0.436,86.8,0.842,skovde,routine screening,healthy
S156_1,P156,71.9,11.8,0.43,97.5,-0.222,skovde,routine screening,healthy
S157_0,P157,69.5,16.4,0.584,76.7,1.017,skovde,referred,glaucoma
S157_1,P157,70.0,15.4,0.644,89.2,-0.198,skovde,routine screening,healthy
S158_0,P158,70.7,13.8,0.45,97.9,0.747,gothenburg,routine screening,healthy
S158_1,P158,69.8,13.2,0.513,96.7,-1.825,gothenburg,routine screening,healthy
S159_0,P159,75.4,15.4,0.575,111.8,-0.565,skovde,routine screening,healthy
S159_1,P159,74.6,17.9,0.412,88.5,-1.376,skovde,routine screening,healthy
S160_0,P160,60.9,10.4,0.39,100.3,0.27,linkoping,routine screening,healthy
S160_1,P160,58.8,12.9,0.398,100.9,-0.191,linkoping,routine screening,healthy
S161_0,P161,60.8,18.3,0.616,96.1,-0.464,linkoping,routine screening,healthy
S161_1,P161,62.9,15.9,0.316,107.6,1.142,linkoping,routine screening,healthy
S162_0,P162,40.0,14.5,0.367,123.7,0.478,skovde,routine screening,healthy
S162_1,P162,40.9,6.2,0.378,107.5,1.068,skovde,routine screening,healthy
S163_0,P163,62.4,18.5,0.445,103.9,0.876,gothenburg,routine screening,healthy
S163_1,P163,59.9,16.8,0.378,96.1,0.142,gothenburg,referred,glaucoma
S164_0,P164,64.7,18.4,0.264,84.7,1.543,linkoping,routine screening,healthy
S164_1,P164,61.8,15.6,0.483,79.6,-0.289,linkoping,routine screening,healthy
S165_0,P165,72.3,14.1,0.46,93.8,-0.295,gothenburg,routine screening,healthy
S165_1,P165,74.8,17.2,0.555,106.0,1.926,gothenburg,routine screening,healthy
S166_0,P166,62.2,16.2,0.638,78.0,-1.463,linkoping,referred,glaucoma
S166_1,P166,64.9,13.6,0.505,109.3,0.087,linkoping,referred,glaucoma
S167_0,P167,65.6,22.1,0.672,84.0,0.501,gothenburg,referred,glaucoma
S167_1,P167,63.3,22.0,0.84,84.1,-1.257,gothenburg,referred,glaucoma
S168_0,P168,53.7,20.2,0.474,83.2,1.423,linkoping,routine screening,healthy
S168_1,P168,54.3,18.0,0.421,77.6,-0.201,linkoping,routine screening,healthy
S169_0,P169,62.6,13.7,0.578,103.9,0.167,linkoping,routine screening,healthy
S169_1,P169,66.9,19.3,0.572,88.7,-0.762,linkoping,referred,glaucoma
S170_0,P170,60.4,14.8,0.373,98.5,1.083,gothenburg,routine screening,healthy
S170_1,P170,60.1,14.1,0.334,106.4,-2.21,gothenburg,routine screening,healthy
S171_0,P171,43.4,17.4,0.332,103.2,0.316,gothenburg,routine screening,healthy
S171_1,P171,46.4,23.1,0.304,94.3,-0.698,gothenburg,routine screening,healthy
S172_0,P172,63.3,15.1,0.452,98.1,-0.583,gothenburg,referred,glaucoma
S172_1,P172,63.6,8.8,0.465,86.7,1.428,gothenburg,routine screening,healthy
S173_0,P173,49.5,19.5,0.538,93.9,0.56,gothenburg,routine screening,healthy
S173_1,P173,48.7,16.1,0.601,93.3,-1.018,gothenburg,routine screening,healthy
S174_0,P174,69.0,13.8,0.494,96.0,0.974,gothenburg,routine screening,healthy
S174_1,P174,71.4,9.8,0.376,107.7,0.977,gothenburg,referred,glaucoma
S175_0,P175,73.3,22.3,0.556,92.5,-2.634,linkoping,referred,glaucoma
S175_1,P175,73.0,23.0,0.479,94.3,-0.337,linkoping,referred,glaucoma
S176_0,P176,57.0,17.7,0.333,81.3,0.173,skovde,routine screening,healthy
S176_1,P176,55.2,20.4,0.649,79.7,-1.543,skovde,referred,glaucoma
S177_0,P177,82.7,13.3,0.276,101.0,0.873,linkoping,routine screening,healthy
S177_1,P177,83.5,17.9,0.362,107.5,0.738,linkoping,referred,glaucoma
S178_0,P178,80.8,13.1,0.492,103.3,0.672,gothenburg,routine screening,healthy
S178_1,P178,81.6,14.4,0.438,98.5,-0.254,gothenburg,routine screening,healthy
S179_0,P179,63.1,15.5,0.413,86.0,0.822,skovde,routine screening,healthy
S179_1,P179,65.0,20.7,0.694,89.2,0.286,skovde,referred,glaucoma
S180_0,P180,55.4,14.4,0.574,93.7,-0.314,linkoping,routine screening,healthy
S180_1,P180,56.8,18.0,0.494,106.8,1.104,linkoping,routine screening,healthy
S181_0,P181,50.8,13.9,0.516,95.1,-0.187,linkoping,routine screening,healthy
S181_1,P181,50.0,18.3,0.324,103.5,0.143,linkoping,routine screening,healthy
S182_0,P182,65.5,15.9,0.441,83.3,-0.153,linkoping,routine screening,healthy
S182_1,P182,67.2,20.9,0.699,89.0,-1.185,linkoping,referred,glaucoma
S183_0,P183,66.2,13.4,0.366,88.2,-1.5,linkoping,routine screening,healthy
S183_1,P183,67.0,21.5,0.469,88.7,1.323,linkoping,routine screening,healthy
S184_0,P184,66.3,14.6,0.371,98.2,-0.495,linkoping,routine screening,healthy
S184_1,P184,66.3,17.6,0.446,108.6,0.605,linkoping,referred,glaucoma
S185_0,P185,72.8,19.1,0.499,79.7,-2.02,linkoping,routine screening,healthy
S185_1,P185,74.0,18.6,0.673,69.9,-0.548,linkoping,referred,glaucoma
S186_0,P186,78.4,10.2,0.227,116.0,1.195,linkoping,routine screening,healthy
S186_1,P186,79.5,12.6,0.354,99.4,1.02,linkoping,referred,glaucoma
S187_0,P187,75.3,13.1,0.549,87.6,0.701,skovde,referred,glaucoma
S187_1,P187,71.8,17.3,0.498,118.2,0.33,skovde,routine screening,healthy
S188_0,P188,67.2,12.4,0.31,81.7,-1.153,skovde,routine screening,healthy
S188_1,P188,65.2,18.0,0.43,81.6,-0.413,skovde,routine screening,healthy
S189_0,P189,57.4,13.4,0.358,87.4,-1.028,skovde,routine screening,healthy
S189_1,P189,58.1,19.7,0.41,105.9,2.056,skovde,routine screening,healthy
S190_0,P190,56.7,12.5,0.393,93.1,-1.753,linkoping,routine screening,healthy
S190_1,P190,53.6,17.6,0.464,96.5,-1.305,linkoping,routine screening,healthy
S191_0,P191,64.8,16.8,0.311,86.9,-1.089,skovde,routine screening,healthy
S191_1,P191,64.0,20.0,0.54,101.2,1.273,skovde,routine screening,healthy
S192_0,P192,63.8,19.0,0.516,98.8,-0.757,linkoping,routine screening,healthy
S192_1,P192,64.5,16.4,0.464,91.2,0.339,linkoping,routine screening,healthy
S193_0,P193,58.6,13.0,0.391,83.9,-0.199,gothenburg,routine screening,healthy
S193_1,P193,62.7,14.9,0.582,94.4,-0.971,gothenburg,routine screening,healthy
S194_0,P194,65.4,18.3,0.479,99.4,0.477,skovde,routine screening,healthy
S194_1,P194,65.5,15.5,0.558,92.8,0.821,skovde,routine screening,healthy
S195_0,P195,83.1,8.2,0.205,104.3,0.308,skovde,routine screening,healthy
S195_1,P195,78.8,15.8,0.359,107.1,1.052,skovde,routine screening,healthy
S196_0,P196,73.9,17.3,0.254,98.6,0.651,linkoping,routine screening,healthy
S196_1,P196,78.4,13.9,0.305,95.3,0.954,linkoping,routine screening,healthy
S197_0,P197,80.2,11.0,0.289,106.3,0.104,skovde,routine screening,healthy
S197_1,P197,81.8,11.7,0.185,104.8,-1.408,skovde,routine screening,healthy
S198_0,P198,70.9,16.8,0.506,93.9,1.444,skovde,referred,glaucoma
S198_1,P198,68.0,16.3,0.498,94.2,-1.352,skovde,routine screening,healthy
S199_0,P199,53.5,12.4,0.22,103.5,-1.131,skovde,routine screening,healthy
S199_1,P199,57.0,15.4,0.352,123.0,-0.659,skovde,routine screening,healthy
1 sample_id patient_id age iop cdr rnfl noise_feat site notes diagnosis
2 S000_0 P000 70.1 16.3 0.604 105.9 -2.213 linkoping routine screening healthy
3 S000_1 P000 72.4 14.3 0.376 80.1 -0.53 linkoping routine screening healthy
4 S001_0 P001 58.5 16.3 0.224 104.7 -0.942 skovde routine screening healthy
5 S001_1 P001 59.8 14.8 0.283 104.3 -0.25 skovde routine screening healthy
6 S002_0 P002 81.9 17.0 0.422 106.2 -0.211 linkoping referred glaucoma
7 S002_1 P002 83.5 12.9 0.287 113.9 -0.101 linkoping routine screening healthy
8 S003_0 P003 69.0 16.4 0.488 104.0 0.723 skovde routine screening healthy
9 S003_1 P003 70.2 16.6 0.411 89.1 -0.377 skovde referred glaucoma
10 S004_0 P004 66.5 20.7 0.332 81.9 0.965 linkoping routine screening healthy
11 S004_1 P004 64.4 17.1 0.487 76.4 0.166 linkoping referred glaucoma
12 S005_0 P005 54.3 18.0 0.502 79.2 0.194 skovde routine screening healthy
13 S005_1 P005 55.1 18.3 0.53 74.8 0.283 skovde referred glaucoma
14 S006_0 P006 82.2 19.9 0.6 86.6 0.203 gothenburg referred glaucoma
15 S006_1 P006 78.5 20.2 0.548 94.3 -2.461 gothenburg routine screening healthy
16 S007_0 P007 68.9 20.8 0.533 89.7 -0.308 skovde routine screening healthy
17 S007_1 P007 69.2 20.0 0.359 91.3 1.442 skovde routine screening healthy
18 S008_0 P008 52.3 15.0 0.269 88.9 -0.176 skovde routine screening healthy
19 S008_1 P008 58.5 12.5 0.364 108.4 0.36 skovde routine screening healthy
20 S009_0 P009 53.4 22.0 0.55 91.7 -0.683 gothenburg routine screening healthy
21 S009_1 P009 53.4 20.7 0.374 108.2 0.327 gothenburg referred glaucoma
22 S010_0 P010 55.4 18.4 0.222 116.5 -0.139 gothenburg routine screening healthy
23 S010_1 P010 59.8 15.2 0.41 106.9 -0.413 gothenburg routine screening healthy
24 S011_0 P011 47.3 15.9 0.542 84.9 0.637 gothenburg routine screening healthy
25 S011_1 P011 43.9 15.1 0.537 92.9 1.489 gothenburg routine screening healthy
26 S012_0 P012 63.1 15.2 0.465 106.7 -0.551 linkoping routine screening healthy
27 S012_1 P012 61.7 17.9 0.278 77.8 0.144 linkoping referred glaucoma
28 S013_0 P013 53.4 16.4 0.285 83.4 0.027 skovde routine screening healthy
29 S013_1 P013 55.3 16.4 0.436 90.5 -0.498 skovde routine screening healthy
30 S014_0 P014 62.6 9.5 0.347 93.0 1.236 skovde routine screening healthy
31 S014_1 P014 68.7 14.0 0.31 110.2 -0.426 skovde routine screening healthy
32 S015_0 P015 49.1 15.0 0.542 111.0 -1.163 skovde routine screening healthy
33 S015_1 P015 46.6 14.5 0.307 87.2 0.211 skovde routine screening healthy
34 S016_0 P016 79.3 20.4 0.583 93.9 1.614 gothenburg referred glaucoma
35 S016_1 P016 78.7 20.1 0.617 61.4 0.132 gothenburg referred glaucoma
36 S017_0 P017 73.9 16.9 0.532 90.8 0.702 skovde referred glaucoma
37 S017_1 P017 74.4 16.3 0.299 103.0 0.696 skovde routine screening healthy
38 S018_0 P018 47.6 17.6 0.455 84.9 0.486 gothenburg routine screening healthy
39 S018_1 P018 46.7 19.0 0.502 85.8 -2.124 gothenburg routine screening healthy
40 S019_0 P019 68.5 16.4 0.587 87.7 2.401 skovde referred glaucoma
41 S019_1 P019 70.6 19.4 0.344 93.6 1.081 skovde referred glaucoma
42 S020_0 P020 54.1 17.2 0.338 82.2 0.075 linkoping routine screening healthy
43 S020_1 P020 53.5 14.8 0.467 101.0 1.709 linkoping routine screening healthy
44 S021_0 P021 67.9 21.8 0.48 98.1 0.837 skovde routine screening healthy
45 S021_1 P021 67.8 17.9 0.467 105.6 3.741 skovde referred glaucoma
46 S022_0 P022 89.5 12.5 0.34 120.1 1.158 gothenburg routine screening healthy
47 S022_1 P022 89.2 12.7 0.284 106.0 -1.531 gothenburg routine screening healthy
48 S023_0 P023 70.4 18.9 0.446 85.7 -1.125 skovde routine screening healthy
49 S023_1 P023 70.0 12.1 0.37 82.1 1.431 skovde routine screening healthy
50 S024_0 P024 60.6 19.0 0.711 91.7 -1.05 skovde routine screening healthy
51 S024_1 P024 64.0 16.3 0.459 90.5 -0.268 skovde routine screening healthy
52 S025_0 P025 51.4 14.8 0.316 92.1 0.388 skovde routine screening healthy
53 S025_1 P025 49.9 14.8 0.406 108.2 2.731 skovde routine screening healthy
54 S026_0 P026 67.4 19.7 0.759 84.1 -0.395 skovde referred glaucoma
55 S026_1 P026 68.1 22.7 0.949 77.8 -0.573 skovde referred glaucoma
56 S027_0 P027 66.7 17.4 0.555 74.2 1.402 gothenburg referred glaucoma
57 S027_1 P027 64.0 23.6 0.63 107.5 -0.373 gothenburg routine screening healthy
58 S028_0 P028 67.9 11.6 0.429 91.4 -0.133 gothenburg routine screening healthy
59 S028_1 P028 67.2 12.6 0.424 103.9 -0.168 gothenburg routine screening healthy
60 S029_0 P029 54.1 15.5 0.641 103.6 -0.225 linkoping routine screening healthy
61 S029_1 P029 55.5 14.8 0.47 92.6 -0.723 linkoping routine screening healthy
62 S030_0 P030 37.8 13.9 0.452 110.1 -0.634 linkoping routine screening healthy
63 S030_1 P030 43.5 11.1 0.291 103.4 0.422 linkoping routine screening healthy
64 S031_0 P031 57.9 13.5 0.555 93.8 0.061 linkoping routine screening healthy
65 S031_1 P031 55.9 16.7 0.674 81.3 -0.494 linkoping referred glaucoma
66 S032_0 P032 62.4 15.2 0.466 107.9 -0.884 linkoping routine screening healthy
67 S032_1 P032 64.3 16.7 0.323 102.3 1.738 linkoping routine screening healthy
68 S033_0 P033 59.5 9.5 0.545 102.7 -0.819 linkoping routine screening healthy
69 S033_1 P033 64.3 17.4 0.725 98.9 -1.576 linkoping routine screening healthy
70 S034_0 P034 69.8 13.2 0.284 93.8 1.161 gothenburg routine screening healthy
71 S034_1 P034 68.6 11.7 0.414 103.8 -0.894 gothenburg routine screening healthy
72 S035_0 P035 53.6 20.9 0.639 88.2 0.558 linkoping routine screening healthy
73 S035_1 P035 50.7 16.3 0.529 103.1 -0.436 linkoping routine screening healthy
74 S036_0 P036 65.5 16.5 0.498 85.0 -0.072 skovde referred glaucoma
75 S036_1 P036 65.0 16.4 0.512 70.5 -0.405 skovde routine screening healthy
76 S037_0 P037 71.6 10.3 0.38 104.9 0.121 gothenburg routine screening healthy
77 S037_1 P037 69.4 11.1 0.279 100.1 1.353 gothenburg routine screening healthy
78 S038_0 P038 48.9 14.9 0.424 102.2 0.868 skovde routine screening healthy
79 S038_1 P038 48.2 14.2 0.559 102.2 0.291 skovde routine screening healthy
80 S039_0 P039 42.2 21.7 0.624 84.3 1.099 skovde referred glaucoma
81 S039_1 P039 39.2 20.2 0.744 85.6 -1.202 skovde routine screening healthy
82 S040_0 P040 70.9 22.2 0.274 94.1 0.93 skovde referred glaucoma
83 S040_1 P040 70.5 16.4 0.387 94.9 -0.387 skovde routine screening healthy
84 S041_0 P041 31.3 18.6 0.472 66.9 -0.95 gothenburg routine screening healthy
85 S041_1 P041 30.3 19.0 0.583 77.3 0.021 gothenburg routine screening healthy
86 S042_0 P042 56.2 16.9 0.655 79.9 -1.525 skovde referred glaucoma
87 S042_1 P042 55.8 12.8 0.578 90.6 0.199 skovde routine screening healthy
88 S043_0 P043 67.3 18.9 0.366 87.9 -0.223 linkoping referred glaucoma
89 S043_1 P043 68.2 20.0 0.346 95.9 0.433 linkoping routine screening healthy
90 S044_0 P044 44.7 9.9 0.328 112.7 1.267 skovde routine screening healthy
91 S044_1 P044 46.7 10.1 0.168 117.7 -0.323 skovde routine screening healthy
92 S045_0 P045 60.7 13.2 0.377 92.4 1.529 skovde routine screening healthy
93 S045_1 P045 60.8 11.8 0.308 97.5 0.812 skovde routine screening healthy
94 S046_0 P046 81.9 11.9 0.559 116.0 -1.724 gothenburg routine screening healthy
95 S046_1 P046 81.1 16.0 0.374 110.9 0.048 gothenburg routine screening healthy
96 S047_0 P047 62.9 17.0 0.388 100.1 -2.62 linkoping routine screening healthy
97 S047_1 P047 60.7 18.8 0.489 84.4 -1.104 linkoping referred glaucoma
98 S048_0 P048 77.9 13.7 0.472 82.6 -1.839 skovde routine screening healthy
99 S048_1 P048 79.2 21.5 0.557 78.8 -1.316 skovde referred glaucoma
100 S049_0 P049 81.6 15.9 0.482 96.2 0.517 skovde routine screening healthy
101 S049_1 P049 81.8 17.6 0.467 89.2 1.345 skovde routine screening healthy
102 S050_0 P050 63.2 12.6 0.291 105.5 0.723 linkoping routine screening healthy
103 S050_1 P050 61.9 17.2 0.529 91.3 0.085 linkoping referred glaucoma
104 S051_0 P051 68.2 15.1 0.501 79.4 1.465 gothenburg routine screening healthy
105 S051_1 P051 67.9 17.5 0.178 84.7 -0.787 gothenburg referred glaucoma
106 S052_0 P052 64.2 22.8 0.735 77.8 -0.727 gothenburg referred glaucoma
107 S052_1 P052 64.8 24.0 0.53 67.4 0.458 gothenburg referred glaucoma
108 S053_0 P053 78.2 20.7 0.713 86.4 1.47 skovde referred glaucoma
109 S053_1 P053 80.0 24.5 0.739 78.1 -0.203 skovde routine screening healthy
110 S054_0 P054 51.5 14.1 0.461 101.5 0.655 skovde routine screening healthy
111 S054_1 P054 50.1 12.5 0.416 104.2 -1.01 skovde routine screening healthy
112 S055_0 P055 63.8 13.7 0.253 106.2 0.876 linkoping routine screening healthy
113 S055_1 P055 63.7 14.4 0.425 115.1 0.361 linkoping routine screening healthy
114 S056_0 P056 60.9 19.2 0.465 89.6 -0.006 gothenburg referred glaucoma
115 S056_1 P056 62.7 13.3 0.549 90.0 -1.266 gothenburg routine screening healthy
116 S057_0 P057 51.1 20.3 0.502 79.2 0.713 gothenburg referred glaucoma
117 S057_1 P057 51.9 17.3 0.886 82.2 0.985 gothenburg referred glaucoma
118 S058_0 P058 76.1 20.4 0.31 94.5 0.518 linkoping routine screening healthy
119 S058_1 P058 74.3 11.3 0.569 90.6 -0.858 linkoping routine screening healthy
120 S059_0 P059 69.4 6.3 0.406 102.4 0.656 skovde routine screening healthy
121 S059_1 P059 66.5 11.7 0.188 112.9 -0.231 skovde routine screening healthy
122 S060_0 P060 67.1 17.1 0.336 105.1 2.203 linkoping routine screening healthy
123 S060_1 P060 67.4 7.0 0.552 101.3 -0.097 linkoping routine screening healthy
124 S061_0 P061 56.8 16.6 0.498 89.6 0.664 gothenburg routine screening healthy
125 S061_1 P061 57.7 17.5 0.402 79.8 0.083 gothenburg referred glaucoma
126 S062_0 P062 55.9 8.5 0.424 101.6 0.189 gothenburg routine screening healthy
127 S062_1 P062 53.5 13.8 0.204 99.6 -1.775 gothenburg routine screening healthy
128 S063_0 P063 33.8 18.6 0.233 105.6 1.261 linkoping routine screening healthy
129 S063_1 P063 38.1 14.2 0.479 95.6 1.488 linkoping routine screening healthy
130 S064_0 P064 66.6 10.6 0.456 81.9 -1.782 linkoping routine screening healthy
131 S064_1 P064 66.8 14.1 0.598 91.1 -0.284 linkoping routine screening healthy
132 S065_0 P065 47.2 22.2 0.524 92.0 -2.055 linkoping routine screening healthy
133 S065_1 P065 47.3 20.9 0.545 74.3 0.414 linkoping referred glaucoma
134 S066_0 P066 69.0 16.9 0.476 88.8 0.059 gothenburg routine screening healthy
135 S066_1 P066 73.0 15.8 0.461 84.6 -1.282 gothenburg routine screening healthy
136 S067_0 P067 98.7 14.4 0.458 96.5 -0.12 linkoping routine screening healthy
137 S067_1 P067 97.5 14.2 0.393 108.6 0.741 linkoping referred glaucoma
138 S068_0 P068 91.4 9.7 0.442 104.1 -0.063 gothenburg routine screening healthy
139 S068_1 P068 90.6 15.3 0.221 93.8 -0.385 gothenburg routine screening healthy
140 S069_0 P069 79.3 16.9 0.513 93.0 -0.19 skovde referred glaucoma
141 S069_1 P069 76.8 9.6 0.5 88.0 0.497 skovde referred glaucoma
142 S070_0 P070 48.1 16.2 0.344 92.1 -1.434 linkoping routine screening healthy
143 S070_1 P070 44.1 16.4 0.439 102.1 0.118 linkoping routine screening healthy
144 S071_0 P071 80.1 17.6 0.435 95.9 1.295 skovde referred glaucoma
145 S071_1 P071 80.5 17.5 0.443 106.0 -1.734 skovde routine screening healthy
146 S072_0 P072 65.9 13.9 0.406 98.9 -0.197 skovde routine screening healthy
147 S072_1 P072 65.6 13.4 0.225 96.0 -2.278 skovde routine screening healthy
148 S073_0 P073 63.9 16.7 0.4 90.2 -1.504 linkoping routine screening healthy
149 S073_1 P073 65.3 14.4 0.594 114.4 -1.364 linkoping routine screening healthy
150 S074_0 P074 62.8 17.3 0.413 90.6 -0.218 linkoping routine screening healthy
151 S074_1 P074 66.4 17.3 0.465 90.5 -1.062 linkoping routine screening healthy
152 S075_0 P075 75.4 15.8 0.223 96.8 0.432 linkoping routine screening healthy
153 S075_1 P075 73.4 16.9 0.385 95.7 1.741 linkoping routine screening healthy
154 S076_0 P076 70.8 16.5 0.369 80.3 -1.273 linkoping routine screening healthy
155 S076_1 P076 66.6 15.2 0.568 99.7 -0.03 linkoping routine screening healthy
156 S077_0 P077 63.5 17.7 0.594 97.0 -0.577 linkoping referred glaucoma
157 S077_1 P077 63.8 17.0 0.275 83.1 -0.084 linkoping referred glaucoma
158 S078_0 P078 53.2 16.5 0.356 86.7 -0.178 gothenburg routine screening healthy
159 S078_1 P078 54.0 13.2 0.321 90.0 -1.077 gothenburg routine screening healthy
160 S079_0 P079 60.7 13.5 0.401 100.6 0.663 linkoping routine screening healthy
161 S079_1 P079 58.4 7.6 0.299 103.0 0.404 linkoping routine screening healthy
162 S080_0 P080 75.1 14.0 0.382 90.3 0.808 linkoping referred glaucoma
163 S080_1 P080 74.3 17.0 0.568 97.0 0.933 linkoping routine screening healthy
164 S081_0 P081 65.5 14.6 0.278 109.2 0.092 skovde routine screening healthy
165 S081_1 P081 68.2 14.0 0.38 103.4 0.584 skovde routine screening healthy
166 S082_0 P082 88.5 15.0 0.649 99.0 -2.037 skovde referred glaucoma
167 S082_1 P082 87.1 17.2 0.578 81.9 -1.284 skovde referred glaucoma
168 S083_0 P083 70.3 14.8 0.359 74.5 1.257 skovde referred glaucoma
169 S083_1 P083 72.5 21.4 0.38 90.1 -0.261 skovde routine screening healthy
170 S084_0 P084 69.1 15.5 0.3 101.1 0.098 gothenburg routine screening healthy
171 S084_1 P084 67.7 16.1 0.295 94.8 0.552 gothenburg routine screening healthy
172 S085_0 P085 76.5 14.0 0.405 107.7 -0.78 linkoping routine screening healthy
173 S085_1 P085 76.7 15.6 0.294 119.2 0.216 linkoping routine screening healthy
174 S086_0 P086 67.8 12.8 0.436 119.6 -0.095 linkoping routine screening healthy
175 S086_1 P086 66.1 13.5 0.553 109.0 0.702 linkoping routine screening healthy
176 S087_0 P087 79.9 10.6 0.334 90.1 -1.494 linkoping routine screening healthy
177 S087_1 P087 83.7 11.6 0.517 91.4 -1.056 linkoping routine screening healthy
178 S088_0 P088 77.9 20.7 0.95 78.3 -0.238 skovde referred glaucoma
179 S088_1 P088 79.5 22.4 0.682 85.7 0.87 skovde referred glaucoma
180 S089_0 P089 80.9 17.6 0.714 101.8 0.221 skovde routine screening healthy
181 S089_1 P089 79.6 19.0 0.521 84.6 -0.252 skovde referred glaucoma
182 S090_0 P090 66.1 7.3 0.11 128.9 0.854 skovde routine screening healthy
183 S090_1 P090 67.7 8.9 0.123 112.5 1.262 skovde routine screening healthy
184 S091_0 P091 42.8 17.5 0.45 107.6 -1.459 linkoping routine screening healthy
185 S091_1 P091 43.0 11.8 0.43 88.6 -1.795 linkoping routine screening healthy
186 S092_0 P092 72.1 14.4 0.403 95.3 0.841 gothenburg referred glaucoma
187 S092_1 P092 72.7 14.5 0.55 90.8 1.434 gothenburg routine screening healthy
188 S093_0 P093 67.8 13.7 0.236 77.9 1.227 linkoping routine screening healthy
189 S093_1 P093 68.0 14.8 0.386 98.0 1.462 linkoping routine screening healthy
190 S094_0 P094 87.7 15.3 0.414 93.4 -0.475 linkoping routine screening healthy
191 S094_1 P094 86.6 20.9 0.545 88.2 0.159 linkoping referred glaucoma
192 S095_0 P095 60.7 13.0 0.264 99.2 -1.077 gothenburg routine screening healthy
193 S095_1 P095 59.7 17.6 0.122 100.6 -0.121 gothenburg routine screening healthy
194 S096_0 P096 42.6 18.8 0.404 93.9 -1.789 linkoping referred glaucoma
195 S096_1 P096 42.4 18.5 0.67 94.0 -0.324 linkoping routine screening healthy
196 S097_0 P097 69.7 14.0 0.555 90.0 0.488 gothenburg routine screening healthy
197 S097_1 P097 70.2 15.1 0.476 98.1 -0.985 gothenburg routine screening healthy
198 S098_0 P098 66.3 10.1 0.128 110.7 2.472 linkoping routine screening healthy
199 S098_1 P098 66.7 11.3 0.359 98.4 -0.439 linkoping routine screening healthy
200 S099_0 P099 61.9 11.9 0.53 106.8 0.424 gothenburg routine screening healthy
201 S099_1 P099 63.9 9.5 0.05 116.1 -1.427 gothenburg routine screening healthy
202 S100_0 P100 62.9 14.5 0.279 91.7 -0.303 gothenburg routine screening healthy
203 S100_1 P100 65.4 13.4 0.344 101.7 1.48 gothenburg routine screening healthy
204 S101_0 P101 68.4 16.9 0.505 94.4 -2.052 gothenburg routine screening healthy
205 S101_1 P101 68.6 19.9 0.359 82.3 1.006 gothenburg routine screening healthy
206 S102_0 P102 45.6 15.0 0.402 91.4 -1.103 skovde routine screening healthy
207 S102_1 P102 45.3 12.5 0.539 85.5 1.094 skovde routine screening healthy
208 S103_0 P103 44.5 16.5 0.369 100.8 -1.709 skovde routine screening healthy
209 S103_1 P103 42.9 9.5 0.369 105.8 -1.277 skovde routine screening healthy
210 S104_0 P104 61.9 20.0 0.555 101.4 -0.769 skovde referred glaucoma
211 S104_1 P104 57.6 17.7 0.657 86.5 0.485 skovde routine screening healthy
212 S105_0 P105 72.1 15.5 0.381 116.0 -1.468 gothenburg referred glaucoma
213 S105_1 P105 70.6 15.6 0.424 97.5 -1.241 gothenburg routine screening healthy
214 S106_0 P106 61.5 15.1 0.42 94.0 0.373 skovde routine screening healthy
215 S106_1 P106 61.2 14.9 0.24 111.6 -2.492 skovde routine screening healthy
216 S107_0 P107 62.9 17.3 0.406 109.9 -0.96 gothenburg routine screening healthy
217 S107_1 P107 62.6 15.9 0.445 114.7 0.729 gothenburg routine screening healthy
218 S108_0 P108 57.2 14.3 0.337 100.8 0.776 gothenburg referred glaucoma
219 S108_1 P108 55.7 18.1 0.414 81.7 0.793 gothenburg routine screening healthy
220 S109_0 P109 46.2 16.2 0.355 103.2 -1.935 skovde routine screening healthy
221 S109_1 P109 50.8 17.5 0.532 84.7 -0.559 skovde routine screening healthy
222 S110_0 P110 68.0 11.9 0.593 90.8 0.313 gothenburg referred glaucoma
223 S110_1 P110 68.5 16.8 0.497 89.8 0.785 gothenburg routine screening healthy
224 S111_0 P111 49.8 12.8 0.196 101.8 0.118 skovde routine screening healthy
225 S111_1 P111 54.4 14.9 0.19 112.0 -0.353 skovde routine screening healthy
226 S112_0 P112 58.9 15.3 0.491 99.5 -1.228 linkoping routine screening healthy
227 S112_1 P112 57.3 14.9 0.363 106.7 -0.438 linkoping routine screening healthy
228 S113_0 P113 40.9 14.0 0.32 91.8 2.038 linkoping routine screening healthy
229 S113_1 P113 38.8 10.0 0.457 95.9 -0.671 linkoping routine screening healthy
230 S114_0 P114 51.1 22.2 0.46 85.0 -0.156 linkoping routine screening healthy
231 S114_1 P114 51.8 17.7 0.908 105.7 1.598 linkoping routine screening healthy
232 S115_0 P115 55.4 13.7 0.378 112.8 0.112 skovde routine screening healthy
233 S115_1 P115 53.2 10.5 0.171 107.3 1.708 skovde routine screening healthy
234 S116_0 P116 65.9 16.5 0.55 84.5 0.205 gothenburg routine screening healthy
235 S116_1 P116 66.6 21.3 0.676 92.2 0.116 gothenburg referred glaucoma
236 S117_0 P117 77.6 21.6 0.458 83.5 -0.291 linkoping referred glaucoma
237 S117_1 P117 79.6 17.6 0.578 88.8 -1.093 linkoping referred glaucoma
238 S118_0 P118 66.6 13.2 0.555 104.2 -0.153 skovde referred glaucoma
239 S118_1 P118 63.6 18.7 0.267 109.0 1.358 skovde routine screening healthy
240 S119_0 P119 62.3 15.6 0.398 85.3 0.185 skovde routine screening healthy
241 S119_1 P119 62.3 20.3 0.759 92.8 -1.639 skovde routine screening healthy
242 S120_0 P120 55.3 23.6 0.406 81.8 1.475 linkoping routine screening healthy
243 S120_1 P120 52.0 26.5 0.618 70.7 -0.683 linkoping referred glaucoma
244 S121_0 P121 58.2 16.0 0.208 96.9 1.246 skovde routine screening healthy
245 S121_1 P121 59.8 14.1 0.407 103.7 0.705 skovde routine screening healthy
246 S122_0 P122 65.5 10.9 0.498 90.9 -0.238 skovde routine screening healthy
247 S122_1 P122 65.8 13.5 0.327 117.5 -1.858 skovde routine screening healthy
248 S123_0 P123 73.1 17.7 0.501 83.0 0.655 linkoping referred glaucoma
249 S123_1 P123 74.5 17.2 0.557 72.1 0.237 linkoping referred glaucoma
250 S124_0 P124 66.4 16.0 0.657 90.8 0.969 skovde routine screening healthy
251 S124_1 P124 67.5 16.5 0.441 108.5 -1.79 skovde routine screening healthy
252 S125_0 P125 48.1 22.7 0.3 113.0 0.094 linkoping referred glaucoma
253 S125_1 P125 48.1 18.5 0.553 75.3 -0.4 linkoping routine screening healthy
254 S126_0 P126 62.5 8.9 0.401 106.0 -1.711 linkoping routine screening healthy
255 S126_1 P126 68.4 16.9 0.398 119.6 1.789 linkoping routine screening healthy
256 S127_0 P127 67.3 15.7 0.403 101.0 0.603 skovde routine screening healthy
257 S127_1 P127 67.5 13.9 0.315 101.0 -1.338 skovde routine screening healthy
258 S128_0 P128 89.9 14.0 0.357 86.2 0.899 skovde routine screening healthy
259 S128_1 P128 87.4 16.2 0.542 111.9 -0.209 skovde routine screening healthy
260 S129_0 P129 65.0 15.7 0.274 91.8 -0.97 skovde routine screening healthy
261 S129_1 P129 66.2 16.6 0.468 112.6 0.018 skovde referred glaucoma
262 S130_0 P130 62.0 12.7 0.286 97.2 -1.396 linkoping routine screening healthy
263 S130_1 P130 60.2 20.4 0.488 108.6 0.652 linkoping referred glaucoma
264 S131_0 P131 55.7 19.3 0.588 78.9 -0.451 linkoping referred glaucoma
265 S131_1 P131 57.7 17.2 0.799 84.4 2.444 linkoping referred glaucoma
266 S132_0 P132 55.0 11.4 0.121 129.6 -0.505 skovde routine screening healthy
267 S132_1 P132 58.0 8.3 0.112 129.5 -2.233 skovde routine screening healthy
268 S133_0 P133 69.6 17.1 0.445 105.5 1.236 skovde routine screening healthy
269 S133_1 P133 70.6 15.9 0.347 98.7 -1.171 skovde routine screening healthy
270 S134_0 P134 56.4 15.0 0.61 85.1 -0.415 gothenburg routine screening healthy
271 S134_1 P134 53.9 23.9 0.786 81.2 -0.455 gothenburg referred glaucoma
272 S135_0 P135 49.6 13.2 0.487 94.2 -0.9 gothenburg routine screening healthy
273 S135_1 P135 47.4 13.9 0.438 96.3 -0.149 gothenburg routine screening healthy
274 S136_0 P136 58.5 12.0 0.46 105.9 0.507 gothenburg routine screening healthy
275 S136_1 P136 57.1 15.3 0.354 95.9 -0.284 gothenburg routine screening healthy
276 S137_0 P137 55.7 22.5 0.595 67.5 0.592 skovde referred glaucoma
277 S137_1 P137 55.3 21.9 0.536 98.6 0.732 skovde referred glaucoma
278 S138_0 P138 56.7 17.6 0.637 110.3 0.842 gothenburg routine screening healthy
279 S138_1 P138 52.5 17.1 0.239 103.7 -0.121 gothenburg routine screening healthy
280 S139_0 P139 65.1 10.0 0.356 91.9 1.104 linkoping routine screening healthy
281 S139_1 P139 67.8 10.7 0.225 112.3 1.818 linkoping routine screening healthy
282 S140_0 P140 81.4 14.0 0.267 90.7 -0.025 skovde routine screening healthy
283 S140_1 P140 82.5 18.1 0.346 94.1 -0.968 skovde routine screening healthy
284 S141_0 P141 76.2 16.1 0.392 88.1 0.785 gothenburg routine screening healthy
285 S141_1 P141 76.3 14.4 0.587 79.6 1.292 gothenburg routine screening healthy
286 S142_0 P142 66.3 10.2 0.384 118.0 0.866 skovde routine screening healthy
287 S142_1 P142 69.2 9.8 0.23 115.3 -0.004 skovde routine screening healthy
288 S143_0 P143 56.5 9.5 0.393 88.7 0.153 linkoping routine screening healthy
289 S143_1 P143 55.7 16.3 0.58 87.6 -0.496 linkoping routine screening healthy
290 S144_0 P144 68.5 11.8 0.36 98.5 0.737 linkoping routine screening healthy
291 S144_1 P144 69.0 17.8 0.405 100.0 -1.916 linkoping routine screening healthy
292 S145_0 P145 63.5 16.0 0.512 100.0 0.13 gothenburg referred glaucoma
293 S145_1 P145 64.3 19.2 0.696 84.1 1.081 gothenburg referred glaucoma
294 S146_0 P146 73.8 20.7 0.403 88.1 -0.083 gothenburg routine screening healthy
295 S146_1 P146 73.7 15.5 0.564 97.5 -0.785 gothenburg referred glaucoma
296 S147_0 P147 75.3 19.1 0.494 57.7 1.568 gothenburg referred glaucoma
297 S147_1 P147 73.8 16.7 0.568 91.8 -1.798 gothenburg routine screening healthy
298 S148_0 P148 56.5 13.4 0.502 89.3 0.173 gothenburg routine screening healthy
299 S148_1 P148 54.8 19.0 0.447 103.9 -2.149 gothenburg routine screening healthy
300 S149_0 P149 55.6 13.4 0.357 90.5 0.33 gothenburg referred glaucoma
301 S149_1 P149 57.4 19.2 0.431 104.3 0.479 gothenburg routine screening healthy
302 S150_0 P150 62.2 19.2 0.195 113.5 -2.857 skovde routine screening healthy
303 S150_1 P150 62.4 16.1 0.491 98.0 0.304 skovde referred glaucoma
304 S151_0 P151 64.0 21.4 0.594 88.6 -0.264 linkoping routine screening healthy
305 S151_1 P151 66.4 17.1 0.509 81.0 -1.138 linkoping routine screening healthy
306 S152_0 P152 56.0 13.3 0.344 100.4 -0.223 gothenburg routine screening healthy
307 S152_1 P152 55.3 15.4 0.429 92.9 -1.279 gothenburg routine screening healthy
308 S153_0 P153 55.5 19.0 0.471 87.0 0.243 gothenburg routine screening healthy
309 S153_1 P153 57.9 19.8 0.576 83.3 -1.692 gothenburg routine screening healthy
310 S154_0 P154 58.9 14.9 0.439 112.4 -2.252 linkoping routine screening healthy
311 S154_1 P154 60.1 15.7 0.404 100.5 -0.52 linkoping referred glaucoma
312 S155_0 P155 69.5 14.2 0.352 100.8 1.626 linkoping referred glaucoma
313 S155_1 P155 67.1 17.8 0.615 75.7 1.744 linkoping routine screening healthy
314 S156_0 P156 68.7 20.3 0.436 86.8 0.842 skovde routine screening healthy
315 S156_1 P156 71.9 11.8 0.43 97.5 -0.222 skovde routine screening healthy
316 S157_0 P157 69.5 16.4 0.584 76.7 1.017 skovde referred glaucoma
317 S157_1 P157 70.0 15.4 0.644 89.2 -0.198 skovde routine screening healthy
318 S158_0 P158 70.7 13.8 0.45 97.9 0.747 gothenburg routine screening healthy
319 S158_1 P158 69.8 13.2 0.513 96.7 -1.825 gothenburg routine screening healthy
320 S159_0 P159 75.4 15.4 0.575 111.8 -0.565 skovde routine screening healthy
321 S159_1 P159 74.6 17.9 0.412 88.5 -1.376 skovde routine screening healthy
322 S160_0 P160 60.9 10.4 0.39 100.3 0.27 linkoping routine screening healthy
323 S160_1 P160 58.8 12.9 0.398 100.9 -0.191 linkoping routine screening healthy
324 S161_0 P161 60.8 18.3 0.616 96.1 -0.464 linkoping routine screening healthy
325 S161_1 P161 62.9 15.9 0.316 107.6 1.142 linkoping routine screening healthy
326 S162_0 P162 40.0 14.5 0.367 123.7 0.478 skovde routine screening healthy
327 S162_1 P162 40.9 6.2 0.378 107.5 1.068 skovde routine screening healthy
328 S163_0 P163 62.4 18.5 0.445 103.9 0.876 gothenburg routine screening healthy
329 S163_1 P163 59.9 16.8 0.378 96.1 0.142 gothenburg referred glaucoma
330 S164_0 P164 64.7 18.4 0.264 84.7 1.543 linkoping routine screening healthy
331 S164_1 P164 61.8 15.6 0.483 79.6 -0.289 linkoping routine screening healthy
332 S165_0 P165 72.3 14.1 0.46 93.8 -0.295 gothenburg routine screening healthy
333 S165_1 P165 74.8 17.2 0.555 106.0 1.926 gothenburg routine screening healthy
334 S166_0 P166 62.2 16.2 0.638 78.0 -1.463 linkoping referred glaucoma
335 S166_1 P166 64.9 13.6 0.505 109.3 0.087 linkoping referred glaucoma
336 S167_0 P167 65.6 22.1 0.672 84.0 0.501 gothenburg referred glaucoma
337 S167_1 P167 63.3 22.0 0.84 84.1 -1.257 gothenburg referred glaucoma
338 S168_0 P168 53.7 20.2 0.474 83.2 1.423 linkoping routine screening healthy
339 S168_1 P168 54.3 18.0 0.421 77.6 -0.201 linkoping routine screening healthy
340 S169_0 P169 62.6 13.7 0.578 103.9 0.167 linkoping routine screening healthy
341 S169_1 P169 66.9 19.3 0.572 88.7 -0.762 linkoping referred glaucoma
342 S170_0 P170 60.4 14.8 0.373 98.5 1.083 gothenburg routine screening healthy
343 S170_1 P170 60.1 14.1 0.334 106.4 -2.21 gothenburg routine screening healthy
344 S171_0 P171 43.4 17.4 0.332 103.2 0.316 gothenburg routine screening healthy
345 S171_1 P171 46.4 23.1 0.304 94.3 -0.698 gothenburg routine screening healthy
346 S172_0 P172 63.3 15.1 0.452 98.1 -0.583 gothenburg referred glaucoma
347 S172_1 P172 63.6 8.8 0.465 86.7 1.428 gothenburg routine screening healthy
348 S173_0 P173 49.5 19.5 0.538 93.9 0.56 gothenburg routine screening healthy
349 S173_1 P173 48.7 16.1 0.601 93.3 -1.018 gothenburg routine screening healthy
350 S174_0 P174 69.0 13.8 0.494 96.0 0.974 gothenburg routine screening healthy
351 S174_1 P174 71.4 9.8 0.376 107.7 0.977 gothenburg referred glaucoma
352 S175_0 P175 73.3 22.3 0.556 92.5 -2.634 linkoping referred glaucoma
353 S175_1 P175 73.0 23.0 0.479 94.3 -0.337 linkoping referred glaucoma
354 S176_0 P176 57.0 17.7 0.333 81.3 0.173 skovde routine screening healthy
355 S176_1 P176 55.2 20.4 0.649 79.7 -1.543 skovde referred glaucoma
356 S177_0 P177 82.7 13.3 0.276 101.0 0.873 linkoping routine screening healthy
357 S177_1 P177 83.5 17.9 0.362 107.5 0.738 linkoping referred glaucoma
358 S178_0 P178 80.8 13.1 0.492 103.3 0.672 gothenburg routine screening healthy
359 S178_1 P178 81.6 14.4 0.438 98.5 -0.254 gothenburg routine screening healthy
360 S179_0 P179 63.1 15.5 0.413 86.0 0.822 skovde routine screening healthy
361 S179_1 P179 65.0 20.7 0.694 89.2 0.286 skovde referred glaucoma
362 S180_0 P180 55.4 14.4 0.574 93.7 -0.314 linkoping routine screening healthy
363 S180_1 P180 56.8 18.0 0.494 106.8 1.104 linkoping routine screening healthy
364 S181_0 P181 50.8 13.9 0.516 95.1 -0.187 linkoping routine screening healthy
365 S181_1 P181 50.0 18.3 0.324 103.5 0.143 linkoping routine screening healthy
366 S182_0 P182 65.5 15.9 0.441 83.3 -0.153 linkoping routine screening healthy
367 S182_1 P182 67.2 20.9 0.699 89.0 -1.185 linkoping referred glaucoma
368 S183_0 P183 66.2 13.4 0.366 88.2 -1.5 linkoping routine screening healthy
369 S183_1 P183 67.0 21.5 0.469 88.7 1.323 linkoping routine screening healthy
370 S184_0 P184 66.3 14.6 0.371 98.2 -0.495 linkoping routine screening healthy
371 S184_1 P184 66.3 17.6 0.446 108.6 0.605 linkoping referred glaucoma
372 S185_0 P185 72.8 19.1 0.499 79.7 -2.02 linkoping routine screening healthy
373 S185_1 P185 74.0 18.6 0.673 69.9 -0.548 linkoping referred glaucoma
374 S186_0 P186 78.4 10.2 0.227 116.0 1.195 linkoping routine screening healthy
375 S186_1 P186 79.5 12.6 0.354 99.4 1.02 linkoping referred glaucoma
376 S187_0 P187 75.3 13.1 0.549 87.6 0.701 skovde referred glaucoma
377 S187_1 P187 71.8 17.3 0.498 118.2 0.33 skovde routine screening healthy
378 S188_0 P188 67.2 12.4 0.31 81.7 -1.153 skovde routine screening healthy
379 S188_1 P188 65.2 18.0 0.43 81.6 -0.413 skovde routine screening healthy
380 S189_0 P189 57.4 13.4 0.358 87.4 -1.028 skovde routine screening healthy
381 S189_1 P189 58.1 19.7 0.41 105.9 2.056 skovde routine screening healthy
382 S190_0 P190 56.7 12.5 0.393 93.1 -1.753 linkoping routine screening healthy
383 S190_1 P190 53.6 17.6 0.464 96.5 -1.305 linkoping routine screening healthy
384 S191_0 P191 64.8 16.8 0.311 86.9 -1.089 skovde routine screening healthy
385 S191_1 P191 64.0 20.0 0.54 101.2 1.273 skovde routine screening healthy
386 S192_0 P192 63.8 19.0 0.516 98.8 -0.757 linkoping routine screening healthy
387 S192_1 P192 64.5 16.4 0.464 91.2 0.339 linkoping routine screening healthy
388 S193_0 P193 58.6 13.0 0.391 83.9 -0.199 gothenburg routine screening healthy
389 S193_1 P193 62.7 14.9 0.582 94.4 -0.971 gothenburg routine screening healthy
390 S194_0 P194 65.4 18.3 0.479 99.4 0.477 skovde routine screening healthy
391 S194_1 P194 65.5 15.5 0.558 92.8 0.821 skovde routine screening healthy
392 S195_0 P195 83.1 8.2 0.205 104.3 0.308 skovde routine screening healthy
393 S195_1 P195 78.8 15.8 0.359 107.1 1.052 skovde routine screening healthy
394 S196_0 P196 73.9 17.3 0.254 98.6 0.651 linkoping routine screening healthy
395 S196_1 P196 78.4 13.9 0.305 95.3 0.954 linkoping routine screening healthy
396 S197_0 P197 80.2 11.0 0.289 106.3 0.104 skovde routine screening healthy
397 S197_1 P197 81.8 11.7 0.185 104.8 -1.408 skovde routine screening healthy
398 S198_0 P198 70.9 16.8 0.506 93.9 1.444 skovde referred glaucoma
399 S198_1 P198 68.0 16.3 0.498 94.2 -1.352 skovde routine screening healthy
400 S199_0 P199 53.5 12.4 0.22 103.5 -1.131 skovde routine screening healthy
401 S199_1 P199 57.0 15.4 0.352 123.0 -0.659 skovde routine screening healthy
+51
View File
@@ -0,0 +1,51 @@
"""Generate the smoke dataset. Deterministic — rerunning reproduces the file byte
for byte, so the committed CSV can always be regenerated and diffed.
Signal is real but modest: the label depends on age/iop/cdr with noise, so a
working pipeline lands around 0.85-0.95 AUC and a broken one sits near 0.5. A
perfectly separable toy would hide bugs by scoring 1.0 no matter what.
"""
import csv, math, random
from pathlib import Path
rng = random.Random(20260813)
N_PATIENTS, EYES = 200, 2
SITES = ["skovde", "gothenburg", "linkoping"]
out = Path(__file__).resolve().parents[1] / "data" / "smoke" / "labels.csv"
rows = []
for p in range(N_PATIENTS):
# Patient-level traits: both samples from one patient share them, which is
# what makes grouped splitting matter — a per-row split would leak.
base_age = rng.gauss(62, 11)
site = rng.choice(SITES)
frailty = rng.gauss(0, 1)
for e in range(EYES):
age = base_age + rng.gauss(0, 1.5)
iop = rng.gauss(16 + 2.2 * frailty, 2.8) # intraocular pressure
cdr = min(0.95, max(0.05, rng.gauss(0.45 + 0.09 * frailty, 0.11))) # cup/disc
rnfl = rng.gauss(95 - 7 * frailty, 9) # retinal nerve fibre layer
noise = rng.gauss(0, 1)
logit = -6.0 + 0.045 * age + 0.20 * iop + 4.2 * cdr - 0.035 * rnfl + 0.5 * noise
pos = rng.random() < 1 / (1 + math.exp(-logit))
rows.append({
"sample_id": f"S{p:03d}_{e}",
"patient_id": f"P{p:03d}",
"age": round(age, 1),
"iop": round(iop, 1),
"cdr": round(cdr, 3),
"rnfl": round(rnfl, 1),
"noise_feat": round(noise, 3),
"site": site,
"notes": "routine screening" if not pos else "referred",
"diagnosis": "glaucoma" if pos else "healthy",
})
out.parent.mkdir(parents=True, exist_ok=True)
with out.open("w", newline="") as fh:
w = csv.DictWriter(fh, fieldnames=list(rows[0]))
w.writeheader()
w.writerows(rows)
pos = sum(r["diagnosis"] == "glaucoma" for r in rows)
print(f"wrote {out} rows={len(rows)} patients={N_PATIENTS} positives={pos} ({pos/len(rows):.0%})")