Skip to content

Conversation

mangopep
Copy link

Introduces an optional Qt6 GUI for RAWtoACES with file list, parameter panel, image viewer, and real-time logs, running safely via QProcess. Adds cross-platform CI (Linux/macOS/Windows), headless Qt tests, and updated docs. Default build remains CLI-only.

Highlights

  • GUI opt-in: -DRAWTOACES_BUILD_GUI=ON
  • Minimal Qt deps (Core, Widgets, Concurrent, Network)
  • File list with drag & drop + thumbnails
  • Parameter controls mirroring CLI options
  • Image viewer (zoom + WB/crop selection)
  • Real-time logging, injection-safe
  • CI: macOS (Homebrew Qt), Ubuntu (apt Qt6), Windows (MSVC+Qt+vcpkg)
  • Headless tests: QT_QPA_PLATFORM=offscreen
  • Docs: GUI README + IMPLEMENTATION.md

Compatibility & Security

  • CLI unchanged (default build).
  • QProcess with explicit args, overwrite protection, timeouts.

Checklist

  • Builds on Linux/macOS/Windows
  • Headless unit tests pass
  • Docs updated
  • No breaking changes (CLI default)

Copy link

linux-foundation-easycla bot commented Sep 10, 2025

CLA Missing ID CLA Not Signed

antond-weta and others added 11 commits September 10, 2025 16:18
* add usage examples

Signed-off-by: Anton Dukhovnikov <[email protected]>
Signed-off-by: Savitha M <[email protected]>
* simplify core API

Signed-off-by: Anton Dukhovnikov <[email protected]>

* address review issues

Signed-off-by: Anton Dukhovnikov <[email protected]>

* address review issues

Signed-off-by: Anton Dukhovnikov <[email protected]>

* Update src/rawtoaces_core/rawtoaces_core.cpp

Co-authored-by: Aleksandr Motsjonov <[email protected]>
Signed-off-by: Anton Dukhovnikov <[email protected]>

---------

Signed-off-by: Anton Dukhovnikov <[email protected]>
Co-authored-by: Aleksandr Motsjonov <[email protected]>
Signed-off-by: Savitha M <[email protected]>
Signed-off-by: Anton Dukhovnikov <[email protected]>
Signed-off-by: Savitha M <[email protected]>
* snake_case naming and function documentation in rawtoaces_core

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* Finish renaming and descriptions in _core module

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* Delete clear_vector_memory function

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* Merge descriptions from cpp into h and have them only there.

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* Lint formatting

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* Remove mentions of specific training data set and observer details

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* Fix formatting

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* Fix more formatting

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* Remove more specifics about training data

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* Lowercase xy, uppercase CCT in func names

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* rename private calculate_WB to deconflict

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* Address PR comments

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* Restore max_double

Signed-off-by: Aleksandr Motsjonov <[email protected]>

---------

Signed-off-by: Aleksandr Motsjonov <[email protected]>
Signed-off-by: Savitha M <[email protected]>
Signed-off-by: Aleksandr Motsjonov <[email protected]>
Signed-off-by: Savitha M <[email protected]>
…ation#183)

* More consistency into naming in image_converter

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* PR review comments address

Signed-off-by: Aleksandr Motsjonov <[email protected]>

---------

Signed-off-by: Aleksandr Motsjonov <[email protected]>
Signed-off-by: Savitha M <[email protected]>
* More refactoring and descriptions

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* PR review comments address

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* changes to be deleted in next commit

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* revert to good old copy paste and simpler code

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* More PR comment address

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* Fix bug where help is printed out for --list-cameras and --list-illuminants

Signed-off-by: Aleksandr Motsjonov <[email protected]>

---------

Signed-off-by: Aleksandr Motsjonov <[email protected]>
Signed-off-by: Savitha M <[email protected]>
* Fix wrong success execution

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* better comment

Signed-off-by: Aleksandr Motsjonov <[email protected]>

---------

Signed-off-by: Aleksandr Motsjonov <[email protected]>
Signed-off-by: Savitha M <[email protected]>
* test ci

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* clang formatting

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* Check if it might just work

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* formatting

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* Revert the revert

Signed-off-by: Aleksandr Motsjonov <[email protected]>

* revert the enabling

Signed-off-by: Aleksandr Motsjonov <[email protected]>

---------

Signed-off-by: Aleksandr Motsjonov <[email protected]>
Signed-off-by: Savitha M <[email protected]>
Signed-off-by: Aleksandr Motsjonov <[email protected]>
Signed-off-by: Savitha M <[email protected]>
@mangopep mangopep force-pushed the feat/gui-qt6-production branch from c81b5c9 to 804ffb9 Compare September 10, 2025 10:49
@soswow
Copy link
Contributor

soswow commented Sep 10, 2025

👋 Thx for doing this work.
Do you mind showing some pictures of final UI? Or maybe even a video workthrough of how it works.
We having dificulty building it locally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants