mirror of
https://github.com/slsdetectorgroup/aare.git
synced 2025-06-11 06:47:14 +02:00
save work debugging
This commit is contained in:
@ -26,6 +26,7 @@ class File {
|
||||
void write(Frame &frame);
|
||||
Frame read();
|
||||
Frame iread(size_t frame_number);
|
||||
std::vector<Frame> iread(size_t frame_number, size_t n_frames);
|
||||
std::vector<Frame> read(size_t n_frames);
|
||||
void read_into(std::byte *image_buf);
|
||||
void read_into(std::byte *image_buf, size_t n_frames);
|
||||
|
@ -134,28 +134,14 @@ class FileInterface {
|
||||
* @param frame_number frame number to read
|
||||
* @return frame
|
||||
*/
|
||||
Frame iread(size_t frame_number) {
|
||||
auto old_pos = tell();
|
||||
seek(frame_number);
|
||||
Frame tmp = read();
|
||||
seek(old_pos);
|
||||
return tmp;
|
||||
};
|
||||
|
||||
virtual Frame iread(size_t frame_number)=0;
|
||||
/**
|
||||
* @brief read n_frames from the file starting at the given frame number
|
||||
* @param frame_number frame number to start reading from
|
||||
* @param n_frames number of frames to read
|
||||
* @return vector of frames
|
||||
*/
|
||||
std::vector<Frame> iread(size_t frame_number, size_t n_frames) {
|
||||
auto old_pos = tell();
|
||||
seek(frame_number);
|
||||
std::vector<Frame> tmp = read(n_frames);
|
||||
seek(old_pos);
|
||||
return tmp;
|
||||
}
|
||||
|
||||
virtual std::vector<Frame> iread(size_t frame_number, size_t n_frames)=0;
|
||||
// function to query the data type of the file
|
||||
/*virtual DataType dtype = 0; */
|
||||
|
||||
|
@ -72,6 +72,21 @@ class NumpyFile : public FileInterface {
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
Frame iread(size_t frame_number) {
|
||||
auto old_pos = tell();
|
||||
seek(frame_number);
|
||||
Frame tmp = read();
|
||||
seek(old_pos);
|
||||
return tmp;
|
||||
};
|
||||
|
||||
std::vector<Frame> iread(size_t frame_number, size_t n_frames) {
|
||||
auto old_pos = tell();
|
||||
seek(frame_number);
|
||||
std::vector<Frame> tmp = read(n_frames);
|
||||
seek(old_pos);
|
||||
return tmp;
|
||||
}
|
||||
|
||||
~NumpyFile() noexcept override;
|
||||
|
||||
|
@ -26,8 +26,8 @@ class RawFile : public FileInterface {
|
||||
*/
|
||||
void write([[maybe_unused]] Frame &frame) override { throw std::runtime_error("Not implemented"); };
|
||||
Frame read() override {
|
||||
return get_frame(frame_number(this->current_frame++));
|
||||
};
|
||||
std::cout << "Reading frame " << this->current_frame << std::endl;
|
||||
return get_frame(frame_number(this->current_frame++)); };
|
||||
std::vector<Frame> read(size_t n_frames) override;
|
||||
void read_into(std::byte *image_buf) override {
|
||||
return get_frame_into(frame_number(this->current_frame++), image_buf);
|
||||
@ -48,10 +48,13 @@ class RawFile : public FileInterface {
|
||||
size_t pixels_per_frame() override { return m_rows * m_cols; }
|
||||
|
||||
// goto frame number
|
||||
void seek(size_t frame_number) override { this->current_frame = frame_number; };
|
||||
void seek(size_t frame_number) override { this->current_frame = frame_number + m_starting_frame;
|
||||
std::cout<<"Seeking to frame "<<frame_number<<std::endl;
|
||||
std::cout<<"Current frame is "<<this->current_frame<<std::endl;
|
||||
};
|
||||
|
||||
// return the position of the file pointer (in number of frames)
|
||||
size_t tell() override { return this->current_frame; };
|
||||
size_t tell() override { return this->current_frame - m_starting_frame; };
|
||||
|
||||
/**
|
||||
* @brief check if the file is a master file
|
||||
@ -98,6 +101,21 @@ class RawFile : public FileInterface {
|
||||
size_t rows() const override { return m_rows; }
|
||||
size_t cols() const override { return m_cols; }
|
||||
size_t bitdepth() const override { return m_bitdepth; }
|
||||
Frame iread(size_t frame_number) override {
|
||||
auto old_pos = tell();
|
||||
seek(frame_number);
|
||||
Frame tmp = read();
|
||||
seek(old_pos);
|
||||
return tmp;
|
||||
}
|
||||
|
||||
std::vector<Frame> iread(size_t frame_number, size_t n_frames) override {
|
||||
auto old_pos = tell();
|
||||
seek(frame_number);
|
||||
std::vector<Frame> tmp = read(n_frames);
|
||||
seek(old_pos);
|
||||
return tmp;
|
||||
}
|
||||
|
||||
private:
|
||||
/**
|
||||
|
@ -45,7 +45,8 @@ class SubFile {
|
||||
* @param bitdepth bitdepth of the subfile
|
||||
* @throws std::invalid_argument if the detector,type pair is not supported
|
||||
*/
|
||||
SubFile(const std::filesystem::path &fname, DetectorType detector, size_t rows, size_t cols, size_t bitdepth,int subfile_id);
|
||||
SubFile(const std::filesystem::path &fname, DetectorType detector, size_t rows, size_t cols, size_t bitdepth,
|
||||
int subfile_id);
|
||||
|
||||
/**
|
||||
* @brief read the subfile into a buffer
|
||||
|
@ -45,6 +45,9 @@ size_t File::bitdepth() const { return file_impl->bitdepth(); }
|
||||
File::~File() { delete file_impl; }
|
||||
|
||||
Frame File::iread(size_t frame_number) { return file_impl->iread(frame_number); }
|
||||
std::vector<Frame> File::iread(size_t frame_number, size_t n_frames) {
|
||||
return file_impl->iread(frame_number, n_frames);
|
||||
}
|
||||
|
||||
File::File(File &&other) noexcept : file_impl(other.file_impl) { other.file_impl = nullptr; }
|
||||
|
||||
|
@ -24,7 +24,9 @@ RawFile::RawFile(const std::filesystem::path &fname, const std::string &mode, co
|
||||
} else {
|
||||
throw std::runtime_error(LOCATION + "Unsupported mode");
|
||||
}
|
||||
aare::logger::error("axxxsdasda", m_starting_frame);
|
||||
m_starting_frame = this->frame_number(0);
|
||||
aare::logger::error("asdasda", m_starting_frame);
|
||||
}
|
||||
|
||||
void RawFile::open_subfiles() {
|
||||
|
Reference in New Issue
Block a user