A minimal reproducible example using MMCore to handle microscope I/O,
OpenCV for image processing and
Imgui for bloat-free GUI with minimal dependencies.
I still havent completely made the compilation of MMCore entirely into CMake so just download the orignal micromanager source code and compile it through their automake
instructions.
Step 1-3 follows the compilation advice for MicroManager Java which compiles MMDevice and makes makefile for MMCore.
After compiling take the entire folder mmCoreAndDevices
and place in this directory. See:
https://github.com/micro-manager/micro-manager/blob/efb524723a90ed1a329b4423c698edfde59d0629/doc/how-to-build.md
-
Install MicroManager from binary as usual and check that it works with your microscope. Then Clone the MicroManager repo:
git clone https://github.com/micro-manager/micro-manager.git
-
First check that you have the following dependencies for compiling micromanager:
which autoconf which automake which glibtool which pkg-config brew info boost brew info opencv4
If not install with homebrew. Boost is necessary for micromanager, opencv is not but this C++ repo uses OpenCV to process the image.
-
Generate configure file:
./autogen.sh
-
Run configure
./configure
-
Compile
make
-
Move to
mmCoreAndDevices/MMCore
and make sure it is compiledcd ./mmCoreAndDevices/MMCore make cd ../..
-
Clone this repo and copy the
mmCoreAndDevices
directory and replace it:git clone https://github.com/tractatus/MMCore_OpenCV_Imgui.git cp -r ./mmCoreAndDevices ./MMCore_OpenCV_Imgui/
-
Compile:
cd MMCore_OpenCV_Imgui cmake . make
-
Run:
./micromanager