CompuCell3D:

Visual Examples

This page contains links and brief descriptions to quick CC3D demos that show off answers to user requests and questions.

For a more complete list of models and demos see the Models page, which include much more complex models as well as models for nanoHUB.


Track the location of a cell with a tail

Want to keep track of where a cell has been? You can use a user created "field" to track the center of mass (COM) of a cell pretty easily. Or, you could create a plot. Here we show both; Left is the cell field showing 4 cells, center is a scientific plot tracking the COM of each cell, right is the track displayed as a field. In the field display, the value assigned to each tracking pixel is the MCS, so the first location gets colored blue and the most recent red in the heat maps.

screen shot

Here is the zip file of the CC3D project.
Don't forget to open a new window in Player and tell that window to display "cell_track" instead of the default "Cell_Field".


Create a set of cells that look like fibers

screen shot

What if you want to generate arbitrary shaped cells in CC3D? Here we'll do the specific case of generating long thin (fibrous) cells. Here is the zip file of the CC3D 2D project and here is the zip file of the CC3D 3D project

This code could be modified so that he fibers are put into a diffusing field. If the field is set to not defuse or decay the fibers will persists. Since the fibers are in a field (instead of being represented as cells) that means other cells can move over the fibers and interact with them in different ways (like stick to the fibers using the Chemotaxis module).


Create a set of cells at defined locations using Python in CC3D

screen shot

If you can mathematically define your cell locations then CC3D/Python can place your cells. (Or, just use a random number generator if you don't really care exactly where the cells are.) Here we will create a circle of cells of different cell types. Here is the zip file of the CC3D project


Import an image into CC3D

You can use the Python Image Library (PIL or Image) to import an image into CC3D. You can then load a version of the image into a user controlled field. This might be handy for converting a cell layout you created in a program like PowerPoint, or to import an image from a microscope. Or, you never know when you might want to model a dog. :)

This process is a bit more complex than the examples above so there is a page describing how to do it.

Below on the left is a bitmap (bmp) photo, on the right the photo after importing into CC3D and displaying it as a user controlled field. We don't have color control in CC3D so the field is displayed with CC3D's standard heat map color bar.

Doggles!


Import an image into CC3D and convert into cells

You can use the Python Image Library (PIL, aka Image) to import an image into CC3D and then convert that image into a cell field in CC3D. If you use a drawing program to create cell layouts as colored shapes outlined with black edges, this project will convert the regions into cells based on the colors and use the black lines to define the boundary between cells.

This process is a more complex than the examples above so there is a page describing how to do it.

Below on the left is a bitmap (.bmp) image of a cell field created in PowerPoint. The cells are outlined in black and the colors define the cell types. This particular layout is a very crude representation of converging blood vessels in the liver with the green regions representing hepatocytes (the major parenchymal cell of the liver), the blue regions are the blood vessel lumen (that is, the blood) and the small red cells are anchors for creating new blood portions. On the right is a screenshot of CC3D after the image is imported, the right hand images is the image data displayed as a CC3D user-controlled field, the left image is after the image is segmented and the cells are assigned.

Drawn cells . . Cells in CC3D


Simulating a falling cell

Falling cell

Simulating a falling object is kind of tricky in CC3D. CC3D's world is very viscous and moving objects tend to stop moving unless a force is applied. A constant force produces a constant velocity where in a non-viscous world a constant force produces an acceleration. Still, it is possible to implement a falling object in CC3D. This is complex enough that we have a page for the CC3D project.


Animating the results of a CompuCell3D simulation

You have run a simulation and collected a ton of data. How do you show that to someone? How do you represent the dynamic nature of the cells and fields in your CC3D simulation? One useful visualization is to convert screenshots of your simulation into a movie. We have a page with some guidance on how to go about that.

Bacterium Macrophage Movie
(click for a larger version)

You can also check out our page of simulation movies.


Simple durotaxis model

In durotaxis, cells are guided by changes in stiffness of the extracellular matrix. Here we have a preliminary model in CC3D that implements the basic model described in A Cellular Potts Model of single cell migration in presence of durotaxis. By Allena R, Scianna M, Preziosi L. Math Biosci. 2016 May;275:57-70. doi: 10.1016/j.mbs.2016.02.011. Epub 2016 Mar 9. PMID: 26968932.

In the screen shots below, the upper left is a 3D view showing a set of green cell (mobile) stuck to a field of fixed blue cells. (Upper right) shows the "actin" amount in the frozen blue cell layer with red being high and blue being low. (Bottom right) The position history for the mobile cells with red being most recent location and blue the oldest locations. (Bottom Left) the 2D cell field just above the fixed layer of cells showing some spreading of the green cells. The CC3D project zip file is here. Note that this model has not been calibrated to the values given in the paper nor has it been extensively tested. It is provided here only as a starting point for further development.

The lower layer (blue) are single voxel cells with per-cell adhesions defined using the AdhesionFlex plugin and with the adhesions defined in the python steppable file. The cells also have regular adhesions defined on a cell type basis. The green cells are slightly sticky to the blue and the green cells strongly resist touching other green cells. In the images below the cell borders are not being drawn so the blue sheet looks like a single cell but it is actually 100^2 individual cells. Note that the green cells have largely migrated to the region of high adhesion by the end of the simulation.

Initial Setup:

durotaxis demo

After 20,000 MCS:

durotaxis demo


Simple fluid flow model

CompuCell3D was not designed to do detailed fluid flow calculations, but it can be used for simple flow cases. Here we model flow through a pipe with a constriction and a round barrier. CompuCell3D "cells" are used to represent portions of fluid. Fluid is created at the left end of the pipe and destroyed at the right end of the pipe. This process creates flow through the pipe from one end to the other. The simulation calculates the velocity of each portion of fluid, its "pressure" (the difference between the target and actual volumes) and also averages the pressure at each pixel in the simulation.

In the image at right, the upper left window is the "pressure" in each fluid portion (cell), upper right is the flow velocity vector for each fluid portion, bottom left is average pressure at each pixel in the simulation and lower right is the CC3D cell field (fluid portions).

In the animation below the average pressure field is shown.
      flow demo video

flow demo

This simulation is based on a CC3D course module developed by Dr. Gilberto Thomas.

A zip file containing all the project files is available here.


CompuCell3D: QuickModels (last edited 2024-10-01 16:19:51 by JamesSluka)