Commit Graph

13 Commits

Author SHA1 Message Date
m-aXimilian e3e161ce52 Enhance image type support (#18)
* adds tiff support

* doc update

* adds memory-based =IPixelariumImage= implementation

* add usage example for custom user control

* enhance

* clang-format

fix readme

fix docs
2026-02-16 20:36:48 +01:00
m-aXimilian d6a08f7db3 Atomic woes, megalinter, and batches (#13)
* fix libCZI dependency w/ atomic woes

* add megalinter

* fix megalinter triggers

* use correct flavor

* build status in readme

* clang-format

* megalinter batch

* disable suggestions

set libCZI options before fetching

Set compile definitions for static libCZI
2026-02-16 20:36:48 +01:00
m-aXimilian fec5c08aaa Transition to C++23 (#11)
* enum field renaming

* renderer cleanups

* compiling for C++23

* version bump

* fix build
2026-02-16 20:36:48 +01:00
m-aXimilian 1ea83d9d11 Czi rendering (#10)
* add dimension selector sliders to czi view

* version doc & version bump

* cosmetic

* fix build?

* multi-dimension selection enabled in czi view

* remove the parameterized reset function of the renderer

it is not and is conceptually questionable

doc updates & some minor improvements

auto-update CZI-view when sliders are moved

set initial window size

fix windows build and msvc build

For reasons I don not comprehend, on Windows, we must include
=opencv2/core/mat.hpp= as the very last header in the =CvMatRender.hpp=.
If this is at any other position building on Windows, compilation will
break w/ all kinds of cryptic errors regarding OpenCV.

When building w/ msvc =__PRETTY_FUNCTION__= is not defined. =ILog.hpp=
now defines it. This should be revised to only be set when the
compiler is msvc. For the time being, it is considered sufficient though.
2026-02-16 20:36:48 +01:00
m-aXimilian e60203b57d Misc enhancements (#9)
* deploy docs only for main

* Revert "deploy docs only for main"

This reverts commit 53e37bd8a43e7e20d5a64bed1b3e00ced551dcae.

* init czi specific view

* fix build
2026-02-16 20:36:48 +01:00
m-aXimilian 22fd65773d Update docs (#8)
* add documentation and missing doxygen dependency

* update readme and mainpage
2026-02-16 20:36:48 +01:00
m-aXimilian 235d00192a Misc Improvements (#7)
* get rid of optional<ptr> -> double indirection

* more optional cleanup

* fix

* add more render pixel type options

* towards different views

* missing virtual declaration of ShowImage

* fix runtime

* init image view factory

* fix build

Render Image close button re-enable

add readme

init documentation

use awesomeDoxygen

ci build docs

install doxygen

id token permission

add pages write permission
2026-02-16 20:36:48 +01:00
m-aXimilian 0be064bb8e Gerneric image codec abstraction init (#6)
* remove raw pointer from resource manager

* towards generic images

* 💅 and pin libCZI module

* remove raw pointer from resource manager

* towards generic images

* fix rendering

* fix rendering

* fix unit tests

* fix pipeline

* fix gcc build

* re-enable tests

* add czi impl

* remove resource button

* refactor user code app to being a "default app"

* ui resources

* missing lib?

* init czi render support

* typos
2026-02-16 20:36:48 +01:00
m-aXimilian bce12b0bb4 Proper image rendering ux (#5)
* can draw from selection

* add light-weight render manager to render many images simultaneously

* [debug me] currently the image close button does not do

* the unselected image can be closed now

* can close images and manually open them on demand

* cosmetic

* image view stuff in render subdirectory

* cosmetic

* generate docs

* review

windows support

some cosmetics

💅 and pin libCZI module
2026-02-16 20:36:45 +01:00
m-aXimilian d71f4168fb some decouplings (#2)
* logger business

* code review

* rm c-style array

* extract image rendering to view

* missing view files

* init view abstractions

* leverage concepts and provide a templateized Enumerate function

* RVO

* get rid of some warnings

* logger business

* code review

* rm c-style array

* extract image rendering to view

* missing view files

* init view abstractions

* leverage concepts and provide a templateized Enumerate function

* RVO

* get rid of some warnings

* logger business

* code review

* rm c-style array

* init view abstractions

* leverage concepts and provide a templateized Enumerate function

* RVO

* get rid of some warnings

* logger business

* code review

* rm c-style array

* init view abstractions

* leverage concepts and provide a templateized Enumerate function

* RVO

* get rid of some warnings

* Factor out AppGLFW base class

The intention here is to get rid of scaffolding in the consumer
application class and allow to focus on the "important bits".

* Some cleanup

* dump unnecessary dependency

* link stuff where needed & use only what's needed

* remove deprecation warnings

* add gallery toggle

* make some includes private

* add presets

* remove dir locals, use presets instead

`projectile-configure-project' in conjunction with CMakePresets.json
will allow to configure the project.
`projectile-compile-project' does sth similar for the compile command.

This is equivalent to something like
~cmake --preset clang-debug && cmake --build build --preset clang-debug~

* use presets in pipeline

---------

Co-authored-by: m-aXimilian <keuffnermax@gmail.com>
2025-08-18 22:39:43 +00:00
m-aXimilian a8489292b6 Resources (#1)
* start some resource fiddling

* start some resource fiddling

* initiate a real resource manager

* fix color flicker in rendering

* delete unintended constructors

and add a convenience function to reset the render-image (from the
original image, aka. clone again)

* [OpenGL deprecation warning]

The compiler said that these functions are "deprecated". They seem to
be useless anyway...

* various improvements

* add resource enumerator and documentation

* fix constness stuff

* use existing iterator for insertion

* init unit tests

* rm bogus file

---------

Co-authored-by: m-aXimilian <keuffnermax@gmail.com>
2025-06-13 22:23:20 +00:00
Kueffner, Maximilian 167dc1f9d4 micro improvements 2025-05-23 15:15:01 +02:00
Kueffner, Maximilian 0b541348b0 can render 2 cv::mats 2025-03-14 19:32:40 +01:00