by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Thomas A Caswell
    @tacaswell
    which is more about working directly with the control layer to see the prompt monitoring / poking the hardware (the tight human-in-the-loop process Till was talking about above)
    there has been a scattering of work on putting bluesky behind a GUI (use the UI to collect user input, call the RE on pushing a button). It works, but we have not fully settled on "the" solution or a standard set of widgets etc
    https://github.com/bluesky/bluesky-ui <- that needs some love
    we also have some very very beamline specific tools that have grown
    Blaise Thompson
    @untzag
    thanks---this is helpful
    Thomas A Caswell
    @tacaswell
    I tend to think if this is nested control loops. There is a very tight loop that should be below the control system (things like PID loops etc), tight human-in the loop tweaking (due with an engineering screen interacting directly with the control layer), scientific orchestration (done via bluesky plans), CLI driven data acquisition (using RE + plans), user acquisition screens (which in turn defers to bluesky)
    yangdl-github
    @yangdl-github

    Dear all, I'm new to bluesky and trying to create a ophyd object.
    I have a very basic problem, but I don't know how to fix it.
    When I typed these command lines, lots of errors occurred.

    In [1]: from ophyd import EpicsMotor
    In [2]: motor = EpicsMotor('Newport:m1', name='motor')

    'Newport:m1' is the motor's PV name in EPICS ioc and the IOC works well.
    Can you give me any advice?

    Thomas A Caswell
    @tacaswell
    The issues is that we did not find either pyepics or caproto installed and have fallen back to a "dummy" backend which has enough of the API to let ophyd import and built purely synthetic Signals, but can not actually talk to EPICS
    what do you get if you do import epics?
    yangdl-github
    @yangdl-github
    Very helpful. Thanks, Tom.
    After I installed pyepics by using python -m pip install --upgrade pyepics, this issue was resolved.
    In fact, I had already installed pyepics under the epics directory. But why did it go wrong? Is it because I didn't add the directory into PATH?
    Thomas A Caswell
    @tacaswell
    I am not sure what you mean by " had already installed pyepics under the epics directory", but package installation is one of the surprisingly tricky things about this operation. This is compounded by pyepics upstream making some choices about their packaging that in my view complicate getting it correct
    Tyler Pennebaker
    @ZryletTC

    Hi! I'm running through the bluesky tutorial and installing the packages in a conda environment, I ran into an error when opening ipython with the --matplotlib=qt5 flag:

    Original error was: dlopen(/Users/pennebak/miniconda3/envs/bluesky/lib/python3.7/site-packages/numpy/core/_multiarray_umath.cpython-37m-darwin.so, 2): Library not loaded: @rpath/libgfortran.4.dylib
      Referenced from: /Users/pennebak/miniconda3/envs/bluesky/lib/libcblas.3.dylib
      Reason: image not found

    Have any of you seen this before?

    Thomas A Caswell
    @tacaswell
    that is a sign that your conda enviroment is not correct. What do you get for conda list and pip list ?
    Tyler Pennebaker
    @ZryletTC
    Thomas A Caswell
    @tacaswell
    Rescuing environments that are not consistent is frequently not worth doing (better to delete it and start over!)
    Tyler Pennebaker
    @ZryletTC
    Yeah this is from a fresh create
    Thomas A Caswell
    @tacaswell
    it looks like you conda installed everything instead of using pip?
    Tyler Pennebaker
    @ZryletTC
    yeah. was i not meant to?
    Thomas A Caswell
    @tacaswell
    the install instructions we have tested use conda to get a base python, and pip for everything else
    but installing from conda should work\
    numpy/numpy#12970 <- I think that issue is related?
    Tyler Pennebaker
    @ZryletTC
    Yeah, it looks like it. I'll try some of the recommendations
    Tyler Pennebaker
    @ZryletTC
    Hmm, what finally worked was reinstalling from conda-forge instead of nsls2forge
    Thomas A Caswell
    @tacaswell
    if you compare conda list from the working an non working envs are there any obvious issues?
    My knee-jerk guess is we have something on nsls2forge that pins to the broken version of numpy
    Tyler Pennebaker
    @ZryletTC
    Yeah, that was my guess. Checking now
    No it looks the numpy is consistent between the two.
    Thomas A Caswell
    @tacaswell
    how about libblas?
    Tyler Pennebaker
    @ZryletTC
    Same version, different build numbers
    Thomas A Caswell
    @tacaswell
    that i likely the culprit
    Tyler Pennebaker
    @ZryletTC
    libblas 3.8.0 16_openblas conda-forge
    vs
    libblas 3.8.0 14_openblas conda-forge
    Thomas A Caswell
    @tacaswell
    which one is the working one?
    Tyler Pennebaker
    @ZryletTC
    oh sorry, 16 is the working one
    could this also have been the problem? or does the libblas cause this:
    working: libgfortran 4.0.0 2 conda-forge
    vs
    failing: libgfortran 4.0.0 0 nsls2forge
    Thomas A Caswell
    @tacaswell
    yikes, that is something we should fix
    yangdl-github
    @yangdl-github
    Dear all,
    I ues bluesky to count PILATUS detector.
    Now, I want to display the image after counting.
    But I don't know how to do it.
    Thanks for any advice!
    Pete R Jemian
    @prjemian
    I'm working up a tutorial on EPICS area detector (using ADSimDetector). It's a Jupyter notebook, still in a draft form, but has some words in between the lines of bluesky/ophyd code. Perhaps this may be useful to you? Feedback is welcome. https://github.com/BCDA-APS/use_bluesky/blob/master/lessons/lesson6.ipynb
    yangdl-github
    @yangdl-github
    Thanks, Pete. @prjemian I will try.
    Robert Tang-Kong
    @tangkong
    Perhaps a solved problem, but what is the best way to plot the derivative of the collected data, preferably directly overlaid on the collected data shown by the besteffort callback?
    Thomas A Caswell
    @tacaswell
    BEC is a monolith that we don't suggest looking inside of, but @danielballan is working on a better replacement
    yangdl-github
    @yangdl-github
    I have shown image from EPICS PV data. @prjemian Pete's lesson6 is very helpful.
    Thanks all of you.
    Jeremy Stashluk
    @stashlukj
    The loop for the asyncio.DatagramProtocol that runs my device seems to stop when I call the RE. Is there a good way to make sure they both run?
    Thomas A Caswell
    @tacaswell
    What version of bluesky are you using?
    Jeremy Stashluk
    @stashlukj
    1.6.2
    Thomas A Caswell
    @tacaswell
    hmm, ok so it isn't the easy fix (in 1.6 we pushed the event loop to a background thread)
    are you call the RE from inside another event loop?
    Jeremy Stashluk
    @stashlukj
    I use one event loop to create the datagram endpoints. I use run_until_complete() to create the endpoints. The protocol instantiates the devices during this time. Once the devices are created, I pass the loop to the RunEngine, but the datagram_received() for my protocol never fires.
    Thomas A Caswell
    @tacaswell
    ok, so the issue is that despite being built on top of the event loop, the public interface on the RE is tuned to be used from a command line
    so when you do RE(...) we do a lot of work to make sure that it blocks until interrupted or it finishes (which is not helpful to you here because it is now blocking the task it was triggered in and I suspect you have deadlocks...)