diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..0b0eeb8481141c58e3995ea21879857cf0341bf7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +ImageJ/ +ADViewers-*/ +ij153-linux64-java8.zip +ADViewers-R1-6-1.tar.gz +ADViewers-R1-6-1/ diff --git a/AreaDetector_Scripts/start_imageJ b/AreaDetector_Scripts/start_imageJ new file mode 100755 index 0000000000000000000000000000000000000000..ff60fa89c1dfa919f4e2e91dc1f7e6cb1bf4a75a --- /dev/null +++ b/AreaDetector_Scripts/start_imageJ @@ -0,0 +1,5 @@ +#!/bin/bash +cd /local/DPbin/ImageJ/ +sed -e 's/dp_andor3_xrd34/'$1'/' /local/DPbin/ImageJ/ImageJ_Profiles/DP_Generic.properties > ~/EPICS_AD_Viewer.properties +export EPICS_CA_MAX_ARRAY_BYTES=30000000 +./jre/bin/java -Xmx1024m -jar ij.jar -run "EPICS AD Viewer" & diff --git a/AreaDetector_Scripts/start_imageJ_GC1380H b/AreaDetector_Scripts/start_imageJ_GC1380H new file mode 100755 index 0000000000000000000000000000000000000000..58e2bf8dd6443127fe9aaed7a09129a12628a877 --- /dev/null +++ b/AreaDetector_Scripts/start_imageJ_GC1380H @@ -0,0 +1,5 @@ +#!/bin/bash +cd /local/DPbin/ImageJ/ +cp /local/DPbin/ImageJ/ImageJ_Profiles/DP_GC1380H.properties ~/EPICS_AD_Viewer.properties +export EPICS_CA_MAX_ARRAY_BYTES=30000000 +./jre/bin/java -Xmx512m -jar ij.jar -run "EPICS AD Viewer" & diff --git a/AreaDetector_Scripts/start_imageJ_GC1380H~ b/AreaDetector_Scripts/start_imageJ_GC1380H~ new file mode 100755 index 0000000000000000000000000000000000000000..217ca83492b48c668e2d896ee80dfc767ce0fbd8 --- /dev/null +++ b/AreaDetector_Scripts/start_imageJ_GC1380H~ @@ -0,0 +1,3 @@ +cd /local/DPbin/ImageJ/ +cp /local/DPbin/ImageJ/ImageJ_Profiles/DP_GC1380H.properties ~/EPICS_AD_Viewer.properties +./jre/bin/java -Xmx512m -jar ij.jar -run "EPICS AD Viewer" & diff --git a/AreaDetector_Scripts/start_imageJ_GC2450 b/AreaDetector_Scripts/start_imageJ_GC2450 new file mode 100755 index 0000000000000000000000000000000000000000..e22eaaad17e96caf5f717b60eeb4174a17659ef5 --- /dev/null +++ b/AreaDetector_Scripts/start_imageJ_GC2450 @@ -0,0 +1,5 @@ +#!/bin/bash +cd /local/DPbin/ImageJ/ +cp /local/DPbin/ImageJ/ImageJ_Profiles/DP_GC2450.properties ~/EPICS_AD_Viewer.properties +export EPICS_CA_MAX_ARRAY_BYTES=30000000 +./jre/bin/java -Xmx512m -jar ij.jar -run "EPICS AD Viewer" & diff --git a/AreaDetector_Scripts/start_imageJ_GC2450~ b/AreaDetector_Scripts/start_imageJ_GC2450~ new file mode 100755 index 0000000000000000000000000000000000000000..58e2bf8dd6443127fe9aaed7a09129a12628a877 --- /dev/null +++ b/AreaDetector_Scripts/start_imageJ_GC2450~ @@ -0,0 +1,5 @@ +#!/bin/bash +cd /local/DPbin/ImageJ/ +cp /local/DPbin/ImageJ/ImageJ_Profiles/DP_GC1380H.properties ~/EPICS_AD_Viewer.properties +export EPICS_CA_MAX_ARRAY_BYTES=30000000 +./jre/bin/java -Xmx512m -jar ij.jar -run "EPICS AD Viewer" & diff --git a/AreaDetector_Scripts/start_imageJ_XrayEye b/AreaDetector_Scripts/start_imageJ_XrayEye new file mode 100755 index 0000000000000000000000000000000000000000..ceb8adfc1387e3207a1dd588dbbb50a10999719e --- /dev/null +++ b/AreaDetector_Scripts/start_imageJ_XrayEye @@ -0,0 +1,5 @@ +#!/bin/bash +cd /local/DPbin/ImageJ/ +cp /local/DPbin/ImageJ/ImageJ_Profiles/DP_XrayEye.properties ~/EPICS_AD_Viewer.properties +export EPICS_CA_MAX_ARRAY_BYTES=30000000 +./jre/bin/java -Xmx512m -jar ij.jar -run "EPICS AD Viewer" & diff --git a/AreaDetector_Scripts/start_imageJ_XrayEye~ b/AreaDetector_Scripts/start_imageJ_XrayEye~ new file mode 100755 index 0000000000000000000000000000000000000000..58e2bf8dd6443127fe9aaed7a09129a12628a877 --- /dev/null +++ b/AreaDetector_Scripts/start_imageJ_XrayEye~ @@ -0,0 +1,5 @@ +#!/bin/bash +cd /local/DPbin/ImageJ/ +cp /local/DPbin/ImageJ/ImageJ_Profiles/DP_GC1380H.properties ~/EPICS_AD_Viewer.properties +export EPICS_CA_MAX_ARRAY_BYTES=30000000 +./jre/bin/java -Xmx512m -jar ij.jar -run "EPICS AD Viewer" & diff --git a/AreaDetector_Scripts/start_imageJ_andor b/AreaDetector_Scripts/start_imageJ_andor new file mode 100755 index 0000000000000000000000000000000000000000..5d49617eb450cb58736da3174b5c93894b88d211 --- /dev/null +++ b/AreaDetector_Scripts/start_imageJ_andor @@ -0,0 +1,5 @@ +#!/bin/bash +cd /local/DPbin/ImageJ/ +sed -e 's/xrd34/'$1'/' /local/DPbin/ImageJ/ImageJ_Profiles/DP_Generic.properties > ~/EPICS_AD_Viewer.properties +export EPICS_CA_MAX_ARRAY_BYTES=30000000 +./jre/bin/java -Xmx1024m -jar ij.jar -run "EPICS AD Viewer" & diff --git a/AreaDetector_Scripts/start_imageJ_andor~ b/AreaDetector_Scripts/start_imageJ_andor~ new file mode 100644 index 0000000000000000000000000000000000000000..ff60fa89c1dfa919f4e2e91dc1f7e6cb1bf4a75a --- /dev/null +++ b/AreaDetector_Scripts/start_imageJ_andor~ @@ -0,0 +1,5 @@ +#!/bin/bash +cd /local/DPbin/ImageJ/ +sed -e 's/dp_andor3_xrd34/'$1'/' /local/DPbin/ImageJ/ImageJ_Profiles/DP_Generic.properties > ~/EPICS_AD_Viewer.properties +export EPICS_CA_MAX_ARRAY_BYTES=30000000 +./jre/bin/java -Xmx1024m -jar ij.jar -run "EPICS AD Viewer" & diff --git a/AreaDetector_Scripts/start_imageJ_coolsnap b/AreaDetector_Scripts/start_imageJ_coolsnap new file mode 100755 index 0000000000000000000000000000000000000000..20b3f676db9027dfdeffca11a420d7f05bbcdf3b --- /dev/null +++ b/AreaDetector_Scripts/start_imageJ_coolsnap @@ -0,0 +1,5 @@ +#!/bin/bash +cd /local/DPbin/ImageJ/ +sed -e 's/xrd24/'$1'/' /local/DPbin/ImageJ/ImageJ_Profiles/DP_CoolSnap.properties > ~/EPICS_AD_Viewer.properties +export EPICS_CA_MAX_ARRAY_BYTES=30000000 +./jre/bin/java -Xmx512m -jar ij.jar -run "EPICS AD Viewer" & diff --git a/AreaDetector_Scripts/start_imageJ_mar165a b/AreaDetector_Scripts/start_imageJ_mar165a new file mode 100755 index 0000000000000000000000000000000000000000..7747b54609d6fda21e067b7a9ca2f8b24fbefec8 --- /dev/null +++ b/AreaDetector_Scripts/start_imageJ_mar165a @@ -0,0 +1,5 @@ +#!/bin/bash +cd /local/DPbin/ImageJ/ +cp /local/DPbin/ImageJ/ImageJ_Profiles/dp_mar165_a.properties ~/EPICS_AD_Viewer.properties +export EPICS_CA_MAX_ARRAY_BYTES=30000000 +./jre/bin/java -Xmx512m -jar ij.jar -run "EPICS AD Viewer" & diff --git a/AreaDetector_Scripts/start_imageJ_mar165b b/AreaDetector_Scripts/start_imageJ_mar165b new file mode 100755 index 0000000000000000000000000000000000000000..984f0125afa42ccf1dea56db42f47c0d9d3cb293 --- /dev/null +++ b/AreaDetector_Scripts/start_imageJ_mar165b @@ -0,0 +1,5 @@ +#!/bin/bash +cd /local/DPbin/ImageJ/ +cp /local/DPbin/ImageJ/ImageJ_Profiles/dp_mar165_b.properties ~/EPICS_AD_Viewer.properties +export EPICS_CA_MAX_ARRAY_BYTES=30000000 +./jre/bin/java -Xmx512m -jar ij.jar -run "EPICS AD Viewer" & diff --git a/AreaDetector_Scripts/start_imageJ_mar165c b/AreaDetector_Scripts/start_imageJ_mar165c new file mode 100755 index 0000000000000000000000000000000000000000..97870f106c8841639520e39170edcc454d5b7b11 --- /dev/null +++ b/AreaDetector_Scripts/start_imageJ_mar165c @@ -0,0 +1,5 @@ +#!/bin/bash +cd /local/DPbin/ImageJ/ +cp /local/DPbin/ImageJ/ImageJ_Profiles/dp_mar165_c.properties ~/EPICS_AD_Viewer.properties +export EPICS_CA_MAX_ARRAY_BYTES=30000000 +./jre/bin/java -Xmx512m -jar ij.jar -run "EPICS AD Viewer" & diff --git a/AreaDetector_Scripts/start_imageJ_mar345 b/AreaDetector_Scripts/start_imageJ_mar345 new file mode 100755 index 0000000000000000000000000000000000000000..8e01339549b22cbf5f207d10414056c8025252be --- /dev/null +++ b/AreaDetector_Scripts/start_imageJ_mar345 @@ -0,0 +1,5 @@ +#!/bin/bash +cd /local/DPbin/ImageJ/ +cp /local/DPbin/ImageJ/ImageJ_Profiles/dp_mar345.properties ~/EPICS_AD_Viewer.properties +export EPICS_CA_MAX_ARRAY_BYTES=30000000 +./jre/bin/java -Xmx512m -jar ij.jar -run "EPICS AD Viewer" & diff --git a/AreaDetector_Scripts/start_imageJ_mar345~ b/AreaDetector_Scripts/start_imageJ_mar345~ new file mode 100644 index 0000000000000000000000000000000000000000..f0e544c6dd5811f5757c88e2f5082e5eb58c3583 --- /dev/null +++ b/AreaDetector_Scripts/start_imageJ_mar345~ @@ -0,0 +1,5 @@ +#!/bin/bash +cd /local/DPbin/ImageJ/ +cp /local/DPbin/ImageJ/ImageJ_Profiles/mar345.properties ~/EPICS_AD_Viewer.properties +export EPICS_CA_MAX_ARRAY_BYTES=30000000 +./jre/bin/java -Xmx512m -jar ij.jar -run "EPICS AD Viewer" & diff --git a/ImageJ.cfg b/ImageJ.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1364a06101fdc553e85ff141cd989d56b6f086ae --- /dev/null +++ b/ImageJ.cfg @@ -0,0 +1,3 @@ +. +jre/bin/java +-Xmx9477m -cp ij.jar ij.ImageJ diff --git a/ImageJ.desktop b/ImageJ.desktop new file mode 100755 index 0000000000000000000000000000000000000000..9fa77f10a968f13e9c432cfc8b453bf51b0e8a0b --- /dev/null +++ b/ImageJ.desktop @@ -0,0 +1,14 @@ +[Desktop Entry] +Version=1.0 +Name=ImageJ +GenericName=ImageJ +X-GNOME-FullName=ImageJ +Comment=Scientific Image Analysis +Type=Application +Categories=Education;Science;ImageProcessing; +Exec=/local/DPbin/ImageJ/ImageJ +TryExec=/local/DPbin/ImageJ/ImageJ +Terminal=false +StartupNotify=true +Icon=/local/DPbin/ImageJ/images/icon.png +StartupWMClass=ij-ImageJ diff --git a/ImageJ_Profiles/DP_CoolSnap.properties b/ImageJ_Profiles/DP_CoolSnap.properties new file mode 100644 index 0000000000000000000000000000000000000000..12c6197dfe487dd507cf24401b5cf2291ed65fc7 --- /dev/null +++ b/ImageJ_Profiles/DP_CoolSnap.properties @@ -0,0 +1,3 @@ +#EPICS_AD_Viewer Properties +#Fri Mar 01 10:25:41 CST 2013 +PVPrefix=dp_coolsnap_xrd24\:image1\: diff --git a/ImageJ_Profiles/DP_CoolSnap.properties~ b/ImageJ_Profiles/DP_CoolSnap.properties~ new file mode 100644 index 0000000000000000000000000000000000000000..12c6197dfe487dd507cf24401b5cf2291ed65fc7 --- /dev/null +++ b/ImageJ_Profiles/DP_CoolSnap.properties~ @@ -0,0 +1,3 @@ +#EPICS_AD_Viewer Properties +#Fri Mar 01 10:25:41 CST 2013 +PVPrefix=dp_coolsnap_xrd24\:image1\: diff --git a/ImageJ_Profiles/DP_GC1380H.properties b/ImageJ_Profiles/DP_GC1380H.properties new file mode 100755 index 0000000000000000000000000000000000000000..b1e18ff81aebca0d07ed1c8b34533745bb473863 --- /dev/null +++ b/ImageJ_Profiles/DP_GC1380H.properties @@ -0,0 +1,3 @@ +#EPICS_AD_Viewer Properties +#Fri Mar 01 10:25:41 CST 2013 +PVPrefix=dp_gc1380h\:image1\: diff --git a/ImageJ_Profiles/DP_GC1380H.properties~ b/ImageJ_Profiles/DP_GC1380H.properties~ new file mode 100755 index 0000000000000000000000000000000000000000..d213f30f34870814d1e221cd0a39c02388bc08c2 --- /dev/null +++ b/ImageJ_Profiles/DP_GC1380H.properties~ @@ -0,0 +1,3 @@ +#EPICS_AD_Viewer Properties +#Fri Mar 01 10:25:41 CST 2013 +PVPrefix=dp_gc1380H\:image1\: diff --git a/ImageJ_Profiles/DP_GC2450.properties b/ImageJ_Profiles/DP_GC2450.properties new file mode 100755 index 0000000000000000000000000000000000000000..b02c98de783e3f686354472550874ae07ccf8778 --- /dev/null +++ b/ImageJ_Profiles/DP_GC2450.properties @@ -0,0 +1,3 @@ +#EPICS_AD_Viewer Properties +#Fri Mar 01 10:25:41 CST 2013 +PVPrefix=dp_gc2450\:image1\: diff --git a/ImageJ_Profiles/DP_GC2450.properties~ b/ImageJ_Profiles/DP_GC2450.properties~ new file mode 100755 index 0000000000000000000000000000000000000000..37dbf0addef984ff084703d1b0e912f53de3129c --- /dev/null +++ b/ImageJ_Profiles/DP_GC2450.properties~ @@ -0,0 +1,3 @@ +#EPICS_AD_Viewer Properties +#Fri Mar 01 10:25:41 CST 2013 +PVPrefix=DP_GC2450\:image1\: diff --git a/ImageJ_Profiles/DP_Generic.properties b/ImageJ_Profiles/DP_Generic.properties new file mode 100644 index 0000000000000000000000000000000000000000..04957c12957db3d991aff6c590e9497512314dea --- /dev/null +++ b/ImageJ_Profiles/DP_Generic.properties @@ -0,0 +1,3 @@ +#EPICS_AD_Viewer Properties +#Fri Mar 01 10:25:41 CST 2013 +PVPrefix=dp_andor3_xrd34\:image1\: diff --git a/ImageJ_Profiles/DP_XrayEye.properties b/ImageJ_Profiles/DP_XrayEye.properties new file mode 100644 index 0000000000000000000000000000000000000000..fddd9c3d12ddb8ddf34b6ec88a26c3b2a9e8c43e --- /dev/null +++ b/ImageJ_Profiles/DP_XrayEye.properties @@ -0,0 +1,3 @@ +#EPICS_AD_Viewer Properties +#Fri Mar 01 10:25:41 CST 2013 +PVPrefix=dp_xrayeye\:image1\: diff --git a/ImageJ_Profiles/DP_XrayEye.properties~ b/ImageJ_Profiles/DP_XrayEye.properties~ new file mode 100644 index 0000000000000000000000000000000000000000..fddd9c3d12ddb8ddf34b6ec88a26c3b2a9e8c43e --- /dev/null +++ b/ImageJ_Profiles/DP_XrayEye.properties~ @@ -0,0 +1,3 @@ +#EPICS_AD_Viewer Properties +#Fri Mar 01 10:25:41 CST 2013 +PVPrefix=dp_xrayeye\:image1\: diff --git a/ImageJ_Profiles/dp_mar165_a.properties b/ImageJ_Profiles/dp_mar165_a.properties new file mode 100755 index 0000000000000000000000000000000000000000..9578babb3df8eab0fe410521b1d66704fe511ed2 --- /dev/null +++ b/ImageJ_Profiles/dp_mar165_a.properties @@ -0,0 +1,3 @@ +#EPICS_AD_Viewer Properties +#Fri Mar 01 10:25:41 CST 2013 +PVPrefix=dp_mar165_a\:image1\: diff --git a/ImageJ_Profiles/dp_mar165_a.properties~ b/ImageJ_Profiles/dp_mar165_a.properties~ new file mode 100755 index 0000000000000000000000000000000000000000..0848657eecdfee6c31309629098fa9925716505f --- /dev/null +++ b/ImageJ_Profiles/dp_mar165_a.properties~ @@ -0,0 +1,3 @@ +#EPICS_AD_Viewer Properties +#Fri Mar 01 10:25:41 CST 2013 +PVPrefix=dp_mar345\:image1\: diff --git a/ImageJ_Profiles/dp_mar165_b.properties b/ImageJ_Profiles/dp_mar165_b.properties new file mode 100644 index 0000000000000000000000000000000000000000..54e4a437354398a98aef3714656adab33dd80c62 --- /dev/null +++ b/ImageJ_Profiles/dp_mar165_b.properties @@ -0,0 +1,3 @@ +#EPICS_AD_Viewer Properties +#Fri Mar 01 10:25:41 CST 2013 +PVPrefix=dp_mar165_b\:image1\: diff --git a/ImageJ_Profiles/dp_mar165_c.properties b/ImageJ_Profiles/dp_mar165_c.properties new file mode 100644 index 0000000000000000000000000000000000000000..f460b0c220b62987151f33ed38d66b92374797a2 --- /dev/null +++ b/ImageJ_Profiles/dp_mar165_c.properties @@ -0,0 +1,3 @@ +#EPICS_AD_Viewer Properties +#Fri Mar 01 10:25:41 CST 2013 +PVPrefix=dp_mar165_c\:image1\: diff --git a/ImageJ_Profiles/dp_mar165_c.properties~ b/ImageJ_Profiles/dp_mar165_c.properties~ new file mode 100755 index 0000000000000000000000000000000000000000..54e4a437354398a98aef3714656adab33dd80c62 --- /dev/null +++ b/ImageJ_Profiles/dp_mar165_c.properties~ @@ -0,0 +1,3 @@ +#EPICS_AD_Viewer Properties +#Fri Mar 01 10:25:41 CST 2013 +PVPrefix=dp_mar165_b\:image1\: diff --git a/ImageJ_Profiles/dp_mar345.properties b/ImageJ_Profiles/dp_mar345.properties new file mode 100644 index 0000000000000000000000000000000000000000..0848657eecdfee6c31309629098fa9925716505f --- /dev/null +++ b/ImageJ_Profiles/dp_mar345.properties @@ -0,0 +1,3 @@ +#EPICS_AD_Viewer Properties +#Fri Mar 01 10:25:41 CST 2013 +PVPrefix=dp_mar345\:image1\: diff --git a/ImageJ_Profiles/dp_mar345.properties~ b/ImageJ_Profiles/dp_mar345.properties~ new file mode 100644 index 0000000000000000000000000000000000000000..9578babb3df8eab0fe410521b1d66704fe511ed2 --- /dev/null +++ b/ImageJ_Profiles/dp_mar345.properties~ @@ -0,0 +1,3 @@ +#EPICS_AD_Viewer Properties +#Fri Mar 01 10:25:41 CST 2013 +PVPrefix=dp_mar165_a\:image1\: diff --git a/build_imagej+ad_plugins.sh b/build_imagej+ad_plugins.sh new file mode 100644 index 0000000000000000000000000000000000000000..0debebe5045d18d9efe375451b4b75fbf2682cc6 --- /dev/null +++ b/build_imagej+ad_plugins.sh @@ -0,0 +1,59 @@ +#!/bin/bash +# T. Guruswamy <tguruswamy@anl.gov>, 2020 +# Download and build ImageJ and ADViewers EPICS plugins + +IMAGEJ_VER=153 +# Select from https://github.com/areaDetector/ADViewers/releases +ADVIEWERS_VER="R1-6-1" + +# Fetch ImageJ1 +# TODO: update if Java version changes +if [ ! -d ImageJ ]; then + wget -c "http://wsr.imagej.net/distros/linux/ij${IMAGEJ_VER}-linux64-java8.zip" + unzip -q "ij${IMAGEJ_VER}-linux64-java8.zip" +fi + +if [ ! -d ImageJ ]; then + echo "NO ImageJ folder found." + exit 64 +fi + +# Fetch ADViewers, including ImageJ plugins +# not necessary to use git, can just download tar.gz from github releases +if [ ! -d ADViewers-${ADVIEWERS_VER} ]; then + wget -c "https://github.com/areaDetector/ADViewers/archive/${ADVIEWERS_VER}/ADViewers-${ADVIEWERS_VER}.tar.gz" + tar xf "ADViewers-${ADVIEWERS_VER}.tar.gz" + #git clone -q -b master https://github.com/areaDetector/ADViewers.git + #git checkout "$ADVIEWERS_VER" +fi + +if [ ! -d ADViewers-${ADVIEWERS_VER} ]; then + echo "NO ADViewers folder found." + exit 64 +fi + +# Copy ADViewer plugins into ImageJ folder +cp -a "ADViewers-${ADVIEWERS_VER}/ImageJ/EPICS_areaDetector" ImageJ/plugins/ + +# Compile all plugins +pushd ImageJ + +base="$(pwd)" +plugins=( + "EPICS_AD_Viewer.java" + "EPICS_AD_Controller.java" + "EPICS_NTNDA_Viewer.java" + "Gaussian_Profiler.java" + "Dynamic_Profiler.java" +) + +for plugin in "${plugins[@]}"; do + echo "Compiling ${plugin}" + # This command was extracted from the ImageJ logs after manually running "Plugins -> Compile and Run..." + # The classpath is constructed from every *.jar file in the plugins/jars and plugins/EPICS_areaDetector folders + javac -source 1.6 -target 1.6 -Xlint:unchecked -deprecation \ + -classpath "${base}/ij.jar:${base}/plugins/EPICS_areaDetector:${base}/plugins/jars/Auto_Threshold.jar:${base}/plugins/jars/BeanShell.jar:${base}/plugins/EPICS_areaDetector/caj-1.1.10.jar:${base}/plugins/EPICS_areaDetector/epics-ntypes-0.3.1.jar:${base}/plugins/EPICS_areaDetector/epics-pvaccess-5.1.1.jar:${base}/plugins/EPICS_areaDetector/epics-pvaclient-4.3.2.jar:${base}/plugins/EPICS_areaDetector/epics-pvdata-6.1.1.jar:${base}/plugins/EPICS_areaDetector/epics-pvdatabase-4.3.1.jar:${base}/plugins/EPICS_areaDetector/jca-2.3.6.jar:${base}/plugins/EPICS_areaDetector/jna-5.1.0.jar" \ + "${base}/plugins/EPICS_areaDetector/${plugin}" +done + +popd