mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-11 04:17:15 +02:00
master file no index
This commit is contained in:
@ -1,11 +1,14 @@
|
||||
import os
|
||||
import sys
|
||||
import numpy as np
|
||||
from pathlib import Path
|
||||
sys.path.append(os.path.join(os.getcwd(), 'bin'))
|
||||
|
||||
from slsdet import Detector, Mythen3, Eiger, Jungfrau, DetectorDacs, Dac, Ctb, Gotthard2, Moench
|
||||
from slsdet import dacIndex, readoutMode
|
||||
from slsdet.lookup import view, find
|
||||
import slsdet
|
||||
|
||||
|
||||
d = Detector()
|
||||
e = Eiger()
|
||||
|
@ -799,6 +799,7 @@ class Detector(CppDetectorApi):
|
||||
ut.set_using_dict(self.setFileNamePrefix, file_name)
|
||||
|
||||
@property
|
||||
@element
|
||||
def fpath(self):
|
||||
"""Directory where output data files are written in receiver. Default is "/".
|
||||
Note
|
||||
@ -809,35 +810,37 @@ class Detector(CppDetectorApi):
|
||||
--------
|
||||
d.fpath = '/tmp/run_20201705'
|
||||
"""
|
||||
return element_if_equal(self.getFilePath())
|
||||
return ut.lpath(self.getFilePath())
|
||||
|
||||
@fpath.setter
|
||||
def fpath(self, path):
|
||||
path = ut.make_string_path(path)
|
||||
self.setFilePath(path)
|
||||
ut.set_using_dict(self.setFilePath, path)
|
||||
|
||||
@property
|
||||
@element
|
||||
def fwrite(self):
|
||||
"""Enable or disable receiver file write. Default is enabled. """
|
||||
return element_if_equal(self.getFileWrite())
|
||||
return self.getFileWrite()
|
||||
|
||||
@fwrite.setter
|
||||
def fwrite(self, value):
|
||||
self.setFileWrite(value)
|
||||
ut.set_using_dict(self.setFileWrite, value)
|
||||
|
||||
@property
|
||||
@element
|
||||
def foverwrite(self):
|
||||
"""Enable or disable receiver file overwriting. Default is enabled. """
|
||||
return element_if_equal(self.getFileOverWrite())
|
||||
return self.getFileOverWrite()
|
||||
|
||||
@foverwrite.setter
|
||||
def foverwrite(self, value):
|
||||
self.setFileOverWrite(value)
|
||||
ut.set_using_dict(self.setFileOverWrite, value)
|
||||
|
||||
@property
|
||||
def fmaster(self):
|
||||
"""Enable or disable receiver master file. Default is enabled."""
|
||||
return element_if_equal(self.getMasterFileWrite())
|
||||
return self.getMasterFileWrite()
|
||||
|
||||
@fmaster.setter
|
||||
def fmaster(self, enable):
|
||||
|
@ -10,6 +10,7 @@ import functools
|
||||
import datetime as dt
|
||||
import pathlib
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
Geometry = namedtuple('Geometry', ['x', 'y'])
|
||||
|
||||
@ -97,7 +98,7 @@ def make_timedelta(t):
|
||||
else:
|
||||
return dt.timedelta(seconds=t)
|
||||
|
||||
def make_string_path(path):
|
||||
def _make_string_path(path):
|
||||
"""
|
||||
Accepts either a pathlib.Path or a string, expands ~ to user and convert
|
||||
Path to str
|
||||
@ -109,6 +110,11 @@ def make_string_path(path):
|
||||
else:
|
||||
raise ValueError("Cannot convert argument to posix path")
|
||||
|
||||
def make_string_path(path):
|
||||
if isinstance(path, dict):
|
||||
return {key:_make_string_path(value) for key,value in path.items()}
|
||||
else:
|
||||
return _make_string_path(path)
|
||||
|
||||
def set_using_dict(func, args):
|
||||
if isinstance(args, dict) and all(isinstance(k, int) for k in args.keys()):
|
||||
@ -132,4 +138,7 @@ def set_time_using_dict(func, args):
|
||||
func(args)
|
||||
|
||||
def lhex(iterable):
|
||||
return [hex(item) for item in iterable]
|
||||
return [hex(item) for item in iterable]
|
||||
|
||||
def lpath(iterable):
|
||||
return [Path(item) for item in iterable]
|
@ -665,13 +665,10 @@ void init_det(py::module &m) {
|
||||
Detector::setFileWrite,
|
||||
py::arg(), py::arg() = Positions{})
|
||||
.def("getMasterFileWrite",
|
||||
(Result<bool>(Detector::*)(sls::Positions) const) &
|
||||
Detector::getMasterFileWrite,
|
||||
py::arg() = Positions{})
|
||||
(bool (Detector::*)() const) & Detector::getMasterFileWrite)
|
||||
.def("setMasterFileWrite",
|
||||
(void (Detector::*)(bool, sls::Positions)) &
|
||||
Detector::setMasterFileWrite,
|
||||
py::arg(), py::arg() = Positions{})
|
||||
(void (Detector::*)(bool)) & Detector::setMasterFileWrite,
|
||||
py::arg())
|
||||
.def("getFileOverWrite",
|
||||
(Result<bool>(Detector::*)(sls::Positions) const) &
|
||||
Detector::getFileOverWrite,
|
||||
@ -1377,6 +1374,10 @@ void init_det(py::module &m) {
|
||||
(void (Detector::*)(uint32_t, int, sls::Positions)) &
|
||||
Detector::clearBit,
|
||||
py::arg(), py::arg(), py::arg() = Positions{})
|
||||
.def("getBit",
|
||||
(Result<int>(Detector::*)(uint32_t, int, sls::Positions)) &
|
||||
Detector::getBit,
|
||||
py::arg(), py::arg(), py::arg() = Positions{})
|
||||
.def("executeFirmwareTest",
|
||||
(void (Detector::*)(sls::Positions)) &
|
||||
Detector::executeFirmwareTest,
|
||||
|
Reference in New Issue
Block a user