Bitdepth independent image processing in AXIOM-recorder
Open, Needs TriagePublic

Description

To apply for this task please complete this mandatory coding challenge together with your application: T1227
Applications without matching coding challenge completed will not be considered.

Read our Google Summer of Code Overview page:
https://wiki.apertus.org/index.php/GSoC_Overview

The AXIOM recorder software is envisioned to record moving images from AXIOM cameras via either USB3 or Ethernet. That software package uses a node-based approach to Image Processing. Often Images are aquired in 12bit form and then explicitly converted to 8bits / channel for preview. This results in a loss of visual fidelity and unnecessary consumption of memory-bandwidth which is to be avoided. All nodes take input image data with an explicitly specified bit-depth and output image-data with an explicit output-bit-depth. Images can be converted in bit-depth with an explicit bit-depth-converter-node.

Goals:

Make the image processing in the AXIOM-recorder bit-depth and format (integer, or floating point) agnostic where possible.
Both nodes using the CPU and nodes using the GPU for processing should be considered.
Abstractions should be build to make this bit-depth-agnostic processing easier.

Prerequisites:

  • Vulkan / GPU Know-How

Language Skills:

  • Rust

Useful Links:

Difficulty: Medium
Hours: This is a large (350 hr) project. If you really want to do this as a small project, please contact us and maybe we can find a suitable subset for a small project.

Mentors: vup, anuejn

To get in touch with any mentor check the Mentor Contact List.

Related Objects

anuejn created this task.Feb 21 2022, 5:26 PM
anuejn updated the task description. (Show Details)Feb 21 2022, 5:42 PM
vup updated the task description. (Show Details)Feb 24 2022, 3:03 PM