Skip to content

Commit 09c9cb9

Browse files
authored
Merge pull request #41 from plalor/python-detector-analysis-wrapper
Added DetectorAnalysisResults wrapper to SpecFile_py.cpp
2 parents c3e26f4 + 4e3fe5f commit 09c9cb9

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

bindings/python/SpecFile_py.cpp

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -665,6 +665,17 @@ bool loadFromUri_wrapper(SpecUtils::SpecFile* info, py::object pystream) {
665665
l.append( p );
666666
return l;
667667
}
668+
669+
py::list detector_analysis_results_wrapper(const SpecUtils::SpecFile *info) {
670+
py::list results;
671+
auto analysis = info->detectors_analysis();
672+
if (analysis) {
673+
for (const auto &result : analysis->results_) {
674+
results.append(result);
675+
}
676+
}
677+
return results;
678+
}
668679

669680
py::list measurement_remarks_wrapper( const SpecUtils::Measurement *info )
670681
{
@@ -1643,6 +1654,19 @@ m.def("polynomialCoefToFullRangeFraction",
16431654
;
16441655
}//end Measurement class scope
16451656

1657+
{//begin DetectorAnalysisResult class scope
1658+
py::class_<SpecUtils::DetectorAnalysisResult>(m, "DetectorAnalysisResult")
1659+
.def(py::init<>(), "Creates a default DetectorAnalysisResult")
1660+
.def("remark", [](const SpecUtils::DetectorAnalysisResult &res) { return res.remark_; })
1661+
.def("nuclide", [](const SpecUtils::DetectorAnalysisResult &res) { return res.nuclide_; })
1662+
.def("activity", [](const SpecUtils::DetectorAnalysisResult &res) { return res.activity_; })
1663+
.def("nuclideType", [](const SpecUtils::DetectorAnalysisResult &res) { return res.nuclide_type_; })
1664+
.def("idConfidence", [](const SpecUtils::DetectorAnalysisResult &res) { return res.id_confidence_; })
1665+
.def("distance", [](const SpecUtils::DetectorAnalysisResult &res) { return res.distance_; })
1666+
.def("doseRate", [](const SpecUtils::DetectorAnalysisResult &res) { return res.dose_rate_; })
1667+
.def("realTime", [](const SpecUtils::DetectorAnalysisResult &res) { return res.real_time_; })
1668+
.def("detector", [](const SpecUtils::DetectorAnalysisResult &res) { return res.detector_; });
1669+
}//end DetectorAnalysisResult class scope
16461670

16471671
/*
16481672
//Register smart pointers we will use with python.
@@ -1743,6 +1767,8 @@ m.def("polynomialCoefToFullRangeFraction",
17431767
py::rv_policy::reference )
17441768
.def( "measurements", &get_measurements_wrapper,
17451769
"Returns a list of all Measurement's that were parsed." )
1770+
.def( "detectorAnalysisResults", &detector_analysis_results_wrapper,
1771+
"Returns a list of DetectorAnalysisResult objects.")
17461772
.def( "gammaLiveTime", &SpecUtils::SpecFile::gamma_live_time,
17471773
"Returns the sum of detector live times of the all the parsed Measurements." )
17481774
.def( "gammaRealTime", &SpecUtils::SpecFile::gamma_real_time,

0 commit comments

Comments
 (0)