Merge branch 'developer' of github.com:slsdetectorgroup/aare into developer

This commit is contained in:
Erik Fröjdh 2024-11-14 07:42:00 +01:00
commit cb94d079af
6 changed files with 21 additions and 3 deletions

View File

@ -25,6 +25,16 @@ AARE
pyVarClusterFinder pyVarClusterFinder
.. toctree::
:caption: Python API
:maxdepth: 1
pyFile
pyCtbRawFile
pyRawMasterFile
pyVarClusterFinder
.. toctree:: .. toctree::
:caption: C++ API :caption: C++ API
:maxdepth: 1 :maxdepth: 1

View File

@ -64,6 +64,7 @@ class RawFile : public FileInterface {
void read_into(std::byte *image_buf, DetectorHeader *header); void read_into(std::byte *image_buf, DetectorHeader *header);
void read_into(std::byte *image_buf, size_t n_frames, DetectorHeader *header); void read_into(std::byte *image_buf, size_t n_frames, DetectorHeader *header);
size_t frame_number(size_t frame_index) override; size_t frame_number(size_t frame_index) override;
size_t bytes_per_frame() override; size_t bytes_per_frame() override;
size_t pixels_per_frame() override; size_t pixels_per_frame() override;
@ -74,13 +75,13 @@ class RawFile : public FileInterface {
size_t rows() const override; size_t rows() const override;
size_t cols() const override; size_t cols() const override;
size_t bitdepth() const override; size_t bitdepth() const override;
xy geometry(); xy geometry();
size_t n_mod() const; size_t n_mod() const;
RawMasterFile master() const; RawMasterFile master() const;
DetectorType detector_type() const override; DetectorType detector_type() const override;
private: private:

View File

@ -70,6 +70,7 @@ struct ROI{
size_t width() const { return xmax - xmin; } size_t width() const { return xmax - xmin; }
}__attribute__((packed)); }__attribute__((packed));
/** /**
* @brief Class for parsing a master file either in our .json format or the old * @brief Class for parsing a master file either in our .json format or the old
* .raw format * .raw format

View File

@ -78,6 +78,8 @@ base = Path('/mnt/sls_det_storage/matterhorn_data/aare_test_data/ci/aare_test_da
# # cols = 1024-roi.xmin # # cols = 1024-roi.xmin
# # sf = RawSubFile(base / raw, DetectorType.Jungfrau, rows, cols, 16) # # sf = RawSubFile(base / raw, DetectorType.Jungfrau, rows, cols, 16)
from aare import RawFile
from aare import RawFile, File from aare import RawFile, File
@ -87,6 +89,7 @@ fname = base / Path('SideBySide/241019_JF_12keV_Si_FF_GaAs_FF_7p88mmFilter_Pedes
# fname = Path(base / 'jungfrau/jungfrau_single_master_0.json') # fname = Path(base / 'jungfrau/jungfrau_single_master_0.json')
# fname = base / 'Stacked/241024_JF10_m450_m367_KnifeEdge_TestBesom_9keV_750umFilter_PedestalStart_ZPos_-6_master_0.json' # fname = base / 'Stacked/241024_JF10_m450_m367_KnifeEdge_TestBesom_9keV_750umFilter_PedestalStart_ZPos_-6_master_0.json'
f = RawFile(fname) f = RawFile(fname)
h,img = f.read_frame() h,img = f.read_frame()
print(f'{h["frameNumber"]}') print(f'{h["frameNumber"]}')

View File

@ -199,6 +199,7 @@ void define_file_io_bindings(py::module &m) {
py::class_<RawSubFile>(m, "RawSubFile") py::class_<RawSubFile>(m, "RawSubFile")
.def(py::init<const std::filesystem::path &, DetectorType, size_t, .def(py::init<const std::filesystem::path &, DetectorType, size_t,
size_t, size_t>()) size_t, size_t>())

View File

@ -49,6 +49,7 @@ void RawFile::read_into(std::byte *image_buf) {
void RawFile::read_into(std::byte *image_buf, DetectorHeader *header) { void RawFile::read_into(std::byte *image_buf, DetectorHeader *header) {
return get_frame_into(m_current_frame++, image_buf, header); return get_frame_into(m_current_frame++, image_buf, header);
}; };
@ -61,6 +62,7 @@ void RawFile::read_into(std::byte *image_buf, size_t n_frames, DetectorHeader *h
if(header) if(header)
header+=n_mod(); header+=n_mod();
} }
}; };
size_t RawFile::n_mod() const { return n_subfile_parts; } size_t RawFile::n_mod() const { return n_subfile_parts; }
@ -132,7 +134,6 @@ DetectorHeader RawFile::read_header(const std::filesystem::path &fname) {
return h; return h;
} }
int RawFile::find_number_of_subfiles() { int RawFile::find_number_of_subfiles() {
int n_files = 0; int n_files = 0;
// f0,f1...fn How many files is the data split into? // f0,f1...fn How many files is the data split into?
@ -223,6 +224,7 @@ void RawFile::update_geometry_with_roi() {
} else { } else {
if ((roi.ymin > m.y) && (roi.ymin < m.y + m.height)) { if ((roi.ymin > m.y) && (roi.ymin < m.y + m.height)) {
m.height -= roi.ymin - m.y; m.height -= roi.ymin - m.y;
} }
if (roi.ymax < m.y + m.height) { if (roi.ymax < m.y + m.height) {
m.height -= m.y + original_height - roi.ymax; m.height -= m.y + original_height - roi.ymax;