A group working over in Plant and Soil Sciences are experts on ImageJ but are relatively new to the HPCC. Together we put together a workflow for getting ImageJ up and running on the HPCC.
Step 1: Log onto the HPCC with an X11 connection
Log onto the HPC using an X11 connection. You need x11 in order to test the install using the Graphical User Interface (GUI). If you are on windows, I recommend MobaXTerm as an easy way to get started, if you are on Mac you may need to install XQuarts.
If you don't have X11 working you can try logging in using the HPCC remote server and a "full linux desktop" by going to the following website:
You can test if graphics are working by typing the following on the command line:
Step 2: Install ImageJ
For this step I recommend installing Fiji (Fiji is just ImageJ) which a little easier to use than ImageJ proper. For one thing it makes installing a few plug-ins much easier.
Download the 64-bit installer into your home directory on the HPCC. Go to the Fiji website to get a URL link to the latest version. Once you have the URL you can run the following command on an HPC Development node:
After the file has downloaded you just need to unzip the file using the following command:
Test ImageJ using the following command:
The first time running it will ask if you want to run the "updater." I would recommend doing this.
Step 3: Install needed plugins
Once you have Fiji running you shold be able to install most plugins from the user interface. You can also copy plugin jar files to the plugins folder inside the Fiji.app folder.
Step 4: Write a Macro
You can run for about 2 hours on any of the HPCC development nodes, however, to really take advantage of the HPCC you want to run in batch mode. Batch mode does not let you use the mouse and click on the graphics which means you need to create an ImageJ macro that runs from start to end without any user input. For now I will assume that you know how to make a macro, if not, you may have to look for some sort of online tutorial or read the manual,
If you want to just do a quick test I recmmend making a macro with just a "hello world" print command as follows:
Save the file as
Step 5: Submit the macro to the scheduler
Let us assume that your macro name is
myMacro.ijm then the following submission script should work to get your macro running in SLURM:
#!/bin/bash #SBATCH --mem=4gb #SBATCH --time=04:00:00 #SBATCH -n 1 #SBATCH -c 1 module load java module load powertools srun ~/Fiji.app/ImageJ-linux64 --headless --memory=4000M -macro myMacro.ijm js $SLURM_JOB_ID
If we call the above script
runFiji.sb then you can submit the job to the SLURM scheduler using the following command:
That should be it. You can change the required memory or the amount of time it takes to run.
CMSE Presentation at SC19
I just got out of giving a presentation about the CMSE department as part of the Sixth SC Workshop on Best Practices for HPC Training and Education (BPHTE19) workshop at SC19. It was fun to show people what we are doing in CMSE and share our progress. Here is a …read more
Sherpas of Supercomputing
I had the honor of recently being featured in an ASEE PRISM Magazine article about research facilitation.
An essential, if not yet well-defined, field is emerging at the intersection of research and the high-performance machines that make sense of big data. By Lucy Birmingham and Mark Matthews
Developing curriculum to train Graduate students how to utilize Raspberry Pis to Automate Research Labs
Summer 2019 CMSE CMSE Undergraduate Intern Poster presentation at MidSure by Shelby Santos
Raspberry Pis (RPis) are affordable microcomputers (approx. $35) that have the capability to revolutionize the accuracy and efficiency of data collection in basic laboratory environments. Recreationally, RPis can be used as a base for smart televisions, home …read more
Investigation of the process of converting a C++ code into an implementable FPGA file
Summer 2019 ENSURE Student Poster presentation at MidSure by Ana Flavia Borges de Almeida Barreto
A Field Programmable Gate Arrays (FPGAs) is an integrated circuit that can be “rewired” to become other circuits. This ability makes FPGAs highly configurable and can significantly help speed up large scale computation used in …read more
Searching the Algorithm Space to Automate Scientific Image Analysis Workflows
Summer 2019 SROP student poster presentation at MidSure by Noah Stolz
Scientific data is often gathered in the form of Images. Scientific Image analysis is the process of pulling specific measurements out of images. Which measures are important complete depend on the scientific question being asked. For this reason, there …read more
The Keyboard Trap: Making Jupyter Notebooks Accessible to All Students
Summer 2019 CMSE Undergraduate Intern Poster presentation at MidSure by Abudit Rai:
Jupyter Notebook is a relatively new environment that incorporates formatted text (using markdown), multimedia (video and pictures using html) and executable code where users can write and execute code within “cells” for languages such as Python, Julia, and …read more
2019 Ensure Talk - An Engineers Autobiography
I gave my annual autobiographical talk today to the EnSURE (Engineering Summer Undergraduate Research Experience) students. I give this talk every year and it is noticeably different that most of my presentations because the EnSURE organizers asked me to talk about myself and how I got where I am (instead …read more
Research Team Retreat
This summer we managed to find a time to take my research team on a retreat (Road Trip!) to the lake (Noah, Abudit, Shelby, Lilly and Anna). It was a great opportunity to get to know each other and really bond as a team. We played games, had a boat …read more
Workshop Community Building for High-Performance Computing Curriculum development
Last year, I attended a two-and-a-half-day community and curriculum building workshop. It could not have been more perfectly timed. I was able to come up with a solid plan for my CMSE401 parallel programming course which I ended up teaching this last spring.
This year I was not able to …read more