MRI Project

Fall 2022 • CS 495

Project Goals

Create a user friendly interface for running image processing scripts on the UA HPC cluster

 This web application will provide an interface for the image processing pipeline that will run on the University of Alabama's HPC. With this software, users will be able to run batches, view batch progress, and create and edit scripts by using the intuitive interface. Upon the completion of jobs, the software will fetch the resulting files and provide access to them through the interface. This way, researchers and other employees working with the MRI Center, who may have little to no programming experience, won't have to write code or submit batches themselves.
 Additionally, the MRI Center will be able to manage their image processing jobs with greater ease. In the web application, a dashboard will provide the user with a simple way to view, cancel, and track the progress of SLURM jobs.

Make analysis of MRI images more efficient

  Abstracting the interaction with remote computational resources is key for efficienct analysis. By reducing the time spent on studying the documentation of the job scheduler, fixing errors, and implementing scripts, more time can be spent doing productive calculations and analysis of the processed images. An intuitive interface will ensure ease of use for users with varying HPC experience.

Ensure the final application requires little to no maintenance

  Since this project will fall into the hands of the client after the semester, it is imperative that the software requires little to no maintenance upon completion. After the minimum viable product is complete, additional functionality to increase flexibility will be developed. This includes the ability to create, edit, copy, and import new scripts. If new requirements for the software arise, we will have provided thorough documentation to allow the software to be updated as needed. Additionally, through providing robust documentation and tutorials, the user experience is beginner friendly and clear to maintain.

Approach

Technology Stack

Frontend Backend
Tool Use Tool Use
Node.js Engine Java 17
(Eclipse Temurin)
Java JDK/JRE
React Interface Library Maven Build System
TypeScript Compilation Spring Boot Framework
React Router Routing PostgreSQL Database
styled-components Interface Components Liquibase Database Management
material-ui Interface Components Lombok Boilerplate Reduction
Yarn Package Manager OpenAPI Generator API Entity Generation

User Experience

Step-By-Step Explanation of User Experience

  • User logs in using myBama credentials (Active Directory Sign-On)
  • User is able to view help and tutorials page that holds a guide to setting up their HPC account, links to tutorial videos, and links to documentation.
  • User completes create batch form to create a new batch run on HPC cluster
    • Enter new batch name
    • Toggle if jobs require approval before running
    • Choose script template (optional)
    • Enter script header
    • Fill out script setup form
    • Fill out script jobs form
    • Fill out script cleanup form
    • Fill out script slurm config form
    • Submit batch
  • Once user starts run via submitting the form, they may navigate to the dashboard
  • User can view all jobs currently running on HPC cluster
    • List of all batches and jobs
    • View progress of each batch (how many jobs/batch are completed)
  • For each batch, the user will be able to view:
    • Batch information
    • Status of each job within the batch
  • For each job, the user will be able to view:
    • Job information
    • Other jobs associated with the same batch
  • Once the batch is completed the user will receive a notification of its completion
  • User can view completed jobs and results
  • User can create and edit scripts from the script library
    • Fill out script info form
    • Fill out setup form
    • Fill out jobs form
    • Fill out cleanup form
    • Fill out slurm configuration form
  • User can import and export scripts via the script library
  • User can view all scripts and script information

Example Scenario

An example scenario for the use of this project is if a user wishes to run a script for processing MRI images. Instead of needing to go through the process of logging onto the UAHPC and running the scripts from there, they are instead able to fill out one user friendly form after logging in using only their myBama credentials. Once this form is complete, the user is able to see the progress of a batch run, in addition to information about each job included in the batch. They will be notified when the batch is complete and will be able to view the run details and results. This tool functions as a sort of one-stop-shop for image processing scripts, assisting researchers in analyzing results of MRI scans.

Team Members

Name CWID Email Address
Cara Cannarozzi 11970792 cacannarozzi@crimson.ua.edu
Madeline Moore 11884126 mcmoore11@crimson.ua.edu
Noah Overcash 11907775 ncovercash@crimson.ua.edu
Peter Zhang 11861641 pwzhang@crimson.ua.edu