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 <antond@wetafx.co.nz>
Signed-off-by: Savitha M <savithaofficial.in@gmail.com>
* simplify core API

Signed-off-by: Anton Dukhovnikov <antond@wetafx.co.nz>

* address review issues

Signed-off-by: Anton Dukhovnikov <antond@wetafx.co.nz>

* address review issues

Signed-off-by: Anton Dukhovnikov <antond@wetafx.co.nz>

* Update src/rawtoaces_core/rawtoaces_core.cpp

Co-authored-by: Aleksandr Motsjonov <soswow@users.noreply.github.com>
Signed-off-by: Anton Dukhovnikov <antond@wetafx.co.nz>

---------

Signed-off-by: Anton Dukhovnikov <antond@wetafx.co.nz>
Co-authored-by: Aleksandr Motsjonov <soswow@users.noreply.github.com>
Signed-off-by: Savitha M <savithaofficial.in@gmail.com>
Signed-off-by: Anton Dukhovnikov <antond@wetafx.co.nz>
Signed-off-by: Savitha M <savithaofficial.in@gmail.com>
* snake_case naming and function documentation in rawtoaces_core

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* Finish renaming and descriptions in _core module

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* Delete clear_vector_memory function

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

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

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* Lint formatting

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* Remove mentions of specific training data set and observer details

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* Fix formatting

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* Fix more formatting

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* Remove more specifics about training data

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* Lowercase xy, uppercase CCT in func names

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* rename private calculate_WB to deconflict

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* Address PR comments

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* Restore max_double

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

---------

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>
Signed-off-by: Savitha M <savithaofficial.in@gmail.com>
Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>
Signed-off-by: Savitha M <savithaofficial.in@gmail.com>
…ation#183)

* More consistency into naming in image_converter

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* PR review comments address

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

---------

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>
Signed-off-by: Savitha M <savithaofficial.in@gmail.com>
* More refactoring and descriptions

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* PR review comments address

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* changes to be deleted in next commit

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* revert to good old copy paste and simpler code

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* More PR comment address

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

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

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

---------

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>
Signed-off-by: Savitha M <savithaofficial.in@gmail.com>
* Fix wrong success execution

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* better comment

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

---------

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>
Signed-off-by: Savitha M <savithaofficial.in@gmail.com>
* test ci

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* clang formatting

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* Check if it might just work

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* formatting

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* Revert the revert

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

* revert the enabling

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>

---------

Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>
Signed-off-by: Savitha M <savithaofficial.in@gmail.com>
Signed-off-by: Aleksandr Motsjonov <soswow@gmail.com>
Signed-off-by: Savitha M <savithaofficial.in@gmail.com>
Signed-off-by: Savitha M <savithaofficial.in@gmail.com>
@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