nrnb / GoogleSummerOfCode

Main documentation site for NRNB GSoC project ideas and resources
119 stars 40 forks source link

ImageJ plugin for VCell modeling framework #205

Closed vcellmike closed 1 year ago

vcellmike commented 2 years ago

Background

In a nutshell: ImageJ (https://imagej.net/) is a software for manipulating images (2D, 3D = 2D stacks, time series, roughly operation with RGB matrices). VCell (http://vcell.org) is a modeling software that can take image as an input (e.g. initial distribution of proteins) or generate image as an output (e.g. prediction of distribution of proteins after certain reaction-diffusion processes). Image processing in ImageJ is advanced, in VCell is rudimentary. The goal is to enable smooth interoperability between these two tools.

In detail: VCell (http://vcell.org) is an open source software platform that can model and simulate reaction-diffusion systems in geometries derived from 3D experimental microscopy images; it can also utilize experimentally derived molecular concentrations and cellular localizations. It is used by scientists around the world to create quantitative hypotheses of cellular functions whose predictions can be directly compared to experimental results. Fiji/ImageJ (https://imagej.net/) is arguably the most widely used software tool for the analysis of microscope images of cells. Both software environments will gain enhanced functionality by creating an architecture to couple these tools. Bridging these software tools will:

  1. Enable VCell users to analyze and visualize their dynamic multidimensional, multivariable simulation results.
  2. Enable ImageJ users to analyze live cell microscopy experiments to quantitatively assess their fit to mechanistic reaction-diffusion models and to extract quantitative parameters such as rate constants and in vivo concentrations. https://imagej.net/Plugins https://imagej.net/Writing_plugins https://imagej.net/Development

Goal

We have created a service for VCell users that allows Fiji/ImageJ scripting to directly access the VCell client. To use the service, one needs to install VCell and Fiji. In VCell, open Help->Help and search for ImageJ, then follow the instructions.

The Groovy scripts available at https://vcell.org/webstart/packImageJExample.zip currently could be run in ImageJ. Those scripts access VCell functionality, but parameters such as VCell model name, geometry, variables need to be specified by modifying the script. The goal is to convert each Groovy script into a specific ImageJ plugin, where parameters will be defined in a user-friendly GUI.

We have prototyped imageJ plugins that open VCell simulation data: https://github.com/vcellmike/Plugins_VCell-ImageJ

2022 goal is to expand this service into a series of user-friendly plugins for ImageJ that will automate processing and analyzing cell imaging simulation experiments, including 1) entering the appropriate images to create a geometry; 2) setting initial conditions for the simulation, 3) running multiple simulations with varying parameter sets, 4) visualizing and comparing simulation results to the original experimental image set.

Difficulty Level: Medium

Prior experience with ImageJ, image processing and modeling app could be useful. There is a lot of help on how to create ImageJ plugins, less about interaction with VCell.

Size and Length of Project

-175 hours -12 weeks

Skills

Java, Groovy (essential) ImageJ, modeling (nice to have)

Public Repository

https://github.com/virtualcell/vcell/tree/master/vcell-imagej-helper https://github.com/vcellmike/Plugins_VCell-ImageJ

Potential Mentors

Michael Blinov Frank Morgan Ann Cowan

Michael Blinov(mailto:blinov@uchc.edu)

khanspers commented 1 year ago

Closing in preparation for GSoC 2023.