We are looking for a Julia programmer who can port our Braindancer (BrainDancer® - fMRI Dynamic Phantom - ALA Scientific) analysis software (GitHub - RajatKGupta/fMRI_BrainDancer: This repository provides code for dynamic phantom data analysis and other utilities for analysis using regular static phantoms, such as the FBIRN phantom. The dynamic phantom is commercially available for purchase from ALA Scientific Instruments, Inc (https://alascience.com/).) to Julia. We are looking for the following qualifications:
• PhD/MS in Engineering (Electrical/Computer/Bioengineering), or Science (Neuroscience/Physics/Medical Physics)
• Fluent in computer programming: Python, C++, microcontroller programming, Julia (optional but preferred), image processing
• Working knowledge of MR physics and fMRI analysis.
• Knowledge of data analysis, Bayesian statistics.
more details about the project:
Our dynamic phantom relies on its ability to create user defined BOLD signal time series by rotating an agarose gel cartridge that contains radial slices of different agarose concentrations (different gel concentration will result in different BOLD signals) (see our recent publication in NeuroImage 227(2021)117584). To create the ground-truth we take 200 static scans that by averaging establishes the mean fMRI Bold-intensity of each volume element of the inner gel cartridge. We then take 600 scans of the phantom while rotating the inner gel cartridge to simulate brain-like dynamics.
Our analysis software needs to first identify the inner cartridge and determine the center of rotation which currently is achieved by image processing taking advantage of the two-fold symmetry of the gel concentration. We propose here to improve upon this method by using a Bayesian best estimate of the center of rotation by considering the complete dataset of static and dynamic images. A better estimate of the center of rotation results in a more accurate ground-truth for the next steps of the analysis. Once the group truth is calculated we can calculate all the data quality measures such as Fidelity, Standardized Signal-to-Noise Ratio (ST-SNR) and scanner instability (multiplicative noise). These measures can be used by the customer to select the appropriate MR scan sequence balancing the needs for small ST-SNR against scanner instability. The third project is to improve and optimize the Machine-Learning algorithms that we use to clean data from human brain scans. We plan to use a convolutional neural network (CNN) to learn the dynamic characteristics of the scanner noise. After optimization of the CNN, we can subtract scanner noise from human brain scan data that were taken using the same scan parameters as for the phantom.
We plan to code the analysis software in the Julia programming language (developed at MIT) which has emerged as the premier choice for scientific computation because of its speed and maturity in data modeling and data analysis. Julia is open-source, and we plan to publish all code under an MIT open-source license. We chose this path since most scientific labs would not use any analysis software that is not open source for reasons of scientific transparency.