build system and module refactoring + simple histogram scratch (#20)
* scratch adding histogram to image views Histograms should come from some sort of histogram service. This is currently just a POC. * custom logger implementation w/o spdlog * missing cmake file * fix tests * use operator<< over direct stream exposure * rm print header * add threading test + refactor towards interface libraries omits the need for =target_include_directories= calls /everywhere/ * rm print header * rm constexpr * templated thread_pool * fix doxyfile * default enable doc building * czi reader refactor * rm erroneous include expression * clang-format * single lib include with PUBLIC visibility * compile imgui stdlib * clang format * documentation update centralize `LogLevelToString` to `ILog.hpp` update docs and examples
This commit is contained in:
committed by
Maximilian Kueffner
parent
b37814204f
commit
c00c2c71ac
+8
-8
@@ -2,19 +2,19 @@ PROJECT_NAME = @PIXELARIUM_TITLE@
|
||||
PROJECT_NUMBER = @CMAKE_PROJECT_VERSION@
|
||||
|
||||
OUTPUT_DIRECTORY = @PROJECT_BINARY_DIR@/doc
|
||||
INPUT = @PROJECT_SOURCE_DIR@/lib/app \
|
||||
@PROJECT_SOURCE_DIR@/doc \
|
||||
@PROJECT_SOURCE_DIR@/lib/imaging \
|
||||
@PROJECT_SOURCE_DIR@/lib/imaging/impl \
|
||||
@PROJECT_SOURCE_DIR@/lib/utilities \
|
||||
@PROJECT_SOURCE_DIR@/lib/rendering \
|
||||
@PROJECT_SOURCE_DIR@/lib/resources
|
||||
INPUT = @PROJECT_SOURCE_DIR@/doc/ \
|
||||
@PROJECT_SOURCE_DIR@/lib/app/include \
|
||||
@PROJECT_SOURCE_DIR@/lib/app/rendering/include \
|
||||
@PROJECT_SOURCE_DIR@/lib/imaging/include \
|
||||
@PROJECT_SOURCE_DIR@/lib/imaging/impl/include \
|
||||
@PROJECT_SOURCE_DIR@/lib/utilities/include \
|
||||
@PROJECT_SOURCE_DIR@/lib/resources/include
|
||||
IMAGE_PATH = @PROJECT_SOURCE_DIR@/doc/figures
|
||||
|
||||
DOXYFILE_ENCODING = UTF-8
|
||||
GENERATE_LATEX = NO
|
||||
FULL_PATH_NAMES = NO
|
||||
USE_MDFILE_AS_MAINPAGE = @PROJECT_SOURCE_DIR@/doc/index.md
|
||||
USE_MDFILE_AS_MAINPAGE = @MAINPAGE_FILE@
|
||||
|
||||
|
||||
HTML_EXTRA_STYLESHEET = @AWESOME_CSS_DIR@/doxygen-awesome.css
|
||||
|
||||
+24
-6
@@ -54,15 +54,15 @@ If you want to specify compiler settings and options which are not defined in a
|
||||
|
||||
# Usage
|
||||
|
||||
The [examples](https://github.com/m-aXimilian/pixelarium/tree/fd400bf545ade029696c21119a50cf4bb67ffbac/examples) directory aims to showcase a few usage examples of this project.
|
||||
The [examples](https://github.com/m-aXimilian/pixelarium/tree/main/examples) directory aims to showcase a few usage examples of this project.
|
||||
|
||||
All there is to do in order to get an initial window on screen is to create an instance of [`AppGLFW`](https://github.com/m-aXimilian/pixelarium/blob/fd400bf545ade029696c21119a50cf4bb67ffbac/lib/app/AppGLFW.hpp) (or one of its child classes) and start it.
|
||||
All there is to do in order to get an initial window on screen is to create an instance of [`AppGLFW`](https://github.com/m-aXimilian/pixelarium/blob/main/lib/app/include/AppGLFW.hpp) (or one of its child classes) and start it.
|
||||
|
||||
```cpp
|
||||
unique_ptr<ILog> logger = make_unique<SpdLogger>("logfile.log", "loggername");
|
||||
const auto logger {SpdLogger("logfile.log", "loggername")};
|
||||
ImageResourcePool image_pool;
|
||||
|
||||
auto app {DefaultApp(*logger, image_pool)};
|
||||
auto app {DefaultApp(logger, image_pool)};
|
||||
app.Start();
|
||||
```
|
||||
|
||||
@@ -72,10 +72,28 @@ All there is to do in order to get an initial window on screen is to create an i
|
||||
|
||||
## simple
|
||||
|
||||
This is the most straight-forward usage of Pixelarium. It simply instantiates a [`DefaultApp`](https://github.com/m-aXimilian/pixelarium/blob/fd400bf545ade029696c21119a50cf4bb67ffbac/lib/app/DefaultApp.hpp) and runs it.
|
||||
This is the most straight-forward usage of Pixelarium. It simply instantiates a [`DefaultApp`](https://github.com/m-aXimilian/pixelarium/blob/main/lib/app/include/DefaultApp.hpp) and runs it.
|
||||
|
||||
|
||||
## custom_0
|
||||
|
||||
This is meant to showcase that [`DefaultApp`]((https://github.com/m-aXimilian/pixelarium/blob/fd400bf545ade029696c21119a50cf4bb67ffbac/lib/app/DefaultApp.hpp)) ([`AppGLFW`](https://github.com/m-aXimilian/pixelarium/blob/fd400bf545ade029696c21119a50cf4bb67ffbac/lib/app/AppGLFW.hpp) as well) can be customized via inheritance.
|
||||
This is meant to showcase that [`DefaultApp`]((https://github.com/m-aXimilian/pixelarium/blob/main/lib/app/include/DefaultApp.hpp)) ([`AppGLFW`](https://github.com/m-aXimilian/pixelarium/blob/main/lib/app/include/AppGLFW.hpp) as well) can be customized via inheritance.
|
||||
|
||||
As a usage example, it implements a simple binary image reader. It can be presented with a binary file of layout
|
||||
|
||||
```cpp
|
||||
struct ParsedImage
|
||||
{
|
||||
uint8_t depth;
|
||||
uint8_t channels;
|
||||
uint16_t width;
|
||||
uint16_t height;
|
||||
void* data;
|
||||
};
|
||||
```
|
||||
|
||||
i.e., a header encoding 1 byte for the pixel-depth, 1 byte for the channel count, 2 byte each for width and height in pixel followed by the actual pixeldata.
|
||||
|
||||
## custom_1
|
||||
|
||||
An example showcasing how to inject a user defined control into the existing scaffolding of `DefaultApp` using a multiplication filter. This is in many ways similar to the previous example.
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
| Version | Description |
|
||||
|:--------:|:------------------------------------------------------------------------------------------------------------|
|
||||
| 0.0.12 | Build system simplifications, binary image-reader in custom\_0, a simple POC for histograms in views |
|
||||
| 0.0.11 | Miscellaneous refactoring |
|
||||
| 0.0.10 | Adds Tiff-support, in-memory images, and advances usage example "custom_1" |
|
||||
| 0.0.9 | Improve documentation, add example for `DefaultApp` override semantics |
|
||||
|
||||
Reference in New Issue
Block a user