Skip to main content

Accelerate data driven research in developmental biology with deep learning models

Project description

Build Status Open In Colab

Contents

Installation

pip install devolearn

Example notebooks

Segmenting the C. elegans embryo

  • Importing the model
from devolearn import embryo_segmentor
segmentor = embryo_segmentor()
  • Running the model on an image and viewing the prediction
seg_pred = segmentor.predict(image_path = "sample_data/images/seg_sample.jpg")
plt.imshow(seg_pred)
plt.show()
  • Running the model on a video and saving the predictions into a folder
filenames = segmentor.predict_from_video(video_path = "sample_data/videos/seg_sample.mov", centroid_mode = False, save_folder = "preds")
  • Finding the centroids of the segmented features
seg_pred, centroids = segmentor.predict(image_path = "sample_data/images/seg_sample.jpg", centroid_mode = True)
plt.imshow(seg_pred)
plt.show()
  • Saving the centroids from each frame into a CSV
df = segmentor.predict_from_video(video_path = "sample_data/videos/seg_sample.mov", centroid_mode = True, save_folder = "preds")
df.to_csv("centroids.csv")

Generating synthetic images of embryos with a Pre-trained GAN

  • Importing the model
from devolearn import Generator, embryo_generator_model
generator = embryo_generator_model()
  • Generating a picture and viewing it with matplotlib
gen_image = generator.generate()  
plt.imshow(gen_image)
plt.show()
  • Generating n images and saving them into foldername with a custom size
generator.generate_n_images(n = 5, foldername= "generated_images", image_size= (700,500))

Predicting populations of cells within the C. elegans embryo

  • Importing the population model for inferences
from devolearn import lineage_population_model
  • Loading a model instance to be used to estimate lineage populations of embryos from videos/photos.
model = lineage_population_model(mode = "cpu")
  • Making a prediction from an image
print(model.predict(image_path = "sample_data/images/embryo_sample.png"))
  • Making predictions from a video and saving the predictions into a CSV file
results = model.predict_from_video(video_path = "sample_data/videos/embryo_timelapse.mov", save_csv = True, csv_name = "video_preds.csv", ignore_first_n_frames= 10, ignore_last_n_frames= 10 )
  • Plotting the model's predictions from a video
plot = model.create_population_plot_from_video(video_path = "sample_data/videos/embryo_timelapse.mov", save_plot= True, plot_name= "plot.png", ignore_last_n_frames= 0 )
plot.show()

Links to Datasets

Model Data source
Segmenting the C. elegans embryo 3DMMS: robust 3D Membrane Morphological Segmentation of C. elegans embryo
Cell lineage population prediction + embryo GAN EPIC dataset

Authors/maintainers:

Feel free to join our Slack workspace!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devolearn-0.3.0.tar.gz (1.9 MB view hashes)

Uploaded Source

Built Distribution

devolearn-0.3.0-py3-none-any.whl (1.9 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page