mirror of
https://github.com/slsdetectorgroup/aare.git
synced 2025-06-14 08:17:13 +02:00
26 lines
692 B
C++
26 lines
692 B
C++
#include "aare/JsonFile.hpp"
|
|
|
|
Frame *JsonFile::get_frame(size_t frame_number) {
|
|
if (frame_number > this->total_frames) {
|
|
throw std::runtime_error("Frame number out of range");
|
|
}
|
|
int subfile_id = frame_number / this->max_frames_per_file;
|
|
std::byte *buffer;
|
|
size_t frame_size = this->subfiles[subfile_id]->bytes_per_frame();
|
|
buffer = new std::byte[frame_size];
|
|
this->subfiles[subfile_id]->get_frame(buffer, frame_number % this->max_frames_per_file);
|
|
auto f = new Frame(buffer, this->rows, this->cols, this->bitdepth );
|
|
|
|
|
|
delete[] buffer;
|
|
return f;
|
|
}
|
|
|
|
JsonFile::~JsonFile() {
|
|
for (auto& subfile : subfiles) {
|
|
delete subfile;
|
|
}
|
|
}
|
|
|
|
|