File size: 1,937 Bytes
6557c00
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
---
title: Text-to-HDR User Study
emoji: 🎬
colorFrom: indigo
colorTo: red
sdk: gradio
sdk_version: 6.0.0
app_file: app.py
pinned: false
license: cc-by-4.0
---

# Text-to-HDR β€” Pairwise User Study

Pairwise human comparison of three text-to-HDR methods (HDR-LTX,
X2HDR, LEDiff) on 30 cinematic prompts. Raters see 90 stacked
3-EV bracket pairs and pick which row looks more natural / more like
a real photograph.

## Files in this Space

- `app.py` β€” Gradio app
- `pairs.json` β€” 90 pair definitions (with hidden top/bottom assignment)
- `prompts.json` β€” 30 source prompts
- `pairs/pair_NNN.png` β€” 90 stacked-bracket comparison images
- `requirements.txt` β€” `gradio`, `huggingface_hub`

## Vote storage

Each completed rater session writes one JSONL file
(`votes/votes_<rater_id>.jsonl`) to a private HF dataset repo
(`HF_DATASET_REPO` env var). One line per pair, with the chosen label
and the recorded top/bottom method assignment.

## Local dev

```bash
pip install -r requirements.txt
python app.py
```

When `HF_TOKEN` / `HF_DATASET_REPO` env vars are not set, the app
runs locally and stores votes in `votes_<rater_id>.jsonl` next to
`app.py` (no upload).

## Deploy to a free HF Space

```bash
# 1. create the space + dataset on huggingface.co (or via the CLI)
# 2. set Space secrets:
#    HF_TOKEN          β€” write-scoped token for the dataset
#    HF_DATASET_REPO   β€” e.g. "naomi/t2hdr-user-study-votes"
# 3. push the contents of this directory to the Space repo:
huggingface-cli login
git lfs install
git clone https://huggingface.co/spaces/<your-username>/t2hdr-user-study
cp -r * /path/to/cloned/space/
cd /path/to/cloned/space
git lfs track "pairs/*.png"
git add . && git commit -m "Initial study upload" && git push
```

## Scoring

After the study closes, run `score_study.py` (TODO) to download all
JSONL files from the dataset repo, compute Thurstone Case V scores
per method, and write `results.json`.