timetag / eta Goto Github PK
View Code? Open in Web Editor NEWETA is a graphical event-driven programming language for time-tag processing.
Home Page: https://timetag.github.io/
License: GNU General Public License v2.0
ETA is a graphical event-driven programming language for time-tag processing.
Home Page: https://timetag.github.io/
License: GNU General Public License v2.0
This is probably a more difficult project.
There could be a time tag stream with two channels that indicates the time differences between which photon events are added to the histogram.
We considered adding this as the graphical way of programming, but it was not unambiguous. I think the other way could work though. I think maybe not for crazy complicated experiments, but for the simple ones...
Now the question is how to discriminate which ones to visualize.
This could also open a dialogue (popup) with "Don't show me this again" option that guides through the workflow:
Create Hardware Instrument -> create Analysis Instrument -> create Code Panel -> optionally add variables
The current behavior of the aggregation for multi-threading mode would sum all the histograms up
Maybe we can add a do-not-sum mode so that users can decide how to glue the data together
If browsing for a file on a parameter and pressing cancel, the current value is replaced by EMPTY. A nicer behaviour would be to retain the old value instead.
Nowadays python has the pathlib library in the standard lib. (https://jefftriplett.com/2017/pathlib-is-wonderful/) I think it would be convenient to use it when working with the paths in the code files.
Now that "Display Panel" does not only display results, we should change it to a more general name
Maybe we can change it to something like "Front Panel", which has controls that allows users to interact with the virtual instruments.
with CTRL + scroll or CTRL+ +/-
instead of suffix (ending) matching, we use format="swa" or format="qt" to distinguish swabian instrument files and qutools files.
If browse window is clicked for the second time after program start (scenario: measure a series of something - analysis stays the same but file chnages) the open file dialogue is opened behind the frontend.
It would be nice if the necessary packages to use my "private" site-packages folder are listed in the documentation.
plotly is not working because it is trying to plot a 2d hist (has been updated on github, but seemingly has not made it into the new version yet.
bokeh is anyways broken and should be replaced by matplotlib
in the instrument designer the X lifetime uses find_start(SYNC) instead of the new start(SYNCS) or start(LAST_SYNC) or infer_start_from_stop().
Withing the Instrument Designer SHIFT+T still adds a trigger to the code on the right even if the focus is not on the state diagram side. That makes it hard to write commands containing capital T, like e.g. LAST_SYNC() and HISTOGRAM()
I migrated the correlation recipe to pathlib, perhaps one with a test file could check if it works. Rename the txt file to eta.
there could be a "?" icon in the corner that also shows the "Transitions" and "Actions" from the "Create" menu (we can remove it from there, then)
It would be better if the installer could make a pop-up with a page for downloading site-packages
this tooltip could state:
arrow: move if event on channel x
blob: a state of called x (a state with no name)
Seems like people would like this and it could also make adding icons easier in the future
ETA could be used with LabVIEW or other languages for easier data visualization.
i think they would like this like in matlab / spyder. But it could of course also look pretty :)
could record distinguish by itself whether a multi-clock is used to automatically function as record_all?
The time tagging file of Swabian Instruments does not work. The Software crashes.
I attached a file that was created using .dump() of the Swabian Instruments guys, with a signal on channel 1 and channel 2 and with the clock on Channel 7. The clock is divided by factor 8, just for you to know.
another improvement for realtime would be if the button in the diagram could switch between accumulation and alignment mode instead of clearing the graph.
start the clock at the last SYNC signal, convenitent for T3 mode.
We could try packaging ETA with briefcase instead of pyinstaller to get rid of the "path to ETA lib" bug.
Realtime recipe stops working since Python3.7
from tkinter.simpledialog import SimpleDialog
ModuleNotFoundError: No module named 'tkinter.simpledialog'
I said we never used it and the multiple recipe scheme kind of makes is superfluous.
Thay say unnesessary features should be dropped before a small percentage of the user base starts to like it and gets angy when they are finally dropped because of incompatibility.
(SHIFT+M) labels should move further down. Maybe this can be relative to the circle size, so that a future change in circle size will not show this problem
It seems that quTAU?(quTAG) has a new format.
It would be nice to have a generic file format. E.g. hdf5 with a defined structure that you support aswell. This would allow to read data that was collected differently.
The resoning is that users that use the create menu are not super familliar with the program, so it should provide some more info.
E.g.:
when a histogram with name h1 and dimension (10000,16) is created it should show up as
HISTOGRAM(h1,(10000,16)) #HISTOGRAM(name, (number of bins, bin size))
this could also be done as a tooltip, but i assume that that would be way more difficult
a great improvement for the realtime recipe would be automatic estimation of records_per_cut, then we can also remove it as a variable
the file variable would then obviously be a special variable since no one wants to browse for the binsize, but a file is needed for every analysis anyways. Maybe it could already be there in an empty recipe.
For batch mode we can just split the folder off of the file, then the user has to select a random file in the folder that he/she wants the batch mode to be run on.
It seems the files to generate the files in the ll directory are not tracked or can not be found in the repository.
Wanted to check something on parsing the file headers, did not find the necessary information.
like when an initial state is not defined there should be a warning. So far it is only showing an error on compile time. I think a full compilation is not necessary, just a check, that each arrow is labled and that an initial arrow exists.
It seems simple_cut does not like a path from pathlib. I run the following command.
cut=eta.simple_cut(Path(file), 4)
and get the following error.
ERROR:__main__:encoding or errors without a string argument
Traceback (most recent call last):
File "eta_runtime.py", line 141, in process_eta
File "<string>", line 11, in <module>
File "eta_runtime.py", line 227, in simple_cut
TypeError: encoding or errors without a string argument
Lucas said:
did plotly always open in my main browser? Could it open in an ETA popup? I feel that would improve compatibility (the view result button is at the moment not doing anything on our win7 computer that has the correlators attached)
we can set a timer for trying to re-connecting also
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.