High-performance Windows GUI generator written in Nim for creating synthetic DPM training datasets and YOLO (ABB/OBB) annotations
0
6 commits
updated Oct 1, 2026
A Windows GUI utility for generating synthetic training datasets and YOLO-compatible annotations (ABB/OBB) for Data Matrix / Direct Part Marking (DPM) style patterns. It simulates industrial needle-peening marks and surface defects.
Changelog from v1.0.2: Boosting mode for Stage-2 classifier training (logs/features.csv), strike-force defect, version bump.
Downstream inference / training project that uses this generator’s data:
olesha-ai/yolox-dmc-inference
generate_dmc.exe) via the Releases tab.The executable is compiled natively using the Nim programming language. Nim binaries without a commercial extended validation (EV) digital certificate regularly trigger automated Machine Learning (ML) heuristic rules in specific scanners:
!ml suffix explicitly indicates a Machine Learning automated guess, not a signature match. Windows Defender flags new, unsigned independent binaries by default.If you prefer not to run independent closed-source binaries directly on your host machine, we recommend running the application within an isolated Windows Sandbox or a dedicated Virtual Machine (VM).
GUI Window Overview (1.png) | Sample Generated Pattern (2.png) |
|---|---|
![]() | ![]() |
Note: 1.png shows the control layout and preview. 2.png is an exported grayscale JPEG with defect simulation applied.
.txt labels (OBB or ABB)..exe. No installer, no registry changes.images/ next to the exe on first save.logs/features.csv (append-only) when Boosting is on.Mode A — Pure Synthetic (default on launch)
No assets required. Procedural gray steel fill, light scratch noise, vector circles. Background and dot gray levels randomize on each Generate.
Mode B — Photo Compositing
.jpg, .jpeg, .png, .bmp)Folder choices are session-only; next launch starts again in Mode A.
Optional checkbox in the GUI. Off by default.
When Boosting is checked and you press Save, for every exported image the tool also:
<exe_dir>/logs/features.csvCSV format (no header, ; separator, 6 decimal places):
class;f0;f1;…;f22
class is 0 (Good) or 1 (Bad). This file is meant for training the second model used in yolox-dmc-inference (cat_model / LightGBM path).
JPEG + YOLO labels are still written as usual; Boosting only adds the CSV side channel.
Export directory: <exe_dir>/images/
Good_etch_<timestamp>_<index>.jpg + .txtBad_etch_<timestamp>_<index>.jpg + .txtclass x1 y1 x2 y2 x3 y3 x4 y4class cx cy w hPreview uses a yellow box for guidance only — it is not burned into saved images.
Preview scale is fixed at 5×.
n/N)0 Good / 1 Bad (Bad = two-defect combo)logs/features.csvimages next to the exe)Window title: olesha-ai — Needle Etching on Steel · Version 1.1.0
promts/)Starter prompt texts for building your own Mode B textures in diffusion tools (Midjourney, Stable Diffusion, etc.):
promts/promtFON.txt — steel backgroundspromts/promtDot.txt — needle dots (white background helps PNG cutout)These are examples only — not a full asset pack. Generate images yourself, then point BG… / Dots… at your folders.
Distributed strictly for educational, academic, and non-commercial personal research. Commercial use, commercial model training on generated datasets, and redistribution of the binary are prohibited under LICENSE.md.
High-performance Windows GUI generator written in Nim for creating synthetic DPM training datasets and YOLO (ABB/OBB) annotations
0
6 commits
updated Oct 1, 2026
A Windows GUI utility for generating synthetic training datasets and YOLO-compatible annotations (ABB/OBB) for Data Matrix / Direct Part Marking (DPM) style patterns. It simulates industrial needle-peening marks and surface defects.
Changelog from v1.0.2: Boosting mode for Stage-2 classifier training (logs/features.csv), strike-force defect, version bump.
Downstream inference / training project that uses this generator’s data:
olesha-ai/yolox-dmc-inference
generate_dmc.exe) via the Releases tab.The executable is compiled natively using the Nim programming language. Nim binaries without a commercial extended validation (EV) digital certificate regularly trigger automated Machine Learning (ML) heuristic rules in specific scanners:
!ml suffix explicitly indicates a Machine Learning automated guess, not a signature match. Windows Defender flags new, unsigned independent binaries by default.If you prefer not to run independent closed-source binaries directly on your host machine, we recommend running the application within an isolated Windows Sandbox or a dedicated Virtual Machine (VM).
GUI Window Overview (1.png) | Sample Generated Pattern (2.png) |
|---|---|
![]() | ![]() |
Note: 1.png shows the control layout and preview. 2.png is an exported grayscale JPEG with defect simulation applied.
.txt labels (OBB or ABB)..exe. No installer, no registry changes.images/ next to the exe on first save.logs/features.csv (append-only) when Boosting is on.Mode A — Pure Synthetic (default on launch)
No assets required. Procedural gray steel fill, light scratch noise, vector circles. Background and dot gray levels randomize on each Generate.
Mode B — Photo Compositing
.jpg, .jpeg, .png, .bmp)Folder choices are session-only; next launch starts again in Mode A.
Optional checkbox in the GUI. Off by default.
When Boosting is checked and you press Save, for every exported image the tool also:
<exe_dir>/logs/features.csvCSV format (no header, ; separator, 6 decimal places):
class;f0;f1;…;f22
class is 0 (Good) or 1 (Bad). This file is meant for training the second model used in yolox-dmc-inference (cat_model / LightGBM path).
JPEG + YOLO labels are still written as usual; Boosting only adds the CSV side channel.
Export directory: <exe_dir>/images/
Good_etch_<timestamp>_<index>.jpg + .txtBad_etch_<timestamp>_<index>.jpg + .txtclass x1 y1 x2 y2 x3 y3 x4 y4class cx cy w hPreview uses a yellow box for guidance only — it is not burned into saved images.
Preview scale is fixed at 5×.
n/N)0 Good / 1 Bad (Bad = two-defect combo)logs/features.csvimages next to the exe)Window title: olesha-ai — Needle Etching on Steel · Version 1.1.0
promts/)Starter prompt texts for building your own Mode B textures in diffusion tools (Midjourney, Stable Diffusion, etc.):
promts/promtFON.txt — steel backgroundspromts/promtDot.txt — needle dots (white background helps PNG cutout)These are examples only — not a full asset pack. Generate images yourself, then point BG… / Dots… at your folders.
Distributed strictly for educational, academic, and non-commercial personal research. Commercial use, commercial model training on generated datasets, and redistribution of the binary are prohibited under LICENSE.md.