Case Studies

A case study is LeMat-Synth pointed at one scientific domain: the same pipeline, with domain-specific choices about which materials to look for, which plots are worth reading, and how results are written out.

Three are shipped with the repository. Each is a thin script — a few dozen lines — on top of two reusable pieces:

flowchart LR DC["DomainConfig
(what this domain cares about)"] --> BR["BatchRunner
(PDF discovery, retries, output)"] BR --> PIPE["SynthesisPerformancePipeline
(the standard stages)"]

BatchRunner handles everything domain-independent — PDF and supplementary-file discovery, rate-limit-aware retries, resumable runs, progress reporting. DomainConfig supplies the four things that differ between domains. You never edit the runner; you assemble a config.


The three built-in domains

DomainWhat it extractsScriptGuide
ThermocatalysisSynthesis + NH₃-decomposition conversion curves, benchmarked against human ground truth across several VLMscase_study_thermocatalysis/Thermocatalysis
SuperconductorsSynthesis + critical temperature Tc, read both from text and geometrically from ρ(T)/R(T) plotscase_study_superconductors/Superconductors
Porous materialsSynthesis + adsorption isotherms for MOFs, zeolites and COFscase_study_porosity/Porous materials

Building a fourth one — electrochemistry, battery cycling, thermoelectrics, anything with a plot and a recipe — is covered in Building your own case study, and built end to end in Tutorial 7.


Running a built-in domain

Every case-study script takes the same two positional arguments and the same three flags:

uv run examples/scripts/case_study_porosity/run.py <pdf_dir> <output_dir> [flags]
FlagEffect
--max NProcess only the first N papers — always do this first
--skip-existingSkip papers that already have results, so an interrupted run resumes
--skip-figuresText and synthesis only: no figure detection, no VLM, much faster and cheaper

Thermocatalysis is the exception — it adds a caching and evaluation harness on top, documented on its own page.

Important
The data/ directory is git-ignored, so no PDFs or ground-truth files ship with the repository. Every case study needs you to supply your own corpus. Tutorial 2 shows how to assemble one from the LeMat-Synth-Papers dataset.

Choosing a starting point