PathoJev / README.md
Mikezcy's picture
Gate access
a12e40e verified
|
Raw History Blame Contribute Delete
3.3 kB
---
license: cc-by-nc-4.0
base_model:
- Qwen/Qwen3.5-9B
- autotrust/JEV-9B
- autotrust/JEV-27B-VL
language:
- en
tags:
- pathology
- histopathology
- whole-slide-image
- vision-language
- system-one
- medical
extra_gated_prompt: >-
PathoJev is released for non-commercial research use under CC BY-NC 4.0. It is not a medical device and must not be
used for diagnosis or clinical decision-making. Access requests are reviewed manually.
extra_gated_fields:
Full name: text
Affiliation: text
Country: country
Intended use: text
I will use PathoJev for non-commercial research only: checkbox
I will not use PathoJev for clinical decision-making: checkbox
---
# PathoJev
PathoJev answers pathology questions directly as probabilities over the answer options, for whole-slide images
(WSIs) and regions of interest (ROIs). It builds on the System One model JEV with a Qwen3.5 hybrid backbone. A WSI
enters as a 32 x 32 grid of pooled CONCH v1.5 patch features and is encoded once; every question is then read out as an
isolated row on the shared slide context by a typed decision head, without generating text. ROI images go through the
backbone's own vision tower.
Code: https://github.com/ChyaZhang/PathoJev
## Files
| Path | Content |
|---|---|
| `9b/` | PathoJev-9B: LoRA adapter, decision head and slide projection (`pathojev.safetensors`) and `config.json`; backbone [Qwen/Qwen3.5-9B](https://huggingface.co/Qwen/Qwen3.5-9B) |
| `27b/` | PathoJev-27B, same layout; backbone [autotrust/JEV-27B-VL](https://huggingface.co/autotrust/JEV-27B-VL) |
| `pathojev/`, `demo.py` | minimal inference code (same as the GitHub repository) |
Access is gated: request it on this page, then log in with `hf auth login`. The backbone is downloaded on first use. PathoJev-9B needs about 20 GB of GPU memory and PathoJev-27B about 60 GB.
## Usage
```bash
hf download Mikezcy/PathoJev --exclude "*.safetensors" --local-dir PathoJev && cd PathoJev
pip install -r requirements.txt
```
```python
from pathojev import PathoJev, make_grid
model = PathoJev.from_pretrained("9b") # or "27b"; weights are fetched from this repository
grid = make_grid("slide.h5") # TRIDENT CONCH v1.5 features (20x, 512 x 512 px patches)
questions = [
{"question": "What is the histologic grade of the tumor?", "options": ["Low-grade", "High-grade"]},
{"question": "Lymphovascular invasion is present.", "kind": "noul"}, # true / false statement
]
print(model.answer_slide(grid, questions)) # [{"answer": ..., "probs": {option: probability}}, ...]
```
`model.answer_roi(images, questions)` answers one question per ROI image. `demo.py` runs the eight SlideBench-TCGA
questions of slide TCGA-XF-AAMJ; see the GitHub repository for the expected output.
## Results
Accuracy (%):
| Model | WSI-VQA | WSI-Bench | SlideBench-TCGA | PathMMU-tiny | PathVQA | Quilt-VQA | OmniMedVQA | MedXpertQA |
|---|---:|---:|---:|---:|---:|---:|---:|---:|
| PathoJev-9B | 65.4 | 90.4 | 75.9 | 71.9 | 94.6 | 70.8 | 75.3 | 25.6 |
| PathoJev-27B | 66.4 | 91.1 | 76.9 | 73.8 | 95.1 | 67.3 | 69.9 | 50.0 |
## License
CC BY-NC 4.0, for non-commercial research use. CONCH v1.5 and pre-extracted TCGA features have their own licenses.
PathoJev is not a medical device and must not be used for clinical decision-making.