Difference between revisions of "Micromanager"
(22 intermediate revisions by 2 users not shown) | |||
Line 7: | Line 7: | ||
Java needs the following directory, if it doesn't already exist. | Java needs the following directory, if it doesn't already exist. | ||
− | /etc/.java/.systemPrefs/ | + | sudo mkdir -p /etc/.java/.systemPrefs/org |
+ | sudo touch /etc/.java/.systemPrefs/.system.lock | ||
+ | sudo touch /etc/.java/.systemPrefs/.systemRootModFile | ||
+ | sudo touch /etc/.java/.systemPrefs/org/prefs.tmp | ||
+ | sudo chmod a+rw /etc/.java/.systemPrefs/org/prefs.tmp | ||
+ | |||
+ | |||
+ | sudo chmod 544 /etc/.java/.systemPrefs/.system.lock | ||
+ | sudo chmod 544 /etc/.java/.systemPrefs/.systemRootModFile | ||
+ | |||
Micro-Manager doesn't work well with Icedtea Java. | Micro-Manager doesn't work well with Icedtea Java. | ||
Line 13: | Line 22: | ||
Download and install Sun's version. | Download and install Sun's version. | ||
− | + | ==== Source code ==== | |
µManager is officially 1.4.*, but they keep the repository in micromanager2/ | µManager is officially 1.4.*, but they keep the repository in micromanager2/ | ||
− | + | ||
cd /storage/big1/kdb/projects/micromanager/micromanager1.4/ | cd /storage/big1/kdb/projects/micromanager/micromanager1.4/ | ||
− | svn co https:// | + | svn co https://valelab4.ucsf.edu/svn/micromanager2/trunk/ |
− | + | ||
cd /storage/big1/kdb/projects/micromanager/micromanager1.4/ | cd /storage/big1/kdb/projects/micromanager/micromanager1.4/ | ||
− | svn co https:// | + | svn co https://valelab4.ucsf.edu/svn/3rdpartypublic/ |
+ | |||
+ | ===== Micromanager 1.4 ===== | ||
+ | svn | ||
+ | cd /storage/big1/kdb/projects/micromanager/micromanager2 | ||
+ | svn --username guest --password guest co https://valelab4.ucsf.edu/svn/micromanager2/trunk | ||
+ | ===== Micromanager 2.0 ===== | ||
GitHub | GitHub | ||
− | git clone https://github.com/micro-manager/micro-manager | + | cd /home/kdb/projects |
+ | https://valelab4.ucsf.edu/svn/3rdpartypublic/ | ||
+ | git clone -b mm2 https://github.com/micro-manager/micro-manager <directory> | ||
+ | |||
+ | Update | ||
+ | |||
+ | git pull origin mm2 | ||
===== 3rd Party Installs ===== | ===== 3rd Party Installs ===== | ||
− | yum install zlib-static swig libtool libdc1394-devel gcc gcc-c++ libgphoto2.x86_64 libgphoto2-devel.x86_64 freeimage-devel.x86_64 | + | yum install zlib-static swig libtool libdc1394-devel gcc gcc-c++ libgphoto2.x86_64 libgphoto2-devel.x86_64 freeimage-devel.x86_64 boost-devel.x86_64 ant.x86_64 python-devel.x86_64 |
===== bsh ===== | ===== bsh ===== | ||
Line 39: | Line 60: | ||
need libdc1394-devel installed if you want to use firewire devices | need libdc1394-devel installed if you want to use firewire devices | ||
+ | |||
+ | ===== itc18 ===== | ||
+ | |||
+ | copy the ITC18.h to /usr/local/include/ | ||
+ | copy libitc18.0.1.so to /usr/local/lib | ||
+ | |||
+ | |||
+ | Make a softlink | ||
+ | ln -s /usr/local/lib/libitc18.0.1.so /usr/local/lib/libitc18.so | ||
+ | |||
+ | Make sure /usr/local/lib is in your library path. | ||
+ | |||
+ | if not, add "/etc/ld.so.conf.d/itc18.conf" to /etc/ld.so.conf.d/ with "/usr/local/lib/" as the contents | ||
===== Compiling code ===== | ===== Compiling code ===== | ||
Line 44: | Line 78: | ||
./configure JNI_CPPFLAGS="-I/usr/java/latest/include -I/usr/java/latest/include/linux" --libdir=/usr/local/lib | ./configure JNI_CPPFLAGS="-I/usr/java/latest/include -I/usr/java/latest/include/linux" --libdir=/usr/local/lib | ||
− | ====== VESM ====== | + | ====== VESM and Oxygen ====== |
./autogen.sh | ./autogen.sh | ||
− | ./configure --with-java="/usr/java | + | ./configure --with-java="/usr/lib/jvm/java" |
make fetchdeps | make fetchdeps | ||
make | make | ||
Line 59: | Line 93: | ||
As **root**:\\ | As **root**:\\ | ||
I had to mkdir /usr/lib64/micro-manager before running | I had to mkdir /usr/lib64/micro-manager before running | ||
− | make install | + | sudo make install |
+ | Fix ownerships after root install | ||
+ | sudo chown -R kdb:users . | ||
Each user must be part of the <del>UUCP</del> dialout group in order to use the serial ports, perhaps make a udev rule later. | Each user must be part of the <del>UUCP</del> dialout group in order to use the serial ports, perhaps make a udev rule later. | ||
Line 81: | Line 117: | ||
SYSFS{idVendor}=="136e", MODE="0666" | SYSFS{idVendor}=="136e", MODE="0666" | ||
SUBSYSTEM=="video4linux", KERNEL=="video[0-3]*", ATTR{name}=="bitflow", GROUP="users" | SUBSYSTEM=="video4linux", KERNEL=="video[0-3]*", ATTR{name}=="bitflow", GROUP="users" | ||
+ | |||
+ | # Spectra X-Cite | ||
+ | ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE="0666" | ||
# "Velleman K8055-0" | # "Velleman K8055-0" |
Latest revision as of 14:44, 23 April 2018
This is for installing Micromanager on a Fedora Linux system
Java Issues
Java needs the following directory, if it doesn't already exist.
sudo mkdir -p /etc/.java/.systemPrefs/org sudo touch /etc/.java/.systemPrefs/.system.lock sudo touch /etc/.java/.systemPrefs/.systemRootModFile sudo touch /etc/.java/.systemPrefs/org/prefs.tmp sudo chmod a+rw /etc/.java/.systemPrefs/org/prefs.tmp sudo chmod 544 /etc/.java/.systemPrefs/.system.lock sudo chmod 544 /etc/.java/.systemPrefs/.systemRootModFile
Micro-Manager doesn't work well with Icedtea Java.
Download and install Sun's version.
Source code
µManager is officially 1.4.*, but they keep the repository in micromanager2/ cd /storage/big1/kdb/projects/micromanager/micromanager1.4/ svn co https://valelab4.ucsf.edu/svn/micromanager2/trunk/ cd /storage/big1/kdb/projects/micromanager/micromanager1.4/ svn co https://valelab4.ucsf.edu/svn/3rdpartypublic/
Micromanager 1.4
svn
cd /storage/big1/kdb/projects/micromanager/micromanager2 svn --username guest --password guest co https://valelab4.ucsf.edu/svn/micromanager2/trunk
Micromanager 2.0
GitHub
cd /home/kdb/projects https://valelab4.ucsf.edu/svn/3rdpartypublic/ git clone -b mm2 https://github.com/micro-manager/micro-manager <directory>
Update
git pull origin mm2
3rd Party Installs
yum install zlib-static swig libtool libdc1394-devel gcc gcc-c++ libgphoto2.x86_64 libgphoto2-devel.x86_64 freeimage-devel.x86_64 boost-devel.x86_64 ant.x86_64 python-devel.x86_64
bsh
copy bsh-2.0b4.jar to /usr/share/java
ln -sf /usr/share/java/bsh-2.0b4.jar /usr/share/java/bsh.jar
dc1394
need libdc1394-devel installed if you want to use firewire devices
itc18
copy the ITC18.h to /usr/local/include/ copy libitc18.0.1.so to /usr/local/lib
Make a softlink
ln -s /usr/local/lib/libitc18.0.1.so /usr/local/lib/libitc18.so
Make sure /usr/local/lib is in your library path.
if not, add "/etc/ld.so.conf.d/itc18.conf" to /etc/ld.so.conf.d/ with "/usr/local/lib/" as the contents
Compiling code
./autogen.sh ./configure JNI_CPPFLAGS="-I/usr/java/latest/include -I/usr/java/latest/include/linux" --libdir=/usr/local/lib
VESM and Oxygen
./autogen.sh ./configure --with-java="/usr/lib/jvm/java" make fetchdeps make
See http://sourceforge.net/p/micro-manager/mailman/message/34561785/
Installation
chmod a+rw config.log
As **root**:\\ I had to mkdir /usr/lib64/micro-manager before running
sudo make install
Fix ownerships after root install
sudo chown -R kdb:users .
Each user must be part of the UUCP dialout group in order to use the serial ports, perhaps make a udev rule later.
To the file macros/StartupMacros.txt in your ImageJ directory, add the following:
macro "AutoRun" { run("Micro-Manager Studio"); }
udev rules
vi /etc/udev/rules.d/micromanager.rules
# ITC18 ATTRS{idVendor}=="1482", ATTRS{idProduct}=="0011", MODE="0666" # Andor USB and Bitflow cameras SYSFS{idVendor}=="136e", MODE="0666" SUBSYSTEM=="video4linux", KERNEL=="video[0-3]*", ATTR{name}=="bitflow", GROUP="users" # Spectra X-Cite ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE="0666" # "Velleman K8055-0" ATTRS{idVendor}=="10cf", ATTRS{idProduct}=="5500", MODE="0666" #Velleman K8055-1 ATTRS{idVendor}=="10cf", ATTRS{idProduct}=="5501", MODE="0666" #Velleman K8055-2 ATTRS{idVendor}=="10cf", ATTRS{idProduct}=="5502", MODE="0666" #Velleman K8055-3 ATTRS{idVendor}=="10cf", ATTRS{idProduct}=="5503", MODE="0666" #Velleman K8061-0 ATTRS{idVendor}=="10cf", ATTRS{idProduct}=="8061", MODE="0666" #Ludl Mac 5000 ATTRS{idVendor}=="6969", ATTRS{idProduct}=="1235", MODE="0666" #ASI MS-2000 ATTRS{idVendor}=="0b54", ATTRS{idProduct}=="2000", MODE="0666" #Spectral LMM5 ATTRS{idVendor}=="1bdb", ATTRS{idProduct}=="0300", MODE="0666" #Nikon AZ100m ATTRS{idVendor}=="04b0", ATTRS{idProduct}=="7804", MODE="0666" #Zeiss AxioObserver Z1 ATTRS{idVendor}=="0758", ATTRS{idProduct}=="1004", MODE="0666"
Running
/usr/java/latest/bin/java -Xmx512m -Djava.library.path=/usr/lib64/micro-manager/ -cp ij.jar ij.ImageJ
my script:
#!/bin/bash export IMAGEJDIR=/usr/local/ImageJ export MMDIR=/usr/lib64/micro-manager #export LD_DEBUG=files cd $IMAGEJDIR /usr/java/latest/bin/java -Xmx10000m -Djava.library.path=$MMDIR -cp $IMAGEJDIR/ij.jar ij.ImageJ
RPM Build
cd /storage/big1/kdb/projects/micromanager/micromanager2/trunk; svn update tar --exclude-vcs -cvzf /storage/big1/kdb/public_html/micro-manager/micro-manager-`cat version.txt`.tar.gz ./
cd /storage/big1/kdb/projects/micromanager/ tar --exclude-vcs -cvzf /storage/big1/kdb/public_html/micro-manager/3rdpartypublic.tar.gz 3rdpartypublic/classext/
./configure JAVAC="/usr/java/latest/bin/javac" JAVA_HOME="/usr/java/latest" JNI_CPPFLAGS="-I/usr/java/latest/include -\I/usr/java/latest/include/linux" --prefix=/usr/ --with-ij-jar=/usr/share/java/imagej.jar