Comments (11)
The way pymmcore loads devices is fundamentally the same as MMCorePy, but the fact that the Python module lives in a different location may make it necessary to take extra steps. Please see the section Loading device adapters on Windows in the README file. Setting the current directory to the Micro-Manager folder is a good idea if you haven't tried that yet.
Also, it would be useful to make sure the camera works with the latest 2.0gamma GUI. From the information you provided, it could be that the difference is due to MMCorePy vs pymmcore, but it could also be due to the different Micro-Manager versions.
from pymmcore.
Thank you for your quick reply.
I have read the linked document. I did make sure that the current directory is C:\Program Files\Micro-Manager-1.4
(both by starting Python from there and by os.chdir).
I have also been unable to make the camera work on the MM2.0 GUI (loading the MM1.4 config file or trying to create a new config using the Hardware Configuration Wizard both fail), but note that here I was trying to use pymmcore with MM1.4.
from pymmcore.
In that case, there are two problems: (1) pymmcore only works with recent versions of 2.0gamma, so pointing it to the 1.4 installation will not work correctly (sorry if this was not clear), and more importantly (2) it looks like there is a problem with the EPIX device is with MM2.0 in general, and not specific to pymmcore.
Regarding (1): the pymmcore version needs to match the MMCore version; this is explained here. But of course this will not fix your problem, because a device that doesn't work in the GUI will not work in pymmcore.
Regarding (2): would you mind creating an issue on the main Micro-Manager project https://github.com/micro-manager/micro-manager for this? It would be helpful if you could include the exact versions of 1.4 and 2.0 you tried (including date if nightly build), so that we can check what might have changed in the EPIX module.
from pymmcore.
Hi @anntzer, unlikely, but could it be that your 1.4 installation is 32 bit, and that - for whatever reason - your EPIX board needs 32 bits? In any case, since the Raptor camera does not work for you in 2.0 (which as @marktsuchida explained, you need to use Pycro-Managerpymmcore), I would contact Raptor support.
from pymmcore.
Ah, sorry, I did not realize pymmcore required MM2.0 (AFAICT this is not mentioned in the README or the PyPI page, perhaps that should be noted explicitly there?)
Both of my MM (1.4 and 2.0) installs are 64 bit and use device API 69 and module API 10 (and the pymmcore API matches), so likely I'll need to contact Raptor/EPIX to fix the problem now (I assume MM got a closed source dll from them?); if that's the case feel free to close this issue.
from pymmcore.
The RaptorEpix adapter is build from source code that is (nearly) identical between 1.4 and 2.0. Could you make a copy of the 1.4 mmgr_dal_RaptorEpix.dll and place it in your 2.0 directory and see if that works? If it does, then there is a build issue. If it does not, then I am confused. Pinging @nanthony21 so that he is aware of potential build issues with this adapter in 2.0.
from pymmcore.
Copying the mmgr_dal DLL from MM1.4 to MM2.0 doesn't help either.
from pymmcore.
What happened? Same error? In that case, are there any files that you are supposed to copy into the Micro-Manager directory? With the same device adapter binaries, there are very few reasons for things not working (the only one I can think of is missing dependencies).
from pymmcore.
Sorry for the slow reply (I ended up dusting my knowledge of Python 2 to interact with with MMCorePy). Yes, the error is the same. I didn't look more into whether more files needed to be copied -- there's many dlls in the MM1.4 directory, and it's not clear which one I would want to try copying...
from pymmcore.
@anntzer Unfortunately there's nothing mentioned in our device page for RaptorEPIX, but I'm sure Raptor support (linked from that page -- they should be familiar with Micro-Manager) can tell you if you need to copy any DLLs (if so, they would likely be installed as part of the EPIX driver, which you probably needed to install when you first set up your camera).
Closing this issue, but please don't hesitate to open a new one at the micro-manager project if Raptor support can't resolve your problems with the MM2 GUI (or here, if you get the GUI working but still have problems with pymmcore).
from pymmcore.
Thanks again for the prompt support.
from pymmcore.
Related Issues (20)
- Switch to src-layout HOT 1
- Dockerfile should use mmCoreAndDevices repo
- Use python -m build to build
- can't install on linux x86_64 py37 HOT 1
- loading NikonTi2 dll HOT 2
- accept type stubs? HOT 3
- abort crash in pymmcore.Configuration.getSetting on missing key HOT 1
- callback system crashing kernel with subclassed `MMEventCallback` HOT 7
- export `__version__` in `__init__`
- Unable to Use Pymmcore in Windows 10 64 bit, Anaconda 32 bit HOT 14
- How to control c++ std locally? HOT 1
- 'CMMCore' object has no attribute 'getXYStagePosition' HOT 1
- Failing control of MCL_MicroDrive device HOT 2
- Error loading device adapter with pymmcore but not micromanager HOT 2
- Issue with error handling in `setSLMImage` HOT 3
- getMultiROI appears broken in pymmcore swig HOT 2
- Handling assertion errors in MMCore HOT 9
- `threads="1"` breaks `mmc.setSLMImage` HOT 22
- Hard crash with `waitForConfig()` timeout HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pymmcore.