PathoJev / README.md
Mikezcy's picture
Gate access
a12e40e verified
|
Raw History Blame Contribute Delete
3.3 kB
metadata
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
27b/ PathoJev-27B, same layout; backbone 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

hf download Mikezcy/PathoJev --exclude "*.safetensors" --local-dir PathoJev && cd PathoJev
pip install -r requirements.txt
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.