Skip to content

The objectives of this project are: Developing an extension of the methodology described in the paper “Growing Neural Cellular Automata” to facilitate complex structure generation in three dimensions and to simulate the growth of multicellular structure starting from a single cell.

Notifications You must be signed in to change notification settings

srija-cell/MODELLING-MORPHOGENESIS-IN-3D-NEURAL-CELLULAR-AUTOMATA

Repository files navigation

Growing Neural Cellular Automata

Morphogenesis is the process through which an organism develops its shape, whereby cells communicate with one another to determine organ and body structure. Modelling biological morphogenesis in computation can allow us to gain a better understanding of how the shape and form of an organism develops. Such models both enhance our understanding of biology and translate these discoveries into improved robotics and computational technology. Models that can define global coordination out of local level interactions can serve as a valuable tool for biologists, helping to deepen their understanding of morphogenesis and its underlying mechanisms. Additionally, by using these models to study the development of organisms, it may be possible to create more advanced computational technology that can replicate the complexity and functionality of natural systems.

Algorithm Details

Voxel Generation

A voxel dataset is essentially a three-dimensional grid of small, cubic elements called voxels, each of which can have a color value associated with it.We provide a CSV file containing values of dimensions and RGB colors as input. The dimensions of the voxel model are extracted from the file name, and the maximum dimension is also calculated.The CSV file contains a list of coordinates along with their corresponding RGB color values. Each row in the CSV file corresponds to a single voxel in the 3D voxel dataset. The coordinates and color values are typically separated by commas, which allows them to be easily parsed and loaded into a program. The stepwise voxel generation process can be demonstrated as:

Reading and loading the CSV file:

The CSV file contains the list of coordinates along with their corresponding RGB color values

Returning a single layer and stacking up the values:

In order to visualise a 3D voxel dataset, we need to extract each layer of the dataset and stack them up to form the entire 3D voxel.

Model Training:

model

Target Object:

target

Input: seed value

seed

Output:

The output after training:

growth.mp4

Gradio is used for the user interface.

ui

To run the model:

  1. Create a virtual environment
  2. Install requirements.txt
  3. Create a folder named img
  4. Run app.py

About

The objectives of this project are: Developing an extension of the methodology described in the paper “Growing Neural Cellular Automata” to facilitate complex structure generation in three dimensions and to simulate the growth of multicellular structure starting from a single cell.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages