CaptureMoment
0.1.0
Free and open-source non-destructive photo editor
Loading...
Searching...
No Matches
image_processing.h
Go to the documentation of this file.
1
19
#pragma once
20
21
// ============================================================
22
// 1. Interfaces
23
// ============================================================
24
29
#include "
image_processing/interfaces/i_working_image_hardware.h
"
30
34
#include "
image_processing/interfaces/i_backend_decider.h
"
35
36
// ============================================================
37
// 2. Concrete Implementations
38
// ============================================================
39
40
// --- Base Classes Halide ---
41
#include "
image_processing/halide/working_image_halide.h
"
42
43
// --- CPU Implementations ---
44
#include "
image_processing/cpu/working_image_cpu_default.h
"
45
#include "
image_processing/cpu/working_image_cpu_halide.h
"
46
50
#include "
image_processing/cpu/working_image_cpu.h
"
51
52
56
#include "
image_processing/gpu/working_image_gpu.h
"
57
58
// --- GPU Implementations ---
62
#include "
image_processing/gpu/working_image_gpu_halide.h
"
63
64
// --- Common Implementations ---
68
#include "
image_processing/common/working_image_data.h
"
69
74
#include "
image_processing/common/image_view.h
"
75
76
// ============================================================
77
// 3. Factories
78
// ============================================================
79
84
#include "
image_processing/factories/working_image_factory.h
"
85
86
// ============================================================
87
// 4. Deciders
88
// ============================================================
89
94
#include "
image_processing/deciders/benchmarking_backend_decider.h
"
95
96
97
// ============================================================
98
// 5. Contexts
99
// ============================================================
100
104
#include "
image_processing/working_image_context.h
"
105
106
// ============================================================
107
// 6. Registration
108
// ============================================================
113
#include "
image_processing/registration/working_image_registration.h
"
benchmarking_backend_decider.h
Concrete implementation of IBackendDecider that chooses backend based on performance benchmarks.
i_backend_decider.h
Abstract interface for deciding the hardware backend (CPU or GPU) for image processing.
i_working_image_hardware.h
Abstract interface representing an image used as a working buffer, abstracting hardware location.
image_view.h
Lightweight, non-owning view over image memory and its geometry.
working_image_context.h
Manages the lifecycle of a single WorkingImage instance and its associated data.
working_image_cpu.h
Image working buffers stored on the CPU.
working_image_cpu_default.h
Default concrete implementation of IWorkingImageCPU using standard CPU memory.
working_image_cpu_halide.h
implementation of of image working buffer on CPU using Halide for processing.
working_image_data.h
Base class providing raw buffer storage and metadata for all working image implementations.
working_image_factory.h
Factory for creating IWorkingImageHardware instances using a Registry Pattern.
working_image_gpu.h
Image working buffers stored on the GPU.
working_image_gpu_halide.h
Concrete implementation of image working buffer on GPU using Halide for processing.
working_image_halide.h
Base class for Halide-based working image implementations.
working_image_registration.h
Declaration of backend registration function.
CaptureMoment — footer