|
AARE
Data analysis library for PSI hybrid detectors
|
NumpyFile class to read and write numpy files. More...
#include <NumpyFile.hpp>
Public Member Functions | |
| NumpyFile (const std::filesystem::path &fname, const std::string &mode="r", FileConfig cfg={}) | |
| NumpyFile constructor. | |
| void | write (Frame &frame) override |
| write a frame to the file | |
| Frame | read () override |
| write a vector of frames to the file | |
| std::vector< Frame > | read (size_t n_frames) override |
| read n_frames from the file at the current position | |
| void | read_into (std::byte *image_buf) override |
| read one frame from the file at the current position and store it in the provided buffer | |
| void | read_into (std::byte *image_buf, size_t n_frames) override |
| read n_frames from the file at the current position and store them in the provided buffer | |
| size_t | frame_number (size_t frame_index) override |
| get the frame number at the given frame index | |
| size_t | bytes_per_frame () override |
| get the size of one frame in bytes | |
| size_t | pixels () override |
| get the number of pixels in one frame | |
| void | seek (size_t frame_number) override |
| seek to the given frame number | |
| size_t | tell () override |
| get the current position of the file pointer | |
| size_t | total_frames () const override |
| get the total number of frames in the file | |
| ssize_t | rows () const override |
| get the number of rows in the file | |
| ssize_t | cols () const override |
| get the number of columns in the file | |
| ssize_t | bitdepth () const override |
| get the bitdepth of the file | |
| DType | dtype () const |
| get the data type of the numpy file | |
| std::vector< size_t > | shape () const |
| get the shape of the numpy file | |
| template<typename T , size_t NDim> | |
| NDArray< T, NDim > | load () |
| load the numpy file into an NDArray | |
| ~NumpyFile () | |
| Frame | iread (size_t frame_number) |
| read one frame from the file at the given frame number | |
| std::vector< Frame > | iread (size_t frame_number, size_t n_frames) |
| read n_frames from the file starting at the given frame number | |
Data Fields | |
| std::string | m_mode |
| std::filesystem::path | m_fname |
| std::filesystem::path | m_base_path |
| std::string | m_base_name |
| std::string | m_ext |
| int | m_findex |
| size_t | m_total_frames {} |
| size_t | max_frames_per_file {} |
| std::string | version |
| DetectorType | m_type |
| ssize_t | m_rows {} |
| ssize_t | m_cols {} |
| ssize_t | m_bitdepth {} |
Private Member Functions | |
| void | load_metadata () |
| void | get_frame_into (size_t, std::byte *) |
| Frame | get_frame (size_t frame_number) |
Private Attributes | |
| FILE * | fp = nullptr |
| size_t | initial_header_len = 0 |
| size_t | current_frame {} |
| uint32_t | header_len {} |
| uint8_t | header_len_size {} |
| size_t | header_size {} |
| NumpyHeader | m_header |
| uint8_t | major_ver_ {} |
| uint8_t | minor_ver_ {} |
NumpyFile class to read and write numpy files.
| aare::NumpyFile::NumpyFile | ( | const std::filesystem::path & | fname, |
| const std::string & | mode = "r", |
||
| FileConfig | cfg = {} |
||
| ) |
NumpyFile constructor.
| fname | path to the numpy file |
| mode | file mode (r, w) |
| cfg | file configuration |
| aare::NumpyFile::~NumpyFile | ( | ) |
|
inlineoverridevirtual |
|
overridevirtual |
|
inlineoverridevirtual |
get the number of columns in the file
Implements aare::FileInterface.
|
inlineoverridevirtual |
get the frame number at the given frame index
| frame_index | index of the frame |
Implements aare::FileInterface.
|
private |
|
private |
|
inlineinherited |
read one frame from the file at the given frame number
| frame_number | frame number to read |
|
inlineinherited |
read n_frames from the file starting at the given frame number
| frame_number | frame number to start reading from |
| n_frames | number of frames to read |
|
inline |
|
private |
|
overridevirtual |
get the number of pixels in one frame
Implements aare::FileInterface.
|
inlineoverridevirtual |
write a vector of frames to the file
| frames | vector of frames to write |
read one frame from the file at the current position
Implements aare::FileInterface.
|
overridevirtual |
read n_frames from the file at the current position
| n_frames | number of frames to read |
Implements aare::FileInterface.
|
inlineoverridevirtual |
read one frame from the file at the current position and store it in the provided buffer
| image_buf | buffer to store the frame |
Implements aare::FileInterface.
|
overridevirtual |
read n_frames from the file at the current position and store them in the provided buffer
| image_buf | buffer to store the frames |
| n_frames | number of frames to read |
Implements aare::FileInterface.
|
inlineoverridevirtual |
get the number of rows in the file
Implements aare::FileInterface.
|
inlineoverridevirtual |
seek to the given frame number
| frame_number | frame number to seek to |
Implements aare::FileInterface.
|
inline |
get the shape of the numpy file
|
inlineoverridevirtual |
get the current position of the file pointer
Implements aare::FileInterface.
|
inlineoverridevirtual |
get the total number of frames in the file
Implements aare::FileInterface.
|
overridevirtual |
write a frame to the file
| frame | frame to write |
| std::runtime_error | if the function is not implemented |
Implements aare::FileInterface.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
private |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
private |
|
inherited |
|
private |
|
inherited |