forked from kvtsang/Supera
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathImageMetaFromConfig.cxx
45 lines (34 loc) · 1.39 KB
/
ImageMetaFromConfig.cxx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef __IMAGEMETAFROMCONFIG_CXX__
#define __IMAGEMETAFROMCONFIG_CXX__
#include "ImageMetaFromConfig.h"
namespace supera {
void ImageMetaFromConfig::configure(const supera::Config_t& cfg)
{
ImageMetaMakerBase::configure(cfg);
auto min_time = cfg.get<double>("MinTime");
auto min_wire = cfg.get<double>("MinWire");
auto image_rows = cfg.get<std::vector<size_t> >("EventImageRows");
auto image_cols = cfg.get<std::vector<size_t> >("EventImageCols");
auto const& comp_rows = RowCompressionFactor();
auto const& comp_cols = ColCompressionFactor();
if(image_rows.size() != comp_rows.size()) {
std::cerr << "EventImageRows size != EventCompRows..." << std::endl;
throw std::exception();
}
if(image_rows.size() != image_cols.size()) {
std::cerr << "EventImageRows size != EventImageCols..." << std::endl;
throw std::exception();
}
// construct meta
for(size_t plane=0; plane<image_rows.size(); ++plane) {
larcv::ImageMeta meta(min_wire, min_time,
min_wire + image_cols[plane] * comp_cols[plane], min_time + image_rows[plane] * comp_rows[plane],
image_rows[plane], image_cols[plane],
(larcv::ProjectionID_t)plane,
(larcv::DistanceUnit_t)(larcv::kUnitWireTime));
LARCV_INFO() << "Created meta " << meta.dump();
_meta_v.emplace_back(std::move(meta));
}
}
}
#endif