alba-synchrotron / sardana-limaccd Goto Github PK
View Code? Open in Web Editor NEWSardana plugins for generic Lima devices: LimaDS, LimaRoICounterDS, etc.
License: GNU General Public License v3.0
Sardana plugins for generic Lima devices: LimaDS, LimaRoICounterDS, etc.
License: GNU General Public License v3.0
Hi,
IMHO, it should be ON.
I find out that the empirical time sleep value used when preparing the detector saving parameters is not enough and does not guarantee the correct configuration in random circumstances.
Attributes like SavingNextNumber
would be easier to access to the user if these were axis attributes instead of controller attributes. If you agree I can make a PR.
This is a request for enhancement to be able to use lima inside sardana in a useful way.
Some features of the MG are decoupled from the sardana scan infrastructure.
For example, the ScanDir / ScanFile environment used in scans has no connection with ValueRefPattern in the 2D channel.
We want to propose and agree on a set of tools that close this gap and allow for coherent configuration.
The proposal is just an initial starting point. Every point is fully open for discussion/change/removal.
valueref == True
Before any scan is executed, validation and configuration needs to be made to both active the measurement group and the lima 2d channels enabled.
We propose:
lima_hook
) should ensure both lima channels and measurement group are properly configuredlima_reconfig
- ensures the lima system is properly configured (ie, lima_hook
is registered as a general hook plus any other config that we find necessary)set_lima_conf
- configures the specified detector with the given configuration (ex: set_lima_config xpress3_image prefix XP3_
)get_lima_conf
- shows the active lima config for the given detectordef_lima
registers the given detector (ex: def_lima xpress3_image prefix=XP3_ index=05d
)The internal lima configuration structure could look something like this:
{
"detectors": {
"xpress3_image": {
"prefix": "XP3_",
"suffix": ".h5",
"index": "05d",
"scan_sub_dir": "scan_{ScanID:04d}",
"directory": "xp3"
},
"mythen": {
"prefix": "myth_",
"suffix": ".edf",
"index": "04d",
"scan_sub_dir": "scan_{ScanID:04d}",
"directory": "mythen"
},
}
With the above example in mind, and imagining the ScanDir=/tmp; ScanID=34
, before a scan is done, the lima_hook
would ensure that:
<ScanDir>/<directory>/<scan_sub_dir>/<prefix>{index:<index>}<suffix>
. Example /tmp/xp3/scan_0035/XP3_{index:05d}h5
ValueRefEnabled=True
Open question:
Where to store the configuration?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.