// SPDX-FileCopyrightText: 2026 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only #include "ImagePreprocessorBuffer.h" ImagePreprocessorBuffer::ImagePreprocessorBuffer(size_t npixels) : buffer(npixels) {} // Standard CPU operation std::vector &ImagePreprocessorBuffer::getBuffer() { return buffer; } const std::vector &ImagePreprocessorBuffer::getBuffer() const { return buffer; } int32_t &ImagePreprocessorBuffer::operator[](size_t i) { return buffer[i]; } const int32_t &ImagePreprocessorBuffer::operator[](size_t i) const { return buffer[i]; } size_t ImagePreprocessorBuffer::size() const { return buffer.size(); } int32_t *ImagePreprocessorBuffer::data() { return buffer.data(); } const int32_t *ImagePreprocessorBuffer::data() const { return buffer.data(); } void ImagePreprocessorBuffer::Gather(const std::vector &npixel, std::vector &values) const { values.resize(npixel.size()); for (size_t i = 0; i < npixel.size(); i++) values[i] = buffer[npixel[i]]; } int32_t *ImagePreprocessorBuffer::getGPUBuffer() { return nullptr; } const int32_t *ImagePreprocessorBuffer::getGPUBuffer() const { return nullptr; }