CurveFinder QT
CurveFinder is a specialized tool for detecting and analyzing interpolation curves (ISP curves, Bézier curves, spline curves) from digital images.
What the project solves
CurveFinder is a specialized tool for detecting and analyzing interpolation curves (ISP curves, Bézier curves, spline curves) from digital images.
How the application works and what it is for
Overview and use-case
CurveFinder _ QT is a specialized desktop tool for detecting curves from raster images, their mathematical processing and export to virtually usable outputs (overlay, PNG icons, SVG vectors, database records). In the context of MPimDB toolchain, it serves as a visual curve analyzer with emphasis on reproducibility of results and operational usability both in graphical interface and headless doses.
- Primary use- case: extraction of ISP / Bézier / spline curves from images and their further use.
- Secondary use- case: standardised export of icons (1: 1 crop, 256 × 256 PNG) and SVG routes.
- Operating use- case: batch processing of directories / files without graphical interface (CI / QA pipelines).
- Audit use- case: storage of metadata and results to SQLite + log after sessions.
Workflow Step by step
6.1 Interactive Workflow (graphical interface)
- Open image (File / Open or toolbar button).
- Preview + zoom / pan for precise location of the area of interest.
- Optional Crop mask setting (1: 1) for icon export.
- Detect.
- Overlay control of the result and possible fine-tuning of parameters.
- Save to DB (if save workflow is active).
- Export of the selected / current result to PNG / SVG.
6.2. Batch workflow (headless)
- Select mode: --batch-test / --batch-dir / --batch-file.
- Set out the output path (--batch- out).
- Start the process and follow the progress / log output.
- After completion, verify export artifacts and QA reports.
User scenarios
Scenario A - Manual analysis of one image
The operator opens the source image, sets the appropriate zoom and checks the area with the highest curve density. After detection, it compares overlay with the original and exports the most representative cuts to PNG / SVG.
Scenario B - Batch verification test set
For regression check, the dose above test _ images is started and output is evaluated by number of detected curves, quality overlay and consistency of exported vectors.
Scenario C - Icon creation from a specific part of the graph
The user moves 1: 1 mask to the target part of the image, carries out the export of PNG 256 × 256 and simultaneously stores SVG representation of the same area for another editor's workflow.
Screenplay D - Headless single-file pipeline
The automated script will transfer one file via --batch-file without copying and use outputs in the following QA tool or publication.
UI map and control
8.1 Main elements
- Menu bar: File, Activities, Settings, Help (according to build).
- Toolbar: open, detect, export, sets, show logs, other utilities action.
- Central image area: render image + overlay.
- Interactive navigation: mouse-wheel zoom, Mr. drag, crop mask operation.
8.2 UX rules
- Zoom is a centro-aware (around the cursor).
- Pan doesn't change the data content, just the viewport.
- Crop mask is designed for standard icon output.
- Show logs action opens session log folder for quick diagnostics.
I / O, DB, formats
10.1 Inputs
- Raster images (JPG, PNG, BMP, TIFF and other common formats).
- Batch inputs from directory structure or single file.
10.2 Outputs
- Overlay images with marked detection.
- PNG exports (including iconic cuts).
- SVG exports (vector representation of curves).
- SQLite metadata and hash identities records.
10.3 Database layer
DB is SQLite based and targets light portability. Typical use is storage curve metadata, export payload references, preset and audit information about running.
Troubleshooting
| Symptom | Maybe cause | Solution |
|---|---|---|
| Detection's running too long. | large / noise image, high iteration | Edit to detect parameters, set the skeleton _ max _ iter |
| No or poor curves | inappropriate third / pre-processing | change input parameters, verify contrast |
| SVG export empty | curve not redesigned in a valid way | check points and filter steps before export |
| DB write fail | invalid journey or rights | check db _ path and directory permissions |
| Localization does not match | missing localize payload | turn on / verify fallback, validate .localize syntax |
| graphical interface lag at large images | demanding render + overlay | work after the cuts, limit parallel actions |
| Batch output incomplete | wrong path input / filters | verify --batch-dir / --batch-file and output log |
| Show logs doesn't open anything | path resolver or shell association | open logs directory manually and check path |
FAQ
| Question | Response |
|---|---|
| Is it possible to change the size of the crop mask? | MVP workflow targets standard 1: 1 iconic cut; additional modes can be added later. |
| Does the application support purely headless mode? | Yes, through the back arguments without the need for an interactive graphical interface flow. |
| Where are the logs? | In the app-local folder logs called CurveFinder _ YYYY-MMDD _ HHMMSS.log. |
| How to verify the quality of detection? | By comparing the overlay against the original and checking SVG / PNG outputs. |
| Can the application be used without SQLite? | Exportedly, but DB persistence and some metadata workflow require db _ path. |
| How do you prevent the skeleton from cycling? | Set the skeleton _ max _ iter and watch heartbeat logs. |
| Why are some curves ignored? | Filtration may remove lines / noise or non-valid contours. |
| Is it possible to use your own localize file? | Yes, via APP _ DATA / curvefinder.localize with fallback support. |
| Does the app have a safe default profile? | Yes, default config is designed conservatively for a stable start. |
| When to run the back- test? | When you change the detection logic, export the pipeline or before the release jacket. |
