diff --git a/MANIFEST.in b/MANIFEST.in
index 5a08768..094afc1 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -13,7 +13,7 @@ include START_RingSentry.bat
include START_RingSentry.cmd
include 双击启动_RingSentry.cmd
-recursive-include assets/readme *.svg
+recursive-include assets/readme *.svg *.png *.json
include docs/CORE_API.md
include docs/USER_GUIDE.md
include docs/ZENODO_DOI_PLAN.md
diff --git a/README.md b/README.md
index fdeb3fa..9cb82c0 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
@@ -116,6 +116,8 @@ binning → intensity transform → gamma → normalization.
## Reproducible headless example
+
+
This example generates its own deterministic synthetic ring image. It is not
an experimental result or a performance benchmark.
diff --git a/assets/readme/hero-generation.json b/assets/readme/hero-generation.json
new file mode 100644
index 0000000..83fbf03
--- /dev/null
+++ b/assets/readme/hero-generation.json
@@ -0,0 +1,12 @@
+{
+ "name": "RingSentry",
+ "subtitle": "Reproducible diffraction-image preprocessing",
+ "palette": "Deep midnight navy, luminous cyan, restrained warm amber",
+ "motif": "A precise flat detector plane with concentric powder-diffraction rings, a delicately visible pixel matrix, and a second refined detector plane linked by a simple short processing path. Keep rings circular on the plane; this is a conceptual motif, no measurements.",
+ "tool": "image_gen built-in; model identifier not exposed",
+ "revision": null,
+ "prompt": "Create one exceptionally polished scientific software README cover banner, wide landscape approximately 2.4:1 aspect ratio, premium editorial art direction, high resolution. Project: RingSentry. Palette: Deep midnight navy, luminous cyan, restrained warm amber. Concept: A precise flat detector plane with concentric powder-diffraction rings, a delicately visible pixel matrix, and a second refined detector plane linked by a simple short processing path. Keep rings circular on the plane; this is a conceptual motif, no measurements. Compose generous negative space and sharply legible refined sans-serif typography integrated with the scientific motif. Exact text, no other copy: \"RingSentry\" large, \"Reproducible diffraction-image preprocessing\" smaller, and a discreet \"Conceptual illustration\". Make name/subtitle read immediately at GitHub width. Restrained three-dimensional material, carefully controlled highlights, precise linework, sophisticated hierarchy and balanced composition. No generic AI neon clouds, no random particles, no badges, no claims, no photoreal experimental data, no fake application screenshot, no watermarks or publisher branding. This is an editorial cover, not a quantitative paper figure.",
+ "created_on": "2026-09-27",
+ "purpose": "README conceptual cover only, not experimental data or software output",
+ "sha256": "e44ca17190194571e85abe4dfa48d096ad2ca2dbed02abed8e5d22b67c7defa9"
+}
diff --git a/assets/readme/hero.png b/assets/readme/hero.png
new file mode 100644
index 0000000..de76a61
Binary files /dev/null and b/assets/readme/hero.png differ
diff --git a/assets/readme/section-01-safety.svg b/assets/readme/section-01-safety.svg
index ce0f4af..1ad6c59 100644
--- a/assets/readme/section-01-safety.svg
+++ b/assets/readme/section-01-safety.svg
@@ -1,9 +1,7 @@
-
- Avoid silent damage before analysis
- Section 01: SAFETY
-
- 01 · SAFETY
-
- Avoid silent damage before analysis
- 01
-
+
+01 · SAFETY Avoid silent damage before analysis
+
+
+01 · SAFETY
+Avoid silent damage before analysis
+01
diff --git a/assets/readme/section-02-workflow.svg b/assets/readme/section-02-workflow.svg
index bda5ce3..31d0e91 100644
--- a/assets/readme/section-02-workflow.svg
+++ b/assets/readme/section-02-workflow.svg
@@ -1,9 +1,7 @@
-
- Preview · preflight · batch · report
- Section 02: WORKFLOW
-
- 02 · WORKFLOW
-
- Preview · preflight · batch · report
- 02
-
+
+02 · WORKFLOW Preview · preflight · batch · report
+
+
+02 · WORKFLOW
+Preview · preflight · batch · report
+02
diff --git a/docs/joss/submission-record.json b/docs/joss/submission-record.json
index ca51b57..f304632 100644
--- a/docs/joss/submission-record.json
+++ b/docs/joss/submission-record.json
@@ -45,7 +45,8 @@
},
"ai_assistance": {
"current_round": "OpenAI Codex, GPT-6, 2026-09-27: repository audit, packaging, tests, documentation, manuscript and bibliography preparation, validation and Git integration.",
- "historical_disclosure": "Retain project-specific disclosures; AbsSAXS AI history is not copied to these projects."
+ "historical_disclosure": "Retain project-specific disclosures; AbsSAXS AI history is not copied to these projects.",
+ "visual_revision": "2026-09-27: Codex revised reproducible manuscript figure scripts, captured real application widgets and prepared conceptual README covers using the built-in image-generation tool (model identifier not exposed). Prompt and image provenance are retained in the repository. Final author review remains pending."
},
"submission_date": null,
"related_publications": [
diff --git a/docs/joss/visual-provenance.md b/docs/joss/visual-provenance.md
new file mode 100644
index 0000000..121eb7e
--- /dev/null
+++ b/docs/joss/visual-provenance.md
@@ -0,0 +1,16 @@
+# Visual sources and reproduction
+
+The September 2026 visual revision separates editorial illustrations from research-software evidence.
+
+- `assets/readme/hero.png` is an AI-generated **conceptual illustration** for the README. It is not detector data, a calculated result, or an application screenshot. The prompt, tool description and file hash are in `hero-generation.json` beside it. The built-in image tool did not expose a model identifier; no specific model-version claim is made.
+- The editable section headers use repository-owned SVG. The previous SVG cover remains as an alternative source asset.
+- Manuscript diagrams and numerical plots are generated by the repository scripts below, with SVG and PDF vector exports and 450 dpi PNGs. Scientific arrays, reflection positions, and solver observations are not modified by an image-generation model.
+- Numerical demonstrations use only the bundled synthetic fixtures and actual software calculations. AnisoScope's interface figure, where applicable, is captured from real Qt widgets; the capture JSON records its inputs and hash.
+
+From the repository root, with the project's dependencies and Matplotlib installed:
+
+```bash
+python paper/figures/make_figures.py
+```
+
+Inspect the generated images and recompile `paper/paper.md` using the official draft-PDF workflow after any figure change. The README cover is not included as a scientific manuscript figure. Synthetic verification is not independent reproduction of the Acta Materialia experimental study.
diff --git a/paper/figures/architecture_workflow.pdf b/paper/figures/architecture_workflow.pdf
index 7a9dd9a..ee3dbf4 100644
Binary files a/paper/figures/architecture_workflow.pdf and b/paper/figures/architecture_workflow.pdf differ
diff --git a/paper/figures/architecture_workflow.png b/paper/figures/architecture_workflow.png
index 767db29..be34983 100644
Binary files a/paper/figures/architecture_workflow.png and b/paper/figures/architecture_workflow.png differ
diff --git a/paper/figures/architecture_workflow.svg b/paper/figures/architecture_workflow.svg
index 9dcbec4..d95afc3 100644
--- a/paper/figures/architecture_workflow.svg
+++ b/paper/figures/architecture_workflow.svg
@@ -1,7 +1,7 @@
-
+
@@ -9,7 +9,7 @@
image/svg+xml
- RingSentry paper/figures/make_figures.py
+ Matplotlib v3.10.8, https://matplotlib.org/
@@ -20,265 +20,340 @@
-
-
+" clip-path="url(#p7a4573dd06)" style="fill: #eff7f8; stroke: #ccd7dc; stroke-width: 0.7; stroke-linejoin: miter"/>
-
+
+" clip-path="url(#p7a4573dd06)" style="fill: #516570; stroke: #516570; stroke-linecap: round"/>
-
+" clip-path="url(#p7a4573dd06)" style="fill: #eff7f8; stroke: #ccd7dc; stroke-width: 0.7; stroke-linejoin: miter"/>
-
+
+" clip-path="url(#p7a4573dd06)" style="fill: #516570; stroke: #516570; stroke-linecap: round"/>
-
+" clip-path="url(#p7a4573dd06)" style="fill: #eff7f8; stroke: #ccd7dc; stroke-width: 0.7; stroke-linejoin: miter"/>
-
-
+
+" clip-path="url(#p7a4573dd06)" style="fill: #516570; stroke: #516570; stroke-linecap: round"/>
-
-
+" clip-path="url(#p7a4573dd06)" style="fill: #eff7f8; stroke: #ccd7dc; stroke-width: 0.7; stroke-linejoin: miter"/>
-
-
+
+" clip-path="url(#p7a4573dd06)" style="fill: #516570; stroke: #516570; stroke-linecap: round"/>
-
-
+" clip-path="url(#p7a4573dd06)" style="fill: #eff7f8; stroke: #ccd7dc; stroke-width: 0.7; stroke-linejoin: miter"/>
-
+" clip-path="url(#p7a4573dd06)" style="fill: #fcf6ef; stroke: #ccd7dc; stroke-width: 0.7; stroke-linejoin: miter"/>
-
-
-
-
-
-
-
-
+" clip-path="url(#p7a4573dd06)" style="fill: #eff7f8; stroke: #ccd7dc; stroke-width: 0.7; stroke-linejoin: miter"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- RingSentry architecture and auditable processing workflow
+ a
- Main batch path (GUI-orchestrated; per-file core data path)
+ Batch workflow
- 1 Entry / GUI
+ 01 Configure
- main.py → App
- explicit
- parameters
+ GUI settings
- 2 Discover / load
+ 02 Load
- core.loader
- files → 2D arrays
+ Detector arrays
- 3 QC / preflight
+ 03 Inspect
- core.quality
- read-only QC / plan
+ Read-only QC
- 4 Processing
+ 04 Process
- core.worker
- → apply_processing
+ Ordered steps
- 5 Write / report
+ 05 Export
- core.writer
- + gui.app report
+ Data + reports
- apply_processing: fixed, explicit operation order
+ b
- 1 Dark subtraction → 2 Flat correction → 3 Background offset → 4 Validate clipping parameters
+ Fixed numerical operation order
- 5 ROI → 6 Mask → 7 Absolute clipping → 8 Percentile clipping
+ 01
- 9 Negative clipping → 10 Hot-pixel suppression → 11 Rotate / flip → 12 Block-mean binning
+ Dark subtraction
- 13 Intensity transform → 14 Gamma → 15 Normalization
+ 02
- Independent tools (separate GUI tabs and core modules; not batch stages)
+ Flat correction
- Independent: CBF zero-value repair
+ 03
- core.overexposure_repair
+ Background offset
- Scan → target mask → write / read-back
- → verify → CSV / configuration / QC reports
+ 04
- Configured zeros only; cannot recover
- true saturated intensity.
+ Validate clipping
- Independent: Q geometry calculator
+ 05
- core.diffraction_model
+ Region of interest
- User λ / distance / pixel size /
- beam center → ideal-planar Q / 2θ / r / d
- + detector view / export
+ 06
- No image calibration, integration, peak fitting,
- or refinement.
+ Mask
- Scope: inspectable preprocessing, quality control, geometry conversion, and export of 2D detector images.
+ 07
+
+
+ Absolute clipping
+
+
+ 08
+
+
+ Percentile clipping
+
+
+ 09
+
+
+ Negative clipping
+
+
+ 10
+
+
+ Hot-pixel suppression
+
+
+ 11
+
+
+ Rotate / flip
+
+
+ 12
+
+
+ Block-mean binning
+
+
+ 13
+
+
+ Intensity transform
+
+
+ 14
+
+
+ Gamma
+
+
+ 15
+
+
+ Normalization
+
+
+ c
+
+
+ Independent tools
+
+
+ CBF zero-value repair
+
+
+ Target mask → write → verify
+ Configured zeros; not saturation recovery
+
+
+ Ideal planar geometry
+
+
+ Wavelength + detector geometry
+ Q, 2θ, radius and d-spacing conversion
+
+
+ Preprocessing and QC precede downstream integration or fitting.
-
-
+
+
diff --git a/paper/figures/make_figures.py b/paper/figures/make_figures.py
index cedd2ab..149880b 100644
--- a/paper/figures/make_figures.py
+++ b/paper/figures/make_figures.py
@@ -1,429 +1,229 @@
-"""Generate the two repository-owned figures used by the JOSS manuscript.
-
-The script uses only RingSentry source code and a deterministic synthetic
-array. It does not load experimental data or report performance results.
-"""
-
-from __future__ import annotations
+"""Reproducible publication graphics; no experimental measurements are synthesized."""
import argparse
-import sys
+import numpy as np
from pathlib import Path
-from typing import Dict, Iterable, Optional, Sequence, Tuple
-
+import sys
import matplotlib
-matplotlib.use("Agg", force=True)
-
+matplotlib.use("Agg")
import matplotlib.pyplot as plt
-from matplotlib.patches import FancyArrowPatch, FancyBboxPatch
-import numpy as np
-
-
-REPOSITORY_ROOT = Path(__file__).resolve().parents[2]
-if str(REPOSITORY_ROOT) not in sys.path:
- sys.path.insert(0, str(REPOSITORY_ROOT))
-
-from core.processing import apply_processing
-from core.quality import analyze_image_quality
-from examples.minimal_preprocessing import (
- PROCESSING_OPTIONS,
- SYNTHETIC_SEED,
- generate_synthetic_detector_image,
-)
-
-
-FIGURE_STEMS = ("architecture_workflow", "synthetic_processing")
-SUPPORTED_FORMATS = ("svg", "png", "pdf")
+from matplotlib.patches import FancyBboxPatch, FancyArrowPatch
-COLORS = {
- "blue": "#0072B2",
- "sky": "#56B4E9",
- "green": "#009E73",
- "orange": "#E69F00",
- "vermillion": "#D55E00",
- "ink": "#202124",
- "gray": "#666666",
- "light_blue": "#E8F3F8",
- "light_green": "#E8F5F0",
- "light_orange": "#FFF3DC",
- "light_gray": "#F5F5F5",
- "white": "#FFFFFF",
-}
+INK = "#142C3D"
+MUTED = "#516570"
+RULE = "#CCD7DC"
+ACCENT = "#087F8C"
+LIGHT = "#EFF7F8"
+WARM = "#B86B20"
-def configure_style() -> None:
- """Apply one accessible publication style to both figures."""
+def style():
matplotlib.rcParams.update(
{
"font.family": "sans-serif",
- "font.sans-serif": ["Arial", "Helvetica", "DejaVu Sans"],
- # The manuscript scales these 180 mm figures down slightly. Keep
- # the source text at or above 8 pt so the final PDF remains legible.
- "font.size": 8.4,
- "axes.titlesize": 8.8,
- "axes.labelsize": 8.4,
- "xtick.labelsize": 8.4,
- "ytick.labelsize": 8.4,
- "legend.fontsize": 8.4,
- "figure.titlesize": 9.6,
- "axes.linewidth": 0.6,
- "lines.linewidth": 1.0,
- "savefig.dpi": 600,
+ "font.sans-serif": ["Arial", "DejaVu Sans"],
+ "font.size": 10,
+ "axes.labelsize": 10,
+ "axes.titlesize": 11,
+ "xtick.labelsize": 9,
+ "ytick.labelsize": 9,
+ "text.color": INK,
+ "axes.labelcolor": INK,
+ "axes.edgecolor": RULE,
+ "axes.linewidth": 0.7,
+ "lines.linewidth": 1.5,
"svg.fonttype": "none",
- "svg.hashsalt": "ringsentry-joss-figures",
+ "svg.hashsalt": "publication-20260927",
"pdf.fonttype": 42,
- "ps.fonttype": 42,
+ "savefig.facecolor": "white",
}
)
-def _add_stage_box(
- ax,
- x: float,
- y: float,
- width: float,
- height: float,
- number: str,
- title: str,
- body: str,
- facecolor: str,
- edgecolor: str,
-) -> None:
- patch = FancyBboxPatch(
- (x, y),
- width,
- height,
- boxstyle="round,pad=0.008,rounding_size=0.012",
- facecolor=facecolor,
- edgecolor=edgecolor,
- linewidth=0.8,
- )
- ax.add_patch(patch)
- ax.text(
- x + 0.012,
- y + height - 0.020,
- f"{number} {title}",
- ha="left",
- va="top",
- fontsize=8.6,
- fontweight="bold",
- color=COLORS["ink"],
- )
- ax.text(
- x + width / 2.0,
- y + height - 0.063,
- body,
- ha="center",
- va="top",
- fontsize=8.4,
- linespacing=1.25,
- color=COLORS["ink"],
- )
+def canvas(height=4.6):
+ fig = plt.figure(figsize=(7.2, height), facecolor="white")
+ ax = fig.add_axes([0, 0, 1, 1], xlim=(0, 1), ylim=(0, 1))
+ ax.axis("off")
+ return fig, ax
-def _add_arrow(ax, start: Tuple[float, float], end: Tuple[float, float]) -> None:
- arrow = FancyArrowPatch(
- start,
- end,
- arrowstyle="-|>",
- mutation_scale=8,
- linewidth=0.8,
- color=COLORS["ink"],
- shrinkA=2,
- shrinkB=2,
- )
- ax.add_patch(arrow)
-
-
-def _add_independent_tool(
- ax,
- x: float,
- y: float,
- width: float,
- height: float,
- title: str,
- module: str,
- body: str,
- caution: str,
- edgecolor: str,
-) -> None:
- patch = FancyBboxPatch(
- (x, y),
- width,
- height,
- boxstyle="round,pad=0.010,rounding_size=0.012",
- facecolor=COLORS["white"],
- edgecolor=edgecolor,
- linewidth=0.8,
- linestyle=(0, (5, 2.5)),
- )
- ax.add_patch(patch)
- ax.text(
- x + 0.016,
- y + height - 0.018,
- title,
- ha="left",
- va="top",
- fontsize=8.6,
- fontweight="bold",
- color=edgecolor,
- )
- ax.text(
- x + 0.016,
- y + height - 0.052,
- module,
- ha="left",
- va="top",
- fontsize=8.4,
- color=COLORS["gray"],
- )
- ax.text(
- x + 0.016,
- y + height - 0.082,
- body,
- ha="left",
- va="top",
- fontsize=8.4,
- linespacing=1.25,
- color=COLORS["ink"],
- )
- ax.text(
- x + 0.016,
- y + 0.014,
- caution,
- ha="left",
- va="bottom",
- fontsize=8.4,
- fontweight="bold",
- color=COLORS["ink"],
+def label(ax, x, y, text, size=10, weight="normal", color=INK, ha="left", va="center"):
+ return ax.text(
+ x, y, text, fontsize=size, fontweight=weight, color=color, ha=ha, va=va, linespacing=1.45
)
-def create_architecture_workflow():
- """Create the verified RingSentry architecture and workflow diagram."""
- # 7.1 in = 180.3 mm, kept below Nature's 183 mm two-column width.
- fig, ax = plt.subplots(figsize=(7.1, 5.6))
- ax.set_xlim(0.0, 1.0)
- ax.set_ylim(0.0, 1.0)
- ax.axis("off")
+def panel(ax, x, y, letter, title):
+ label(ax, x, y, letter, 12, "bold", ACCENT)
+ label(ax, x + 0.038, y, title, 11, "bold")
- ax.text(
- 0.5,
- 0.970,
- "RingSentry architecture and auditable processing workflow",
- ha="center",
- va="top",
- fontsize=9.6,
- fontweight="bold",
- color=COLORS["ink"],
- )
- ax.text(
- 0.025,
- 0.910,
- "Main batch path (GUI-orchestrated; per-file core data path)",
- ha="left",
- va="center",
- fontsize=8.4,
- color=COLORS["gray"],
- )
- y = 0.685
- height = 0.170
- stage_specs = (
- (
- 0.025,
- 0.150,
- "1",
- "Entry / GUI",
- "main.py → App\nexplicit\nparameters",
- COLORS["light_blue"],
- COLORS["blue"],
- ),
- (
- 0.189,
- 0.174,
- "2",
- "Discover / load",
- "core.loader\nfiles → 2D arrays",
- COLORS["light_blue"],
- COLORS["blue"],
- ),
- (
- 0.377,
- 0.180,
- "3",
- "QC / preflight",
- "core.quality\nread-only QC / plan",
- COLORS["light_green"],
- COLORS["green"],
- ),
- (
- 0.571,
- 0.214,
- "4",
- "Processing",
- "core.worker\n→ apply_processing",
- COLORS["light_orange"],
- COLORS["orange"],
- ),
- (
- 0.799,
- 0.176,
- "5",
- "Write / report",
- "core.writer\n+ gui.app report",
- COLORS["light_blue"],
- COLORS["blue"],
- ),
- )
- for x, width, number, title, body, face, edge in stage_specs:
- _add_stage_box(ax, x, y, width, height, number, title, body, face, edge)
-
- for left, right in (
- (0.175, 0.189),
- (0.363, 0.377),
- (0.557, 0.571),
- (0.785, 0.799),
- ):
- _add_arrow(ax, (left, y + height / 2.0), (right, y + height / 2.0))
-
- process_box = FancyBboxPatch(
- (0.025, 0.365),
- 0.950,
- 0.225,
- boxstyle="round,pad=0.010,rounding_size=0.012",
- facecolor=COLORS["light_gray"],
- edgecolor=COLORS["orange"],
- linewidth=0.75,
- )
- ax.add_patch(process_box)
- ax.text(
- 0.045,
- 0.565,
- "apply_processing: fixed, explicit operation order",
- ha="left",
- va="top",
- fontsize=8.6,
- fontweight="bold",
- color=COLORS["ink"],
- )
- ordered_lines = (
- "1 Dark subtraction → 2 Flat correction → 3 Background offset → "
- "4 Validate clipping parameters",
- "5 ROI → 6 Mask → 7 Absolute clipping → 8 Percentile clipping",
- "9 Negative clipping → 10 Hot-pixel suppression → 11 Rotate / flip → "
- "12 Block-mean binning",
- "13 Intensity transform → 14 Gamma → 15 Normalization",
+def box(ax, x, y, w, h, title, body="", accent=ACCENT, face=LIGHT, size=9.5):
+ ax.add_patch(
+ FancyBboxPatch(
+ (x, y),
+ w,
+ h,
+ boxstyle="round,pad=0,rounding_size=0.012",
+ linewidth=0.7,
+ edgecolor=RULE,
+ facecolor=face,
+ )
)
- for index, line in enumerate(ordered_lines):
- ax.text(
- 0.500,
- 0.510 - index * 0.041,
- line,
- ha="center",
- va="center",
- fontsize=8.4,
- color=COLORS["ink"],
+ ax.plot(
+ [x + 0.015, x + 0.015],
+ [y + 0.02, y + h - 0.02],
+ color=accent,
+ lw=2.1,
+ solid_capstyle="round",
+ )
+ label(ax, x + 0.034, y + h - 0.037, title, 10, "bold", accent, va="top")
+ if body:
+ label(ax, x + 0.034, y + h - 0.099, body, size, va="top")
+
+
+def arrow(ax, a, b, color=MUTED, style="-"):
+ ax.add_patch(
+ FancyArrowPatch(
+ a,
+ b,
+ arrowstyle="-|>",
+ mutation_scale=10,
+ linewidth=1,
+ color=color,
+ linestyle=style,
+ shrinkA=2,
+ shrinkB=2,
)
- _add_arrow(ax, (0.680, 0.685), (0.680, 0.600))
-
- ax.text(
- 0.5,
- 0.335,
- "Independent tools (separate GUI tabs and core modules; not batch stages)",
- ha="center",
- va="center",
- fontsize=8.4,
- fontweight="bold",
- color=COLORS["gray"],
)
- _add_independent_tool(
+
+
+def save(fig, folder, stem, formats=("png", "svg", "pdf")):
+ folder.mkdir(parents=True, exist_ok=True)
+ for ext in formats:
+ meta = (
+ {"Date": None}
+ if ext == "svg"
+ else ({"CreationDate": None, "ModDate": None} if ext == "pdf" else {})
+ )
+ fig.savefig(folder / f"{stem}.{ext}", dpi=450, metadata=meta)
+ plt.close(fig)
+
+
+def clean_axes(ax):
+ ax.spines[["top", "right"]].set_visible(False)
+ ax.tick_params(length=3, width=0.6, color=RULE)
+ ax.grid(axis="y", color=RULE, linewidth=0.5, alpha=0.6)
+ ax.set_axisbelow(True)
+
+
+ROOT = Path(__file__).resolve().parents[2]
+sys.path.insert(0, str(ROOT))
+from core.processing import apply_processing
+from core.quality import analyze_image_quality
+from examples.minimal_preprocessing import (
+ PROCESSING_OPTIONS,
+ SYNTHETIC_SEED,
+ generate_synthetic_detector_image,
+)
+
+
+def create_architecture_workflow():
+ fig, ax = canvas(5.5)
+ panel(ax, 0.035, 0.95, "a", "Batch workflow")
+ names = [
+ ("01 Configure", "GUI settings"),
+ ("02 Load", "Detector arrays"),
+ ("03 Inspect", "Read-only QC"),
+ ("04 Process", "Ordered steps"),
+ ("05 Export", "Data + reports"),
+ ]
+ for i, (title, body) in enumerate(names):
+ x = 0.035 + i * 0.192
+ box(ax, x, 0.75, 0.165, 0.135, title, body, size=8.8)
+ if i < 4:
+ arrow(ax, (x + 0.165, 0.814), (x + 0.192, 0.814))
+ panel(ax, 0.035, 0.68, "b", "Fixed numerical operation order")
+ operations = [
+ "Dark subtraction",
+ "Flat correction",
+ "Background offset",
+ "Validate clipping",
+ "Region of interest",
+ "Mask",
+ "Absolute clipping",
+ "Percentile clipping",
+ "Negative clipping",
+ "Hot-pixel suppression",
+ "Rotate / flip",
+ "Block-mean binning",
+ "Intensity transform",
+ "Gamma",
+ "Normalization",
+ ]
+ for i, t in enumerate(operations):
+ col, row = divmod(i, 5)
+ x = 0.048 + col * 0.32
+ y = 0.608 - row * 0.053
+ label(ax, x, y, f"{i + 1:02d}", 9, "bold", ACCENT)
+ label(ax, x + 0.049, y, t, 9.2)
+ panel(ax, 0.035, 0.30, "c", "Independent tools")
+ box(
ax,
- 0.025,
- 0.055,
- 0.455,
- 0.245,
- "Independent: CBF zero-value repair",
- "core.overexposure_repair",
- "Scan → target mask → write / read-back\n"
- "→ verify → CSV / configuration / QC reports",
- "Configured zeros only; cannot recover\ntrue saturated intensity.",
- COLORS["vermillion"],
- )
- _add_independent_tool(
+ 0.035,
+ 0.068,
+ 0.448,
+ 0.177,
+ "CBF zero-value repair",
+ "Target mask → write → verify\nConfigured zeros; not saturation recovery",
+ accent=WARM,
+ face="#FCF6EF",
+ size=8.8,
+ )
+ box(
ax,
- 0.520,
- 0.055,
- 0.455,
- 0.245,
- "Independent: Q geometry calculator",
- "core.diffraction_model",
- "User λ / distance / pixel size /\n"
- "beam center → ideal-planar Q / 2θ / r / d\n"
- "+ detector view / export",
- "No image calibration, integration, peak fitting,\nor refinement.",
- COLORS["green"],
- )
- ax.text(
- 0.5,
- 0.008,
- "Scope: inspectable preprocessing, quality control, geometry conversion, "
- "and export of 2D detector images.",
- ha="center",
- va="bottom",
- fontsize=8.4,
- color=COLORS["gray"],
+ 0.515,
+ 0.068,
+ 0.448,
+ 0.177,
+ "Ideal planar geometry",
+ "Wavelength + detector geometry\nQ, 2θ, radius and d-spacing conversion",
+ size=8.8,
+ )
+ label(
+ ax,
+ 0.035,
+ 0.025,
+ "Preprocessing and QC precede downstream integration or fitting.",
+ 8.8,
+ color=MUTED,
)
return fig
-def _radial_mean(
- arr: np.ndarray, radius_scale: float = 1.0
-) -> Tuple[np.ndarray, np.ndarray]:
- data = np.asarray(arr, dtype=np.float64)
- yy, xx = np.indices(data.shape, dtype=np.float64)
- center_x = (data.shape[1] - 1) / 2.0
- center_y = (data.shape[0] - 1) / 2.0
- radius = np.hypot(xx - center_x, yy - center_y) * float(radius_scale)
- radius_bin = np.floor(radius).astype(np.int64)
+def _radial_mean(arr, radius_scale=1.0):
+ data = np.asarray(arr, dtype=float)
+ yy, xx = np.indices(data.shape, dtype=float)
+ r = np.floor(
+ np.hypot(xx - (data.shape[1] - 1) / 2, yy - (data.shape[0] - 1) / 2) * radius_scale
+ ).astype(int)
finite = np.isfinite(data)
- sums = np.bincount(radius_bin[finite], weights=data[finite])
- counts = np.bincount(radius_bin[finite])
- valid = counts > 0
- means = np.full(counts.shape, np.nan, dtype=np.float64)
- means[valid] = sums[valid] / counts[valid]
- return np.arange(means.size, dtype=np.float64) + 0.5, means
-
-
-def _display_normalize(values: np.ndarray) -> np.ndarray:
- values = np.asarray(values, dtype=np.float64)
- finite = np.isfinite(values)
- result = np.full(values.shape, np.nan, dtype=np.float64)
- if not np.any(finite):
- return result
- vmin = float(np.min(values[finite]))
- vmax = float(np.max(values[finite]))
- if vmax > vmin:
- result[finite] = (values[finite] - vmin) / (vmax - vmin)
- else:
- result[finite] = 0.0
- return result
-
-
-def _array_fact_line(label: str, arr: np.ndarray) -> str:
- finite_count = int(np.count_nonzero(np.isfinite(arr)))
- return (
- f"{label}: {arr.shape[0]} × {arr.shape[1]}, {arr.dtype}, "
- f"finite {finite_count:,}/{arr.size:,}"
- )
+ sums = np.bincount(r[finite], weights=data[finite])
+ counts = np.bincount(r[finite])
+ means = np.full(counts.shape, np.nan)
+ means[counts > 0] = sums[counts > 0] / counts[counts > 0]
+ return np.arange(len(means)) + 0.5, means
+
+
+def _display_normalize(a):
+ return (a - np.nanmin(a)) / (np.nanmax(a) - np.nanmin(a))
def create_synthetic_processing():
- """Create a no-real-data demonstration using the shipped example seam."""
raw = generate_synthetic_detector_image()
processed = apply_processing(raw, **PROCESSING_OPTIONS)
- quality = analyze_image_quality(
+ qc = analyze_image_quality(
raw,
metadata={
"source_kind": "synthetic",
@@ -432,222 +232,68 @@ def create_synthetic_processing():
},
source_name="synthetic_diffraction_rings",
)
-
- fig = plt.figure(figsize=(7.1, 5.2), constrained_layout=False)
- grid = fig.add_gridspec(
- 1,
- 3,
- left=0.070,
- right=0.980,
- bottom=0.360,
- top=0.795,
- wspace=0.48,
- width_ratios=(1.0, 1.0, 1.35),
- )
- raw_ax = fig.add_subplot(grid[0, 0])
- processed_ax = fig.add_subplot(grid[0, 1])
- profile_ax = fig.add_subplot(grid[0, 2])
-
- fig.text(
- 0.5,
- 0.950,
- "Deterministic synthetic preprocessing example",
- ha="center",
- va="top",
- fontsize=9.6,
- fontweight="bold",
- color=COLORS["ink"],
- )
- fig.text(
- 0.5,
- 0.875,
- "Fixed-seed synthetic image and settings from the shipped minimal "
- "preprocessing example; processed by the RingSentry core",
- ha="center",
- va="center",
- fontsize=8.4,
- color=COLORS["gray"],
- )
-
- raw_image = raw_ax.imshow(raw, origin="upper", cmap="cividis", interpolation="nearest")
- raw_ax.set_title("Raw synthetic matrix", pad=5)
- raw_ax.set_xlabel("Detector x (pixels)")
- raw_ax.set_ylabel("Detector y (pixels)")
- raw_colorbar = fig.colorbar(
- raw_image,
- ax=raw_ax,
- orientation="horizontal",
- fraction=0.060,
- pad=0.175,
- aspect=28,
- )
- raw_colorbar.set_label("Synthetic intensity (a.u.)", fontsize=8.4, labelpad=2)
- raw_colorbar.ax.tick_params(labelsize=8.4, width=0.5, length=2.0)
-
- processed_image = processed_ax.imshow(
- processed,
- origin="upper",
- cmap="cividis",
- interpolation="nearest",
- vmin=0.0,
- vmax=1.0,
- )
- processed_ax.set_title("Processed matrix", pad=5)
- processed_ax.set_xlabel("Output x (pixels)")
- processed_ax.set_ylabel("Output y (pixels)")
- processed_colorbar = fig.colorbar(
- processed_image,
- ax=processed_ax,
- orientation="horizontal",
- fraction=0.060,
- pad=0.175,
- aspect=28,
- )
- processed_colorbar.set_label("Normalized value", fontsize=8.4, labelpad=2)
- processed_colorbar.ax.tick_params(labelsize=8.4, width=0.5, length=2.0)
-
- raw_radius, raw_profile = _radial_mean(raw)
- scale = float(PROCESSING_OPTIONS.get("bin_factor", 1))
- processed_radius, processed_profile = _radial_mean(
- processed, radius_scale=scale
- )
- profile_ax.plot(
- raw_radius,
- _display_normalize(raw_profile),
- color=COLORS["blue"],
- linestyle="-",
- marker="o",
- markevery=8,
- markersize=2.8,
- label="Raw synthetic",
- )
- profile_ax.plot(
- processed_radius,
- _display_normalize(processed_profile),
- color=COLORS["orange"],
- linestyle="--",
- marker="s",
- markevery=7,
- markersize=2.7,
- label="Processed",
- )
- profile_ax.set_title("Radial mean (display-normalized)", pad=5)
- profile_ax.set_xlabel("Radius (input-pixel equivalent)")
- profile_ax.set_ylabel("Separately normalized mean (a.u.)")
- profile_ax.set_ylim(-0.04, 1.08)
- profile_ax.grid(axis="y", color="#D0D0D0", linewidth=0.5, linestyle=":")
- profile_ax.spines["top"].set_visible(False)
- profile_ax.spines["right"].set_visible(False)
- profile_ax.legend(loc="upper right", frameon=False, handlelength=2.6)
- for label, axis in zip(("a", "b", "c"), (raw_ax, processed_ax, profile_ax)):
- axis.text(
- -0.16,
- 1.10,
- label,
- transform=axis.transAxes,
- ha="left",
- va="top",
- fontsize=10.0,
- fontweight="bold",
- color=COLORS["ink"],
+ assert np.isfinite(raw).all() and np.isfinite(processed).all()
+ assert qc is not None
+ fig = plt.figure(figsize=(7.2, 5.7))
+ a = fig.add_axes([0.10, 0.52, 0.31, 0.38])
+ b = fig.add_axes([0.59, 0.52, 0.31, 0.38])
+ for ax, arr, title, xlab, unit in [
+ (a, raw, "a Raw synthetic image", "Detector", "Intensity (a.u.)"),
+ (b, processed, "b Processed image", "Output", "Normalized value"),
+ ]:
+ im = ax.imshow(arr, cmap="cividis", origin="upper", interpolation="nearest")
+ ax.set_title(title, loc="left", fontweight="bold", pad=12)
+ ax.set_xlabel(f"{xlab} x (pixels)")
+ ax.set_ylabel(f"{xlab} y (pixels)")
+ cb = fig.colorbar(im, ax=ax, fraction=0.047, pad=0.025)
+ cb.set_label(unit, fontsize=9)
+ cb.ax.tick_params(labelsize=8, length=2)
+ c = fig.add_axes([0.10, 0.12, 0.8, 0.245])
+ for arr, scale, color, ls, mark, title in [
+ (raw, 1.0, ACCENT, "-", "o", "Raw"),
+ (processed, float(PROCESSING_OPTIONS.get("bin_factor", 1)), WARM, "--", "s", "Processed"),
+ ]:
+ r, p = _radial_mean(arr, scale)
+ c.plot(
+ r,
+ _display_normalize(p),
+ color=color,
+ ls=ls,
+ marker=mark,
+ markevery=9,
+ ms=3,
+ label=title,
)
-
- findings = ", ".join(item.category for item in quality.findings) or "none"
- processing_text = (
- "Processing: background offset 35 → percentile clipping 0.5–99.5 →\n"
- "negative clipping → "
- "2 × block mean → log1p → min–max normalization"
- )
- fact_text = (
- f"Seed: {SYNTHETIC_SEED} | Shipped example: examples/minimal_preprocessing.py\n"
- f"{_array_fact_line('Raw', raw)}\n"
- f"{_array_fact_line('Processed', processed)}\n"
- f"QC findings: {findings}; review_required={str(quality.review_required).lower()}\n"
- f"{processing_text}"
+ c.set_title(
+ "c Radial means · independently normalized for display",
+ loc="left",
+ fontweight="bold",
+ pad=9,
)
+ c.set(xlabel="Radius (input-pixel equivalent)", ylabel="Scaled intensity", ylim=(-0.04, 1.1))
+ c.legend(frameon=False, loc="upper right", ncol=2, fontsize=9)
+ clean_axes(c)
fig.text(
- 0.055,
- 0.055,
- fact_text,
- ha="left",
- va="bottom",
- fontsize=8.4,
- linespacing=1.35,
- color=COLORS["ink"],
- bbox={
- "boxstyle": "round,pad=0.32",
- "facecolor": COLORS["light_gray"],
- "edgecolor": "#B8B8B8",
- "linewidth": 0.7,
- },
+ 0.10,
+ 0.025,
+ f"Synthetic example · seed {SYNTHETIC_SEED} · 128 × 128 → 64 × 64 pixels",
+ fontsize=9,
+ color=MUTED,
)
return fig
-def _save_figure(fig, output_dir: Path, stem: str, formats: Iterable[str]) -> None:
- output_dir.mkdir(parents=True, exist_ok=True)
- for fmt in formats:
- output_path = output_dir / f"{stem}.{fmt}"
- metadata: Optional[Dict[str, object]]
- if fmt == "svg":
- metadata = {"Creator": "RingSentry paper/figures/make_figures.py", "Date": None}
- elif fmt == "pdf":
- metadata = {
- "Creator": "RingSentry paper/figures/make_figures.py",
- "CreationDate": None,
- "ModDate": None,
- }
- else:
- metadata = {"Software": "RingSentry paper/figures/make_figures.py"}
- fig.savefig(
- output_path,
- format=fmt,
- dpi=600,
- metadata=metadata,
- )
- print(f"WROTE {output_path.resolve()}")
-
-
-def generate_figures(output_dir: Path, formats: Sequence[str]) -> None:
- configure_style()
- creators = (
- (FIGURE_STEMS[0], create_architecture_workflow),
- (FIGURE_STEMS[1], create_synthetic_processing),
- )
- for stem, creator in creators:
- figure = creator()
- try:
- _save_figure(figure, output_dir, stem, formats)
- finally:
- plt.close(figure)
-
-
-def _parse_args(argv: Optional[Sequence[str]] = None) -> argparse.Namespace:
- parser = argparse.ArgumentParser(
- description="Generate the RingSentry JOSS architecture and synthetic figures."
- )
- parser.add_argument(
- "--output-dir",
- type=Path,
- default=Path(__file__).resolve().parent,
- help="Destination directory (default: paper/figures).",
- )
+def main():
+ parser = argparse.ArgumentParser()
+ parser.add_argument("--output-dir", type=Path, default=Path(__file__).resolve().parent)
parser.add_argument(
- "--formats",
- nargs="+",
- choices=SUPPORTED_FORMATS,
- default=list(SUPPORTED_FORMATS),
- help="One or more output formats; default: svg, pdf, and png.",
+ "--formats", nargs="+", choices=["png", "svg", "pdf"], default=["png", "svg", "pdf"]
)
- return parser.parse_args(argv)
-
-
-def main(argv: Optional[Sequence[str]] = None) -> int:
- args = _parse_args(argv)
- formats = tuple(dict.fromkeys(args.formats))
- generate_figures(args.output_dir, formats)
- return 0
+ args = parser.parse_args()
+ style()
+ save(create_architecture_workflow(), args.output_dir, "architecture_workflow", args.formats)
+ save(create_synthetic_processing(), args.output_dir, "synthetic_processing", args.formats)
if __name__ == "__main__":
- raise SystemExit(main())
+ main()
diff --git a/paper/figures/synthetic_processing.pdf b/paper/figures/synthetic_processing.pdf
index abb8bb3..c98cef2 100644
Binary files a/paper/figures/synthetic_processing.pdf and b/paper/figures/synthetic_processing.pdf differ
diff --git a/paper/figures/synthetic_processing.png b/paper/figures/synthetic_processing.png
index 96fca8c..487a19f 100644
Binary files a/paper/figures/synthetic_processing.png and b/paper/figures/synthetic_processing.png differ
diff --git a/paper/figures/synthetic_processing.svg b/paper/figures/synthetic_processing.svg
index a9a73db..af5fdf1 100644
--- a/paper/figures/synthetic_processing.svg
+++ b/paper/figures/synthetic_processing.svg
@@ -1,7 +1,7 @@
-
+
@@ -9,7 +9,7 @@
image/svg+xml
- RingSentry paper/figures/make_figures.py
+ Matplotlib v3.10.8, https://matplotlib.org/
@@ -20,907 +20,934 @@
-
-
-
+
+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" id="image631ded1499" transform="scale(1 -1) translate(0 -149.28)" x="51.84" y="-44.302656" width="149.28" height="149.28"/>
-
-
+
- 0
+ 0
-
+
- 50
+ 50
-
+
- 100
+ 100
- Detector x (pixels)
+ Detector x (pixels)
-
-
+
- 0
+ 0
-
+
- 25
+ 20
-
+
- 50
+ 40
-
+
- 75
+ 60
-
+
- 100
+ 80
-
+
- 125
+ 100
-
- Detector y (pixels)
+
+
+
+
+
+
+
+ 120
+
+
+
+ Detector y (pixels)
-
+
-
+
-
+
-
-
-
- a
+
- Raw synthetic matrix
+ a Raw synthetic image
-
-
+
+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" id="image300e39f2d4" transform="scale(1 -1) translate(0 -149.28)" x="305.856" y="-44.302656" width="149.28" height="149.28"/>
-
+
-
+
- 0
+ 0
-
+
-
+
- 20
+ 20
-
+
-
+
- 40
+ 40
-
+
-
+
- 60
+ 60
- Output x (pixels)
+ Output x (pixels)
-
-
+
+
-
+
- 0
+ 0
-
-
+
+
-
+
- 20
+ 10
-
-
+
+
-
+
- 40
+ 20
-
-
+
+
-
+
- 60
+ 30
-
- Output y (pixels)
+
+
+
+
+
+
+
+ 40
+
+
+
+
+
+
+
+
+
+ 50
+
+
+
+
+
+
+
+
+
+ 60
+
+
+
+ Output y (pixels)
-
+
-
+
-
+
-
+
-
- b
-
-
- Processed matrix
+
+ b Processed image
-
-
-
-
+
+
+
+
+
+
+
+
-
+
-
- 0
+
+ 40
-
-
+
+
-
+
-
- 20
+
+ 45
-
-
+
+
-
+
-
- 40
+
+ 50
-
-
+
+
-
+
-
- 60
+
+ 55
-
-
+
+
-
+
-
- 80
+
+ 60
-
- Radius (input-pixel equivalent)
+
+ Intensity (a.u.)
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
- 0.0
+
+ 0.0
-
-
-
-
-
+
+
-
+
-
- 0.2
+
+ 0.2
-
-
-
-
-
+
+
-
+
-
- 0.4
+
+ 0.4
-
-
-
-
+
-
+
-
- 0.6
+
+ 0.6
-
+
-
-
-
-
+
-
- 0.8
+
+ 0.8
-
-
-
-
-
+
+
-
+
-
- 1.0
-
-
-
- Separately normalized mean (a.u.)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- c
-
-
- Radial mean (display-normalized)
-
-
-
-
-
-
-
-
-
- Raw synthetic
-
-
-
-
-
+
+ 1.0
-
- Processed
+
+ Normalized value
-
-
+
-
+
+
+
+
+
-
-
-
-
+
+
+
-
+
-
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 20
+
+
+
+
+
+
- 40
+ 40
-
-
+
+
-
+
- 50
+ 60
-
-
+
+
-
+
- 60
+ 80
- Synthetic intensity (a.u.)
+ Radius (input-pixel equivalent)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
+
- 0.00
+ 0.00
-
-
+
+
+
+
+
-
+
- 0.25
+ 0.25
-
-
+
+
+
+
+
-
+
- 0.50
+ 0.50
-
+
+
+
+
-
+
- 0.75
+ 0.75
-
+
+
+
+
-
+
- 1.00
+ 1.00
- Normalized value
+ Scaled intensity
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
-
+
+
+
+ c Radial means · independently normalized for display
+
+
+
+
+
+
+
+
+
+ Raw
+
+
+
+
+
+
+
+
+ Processed
+
-
- Deterministic synthetic preprocessing example
-
-
- Fixed-seed synthetic image and settings from the shipped minimal preprocessing example; processed by the RingSentry core
-
-
-
-
-
- Seed: 20260730 | Shipped example: examples/minimal_preprocessing.py
- Raw: 128 × 128, float32, finite 16,384/16,384
- Processed: 64 × 64, float32, finite 4,096/4,096
- QC findings: none; review_required=false
- Processing: background offset 35 → percentile clipping 0.5–99.5 →
- negative clipping → 2 × block mean → log1p → min–max normalization
+
+ Synthetic example · seed 20260730 · 128 × 128 → 64 × 64 pixels
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/paper/paper.md b/paper/paper.md
index 5923a00..cdc8546 100644
--- a/paper/paper.md
+++ b/paper/paper.md
@@ -41,7 +41,7 @@ The application separates the `tkinter` interface from numerical and I/O modules
The processing function converts an input to a two-dimensional `float32` array and applies enabled operations in a documented order: dark subtraction, flat correction, background subtraction, region-of-interest cropping, masking, absolute and percentile limits, negative clipping, local median/MAD hot-pixel suppression, right-angle rotations and flips, block-mean binning, intensity transform, gamma, and normalization. Flat correction expects a relative detector-response map; RingSentry does not normalize raw flat counts automatically. Invalid flat denominators and masked pixels become non-finite values within the pipeline. Writers for compatible floating-point formats preserve these values. CSV and DAT matrices replace non-finite values with zero and add category counts to batch records; external software may render non-finite TIFF values inconsistently. PNG generation follows a distinct fixed-range display path.
-
+
Core behavior is testable without opening the GUI. The test suite covers numerical processing, QC, diffraction geometry, EDF and FabIO interoperability, output semantics, CBF replacement safeguards, interface error handling, metadata consistency, and the end-to-end synthetic example. The example generates two analytic rings with seeded noise, processes the array, and saves quantitative NPY data, a display PNG, and a machine-readable summary.
@@ -62,6 +62,8 @@ RingSentry is distributed under the MIT License from [GitHub](https://github.com
OpenAI Codex assisted earlier repository inspection, requirements and literature organization, tests, documentation, figures and manuscript preparation in July and August 2026. The exact hosted model version for that earlier work was not retained. In September 2026, OpenAI Codex (GPT-6) assisted submission preparation, metadata alignment, research-use documentation and automated verification. The author must review and confirm the complete disclosure and all new AI-assisted outputs before submission.
+The README cover is AI-generated conceptual artwork. Manuscript diagrams and numerical plots are produced by repository scripts; scientific data are not retouched by an image-generation model.
+
# Acknowledgements
No external funding was received for this software. There was no sponsor involvement. The author declares no competing interests.