Google Summer of Code 2022 @ incf
Digital Microsphere
Contents:
1. Project Summary:
In some organisms like axolotl, the surface of the embryo is transparent and thus allowing us to see the embryogenetic events taking place before the neural tube closure. Therefore, acquiring images of the outside of early stage developing embryos could give us many insights. Hence, aim of this project is to build a computational tool that allows us to visualize 4D data derived from the surface of an Axolotl embryo using a special microscope called Digital Microsphere. That is, a computational tool which will display a sphere on which the images of the embryo from different angles will be mapped creating a 3D model.
2. Stages of the Project:
-
Stage #1: Image Cropping and Processing
In this stage, the main focus is to crop the images to get the required portion and do some image processing on it. The python file retrieves the outline of the embryo and then uses it to find out the radius of the embryo in the x,y and z directions respectively.
-
Stage #2: Generating the Point Cloud and the 3D mesh
The python script takes three values of the radius of the embryo and using them it calculates all the 3d coordinates and then stores it in a .ply file to get the point cloud. Then, it takes the embryo.ply file and creates its mesh using the open3d library of python.
-
Stage #3: Projecting the embryo images onto the generated mesh
The mesh generated from the python code is then imported into blender to UV unwrap it in the required manner. Then the model is exported and then any image can be chosen to map onto it according to its UV coordinates. These are the expected outputs that I showed in the proposal but I am still working on this part to improve it.
This is what the projected image looks like on a ellipsoid.
3. Installing Instructions
- Clone the repositry into your computer
git clone <repo_link>
-
To install electron modules into the project folder
npm install electron
To install virtualenv
pip install virtualenv
To create a virtual env type(You must have virtualenv installed first):
virtualenv env
To activate the virtual env (in Unix terminal)
source env/bin/activate
To install the required python packages in our environment
pip install -r requirements.txt
To start the application in elctron
npm start
-
The application will open after this command. You can see the embryo model in it. Now follow the user guide to use it.
4. User Guide