A workbench before it is a calculator
NCTForge is being built as the neutral ground for BNCT dosimetry: one place where geometry, the four physical dose components, boron distribution, biological weighting, uncertainty and provenance are kept separate, inspectable and comparable between codes and institutions. It imports clinical-format DICOM CT and RT Structure Sets under strict fail-closed checks, and it is designed so that results calculated by OpenMC, MCNP, PHITS or any other transport code can enter through one normalized physical-dose contract.
Today it is an early research implementation, and it says so: it is not yet a dose calculator. The repository contains the validated contracts, the geometry pipeline, the nuclear-data acquisition and processing evidence, and a native desktop workbench that exposes the intended workflow while keeping every unfinished capability explicitly blocked. No placeholder dose values appear anywhere.
Why it exists
A BNCT dose is not one number. Four physical components — boron capture, nitrogen capture, hydrogen recoil and photon dose — are calculated by transport, then weighted by a biological model and a measured or assumed boron distribution. In practice those layers are frequently entangled inside a single code or treatment-planning system, which makes an independent check of any one layer difficult, and a comparison between two institutions running two codes harder still.
NCTForge keeps the layers separable by contract. Physical transport results, boron models, biological interpretation and uncertainty each remain independently inspectable, and every consequential artifact — profile, response set, material, source, case geometry — is bound by content hash so a result can be checked without trusting the tool that produced it.
How it is built
One authoritative Rust implementation carries all scientific logic; the desktop workbench, the CLI and the planned Python package call the same code. The workspace is divided at the transport boundary, and the intended pipeline is fixed: DICOM and case inputs, a backend-neutral case model, a transport adapter, four physical dose components with voxel-level uncertainty, a separately versioned biological interpretation, then QA, comparison and an evidence bundle.
- Strict DICOM geometry boundary.CT slice order comes from projected patient-space geometry, never file names or Instance Number; affine, frame, pixel and rescale invariants are validated; malformed or ambiguous geometry is rejected rather than repaired. Structures rasterize to exact frozen masks.
- Backend-neutral contracts.Materials, fixed sources, response sets and the four-component physical-dose bundle are versioned, machine-validated documents. A transport backend consumes a case and produces a normalized bundle; OpenMC specifics never cross that boundary.
- Evidence-bound nuclear data.Nuclear data are never a hidden build step. Acquisition is resumable and receipted, selections are frozen by SHA-256, NJOY processing runs under a controlled executor that preserves its receipt even when qualification fails, and a preflight rejects missing temperatures, reactions or photon data before any run.
- Evidence-aware workbench.A native egui application with geometry, transport, component-dose and evidence workspaces. It opens only integrity-verified cases, links axial, coronal and sagittal views with patient-side labels and an LPS cursor, and shows the current capability gates instead of pretending they have passed.
Evidence so far
The first implementation target is NF-BNCT-001, a synthetic head-phantom conformance case whose geometry, material and neutron source were frozen before any results exist. What follows is the current, checkable state — including the negative results.
Generated DICOM instances of NF-BNCT-001 pass independent IOD and cross-instance consistency validation (dciodvfy and dcentvfy) with zero errors and zero warnings, enforced in CI.
The first controlled NJOY2016.78 run over the ten frozen ENDF/B-VIII.1 evaluations reported 72 kinematic KERMA violations across N-15, O-16, O-17 and O-18. The receipt is preserved as rejected evidence; no isotope was clipped or silently dropped.
Maximum relative difference between all ten independently generated MT 301 KERMA tables and the official processed OpenMC ENDF/B-VIII.1 tables, compared pointwise with no interpolation — confirming the photon-data gap exists in the official library too.
The latest evidence-aware assessment attributes every H-2 finding to the pinned processor approximation and limits the unresolved in-domain work to C-13, O-17 and O-18. N-15 remains independently rejected by its capture-energy balance.
The latest JEFF-4.0 assessment retains all 120 original findings and places 114 inside the exact 20 MeV transport domain. All 15 H-2 findings are preserved but attributed to a bounded NJOY2016.78 processor approximation, leaving 102 unresolved in-domain findings across C-13, O-17 and O-18. N-15 is separately rejected because 33 of 37 source nodes fail an independent capture-energy balance. The overall candidate therefore remains rejected, and response tables and dose calculation remain blocked pending reaction-level diagnosis and a reviewed response treatment. No warning or nuclide has been silently waived.
Principles
- Fail closed.Ambiguous geometry, unverifiable data and unqualified results are rejected with a recorded reason, never repaired or approximated silently.
- Evidence before capability.Every milestone has written exit evidence; transport capability flags stay false until acceptance gates pass; OpenMC output is not promoted to a reference result by itself.
- Everything content-bound.Cases, materials, sources, response sets, data selections and receipts are bound by SHA-256, so an independent verifier rejects any modified artifact.
- Layers stay separable.Physical transport, boron distribution, biological weighting and uncertainty remain independently inspectable; a biological dose always references the exact physical bundle and models that produced it.
- Synthetic data only.The public repository carries no patient data; benchmark cases are visibly synthetic by construction, and a documented intellectual-property boundary keeps the open platform separate from Avila Labs’ Avify Dose work.
Status and roadmap
The synthetic DICOM geometry pipeline is complete: NF-BNCT-001 can be generated and independently verified, its CT and RT Structure Set reproduce exact frozen masks, every generated DICOM instance passes external validation in CI, and the native workbench opens the integrity-checked case in linked axial, coronal and sagittal views.
Physical-dose qualification is in progress. The dose, material, source and response contracts are validated; the official 9.66 GB OpenMC ENDF/B-VIII.1 distribution and ten evaluated-neutron source files are frozen; OpenMC input decks generate byte-for-byte reproducibly; and the controlled NJOY evidence chain has narrowed the unresolved transported-photon work to the cases described above.
Not implemented yet, and not represented otherwise: material mapping from general DICOM cases, particle execution, statepoint import, biological modeling and dose calculation. The planned path continues through an end-to-end synthetic head case and installable Python package, cross-code comparison against an independent transport path, and external reproduction by BNCT researchers and institutions. Each capability is gated by evidence, not by calendar.
NCTForge is research software. It is not a medical device, has not been clinically validated or commissioned for any treatment facility, and must not be used as a basis for patient care, clinical decisions or regulatory submissions.
Repository
The complete Apache-2.0 workspace: contracts, geometry pipeline, workbench, benchmark case, and the architecture decision record documenting each accepted boundary.
研究目的、現在の実装状況、設計原則、臨床利用に関する制限を日本語で説明しています。
The engineering milestones, acceptance evidence, live implementation status, and work deliberately deferred beyond the research platform.
The researched scientific rationale behind the component definitions, the benchmark design and the qualification boundary.
