Skip to content

evangeline-corcoran/scivision

 
 

Continuous integration status badge Documentation status badge PyPI badge All Contributors Licence badge (BSD 3 Clause)

If you are new to Scivision, start with the website.

The Scivision project is building:

Submit a bug or feature request here.

If you would like a link to a model or datasource to be listed in the catalog, such a contribution would be gratefully received. See the Contributing Guide for how to set up and submit a new entry. Pull requests for code changes are also welcome.

The Scivision project is funded by the Alan Turing Institute.

Repository contents

The main project repository on GitHub hosts

  • development of the Python package (in the root directory)
  • development of the website (in frontend)
  • the documentation sources (in docs)

Getting Started

A quick overview of using the Scivision.Py python package.

Install Scivision.Py

$ pip install scivision

Load a Scivision model

from scivision import load_pretrained_model

resnet18 = load_pretrained_model(
    # The model URL
    "https://github.com/alan-turing-institute/scivision_classifier",

    # A Scivision model can contain several variants -- below we select the one to use
    model_selection='resnet18',

    # Allow the model and its dependencies to be installed if they are not already
    # (including tensorflow in this example)
    allow_install=True
)

We can give an image as input to the model. Any image data compatible with numpy (an 'Array_like') is accepted. We can obtain some image data by loading a Scivision datasource.

Load a Scivision datasource

from scivision import load_pretrained_model

dataset = load_dataset('https://github.com/alan-turing-institute/scivision-test-data')

# 'dataset' provides several named arrays.  This datasource provides one named 'test_image':
# the keys can be looked up with `list(dataset)` (or by consulting the datasource documentation)
#
test_image = dataset['test_image'].read()

Optionally, inspect the image (with matplotlib, for example):

import matplotlib.pyplot as plt

plt.imshow(test_image)

Image showing test_image (a picture of a Koala)

Run a Scivision model

resnet18.predict(test_image)

Output: koala : 99.78%

Query the model and datasource catalogs

from scivision import default_catalog

# The datasource catalog as a Pandas dataframe
default_catalog.datasources.to_dataframe()

# Similarly for the model catalog
default_catalog.models.to_dataframe()

Output:

name description tasks url pkg_url format scivision_usable pretrained labels_required institution tags
0 stardist Single class object detection and segementation of star-convex polygons (<TaskEnum.object_detection: 'object-detection'>, <TaskEnum.segmentation: 'segmentation'>) https://github.com/stardist/stardist git+https://github.com/stardist/stardist.git@master image False True True ('epfl',) ('2D', '3D', 'optical-microscopy', 'xray', 'microtomography', 'cell-counting', 'plant-phenotyping', 'climate-change-and-agriculture')
1 PlantCV Open-source image analysis software package targeted for plant phenotyping (<TaskEnum.segmentation: 'segmentation'>, <TaskEnum.thresholding: 'thresholding'>, <TaskEnum.object_detection: 'object-detection'>) https://github.com/danforthcenter/plantcv git+https://github.com/danforthcenter/plantcv@main image False True True ('danforthcenter',) ('2D', 'hyperspectral', 'multispectral', 'near-infrared', 'infrared', 'plant-phenotyping', 'climate-change-and-agriculture')

Contributors

Thanks goes to these wonderful people (emoji key):

Aida Mehonic
Aida Mehonic

📋 📖 🤔
Alan R Lowe
Alan R Lowe

💻 🤔 📖 🚇 🔍
Alejandro ©
Alejandro ©

💻 🤔 🎨 💡
Beatriz Costa Gomes
Beatriz Costa Gomes

💻 🤔 📖 🎨 💡
Ben Evans
Ben Evans

🤔
Ed Chalstrey
Ed Chalstrey

💻 🤔 📖 🚇
Eriol Fox
Eriol Fox

🤔 🎨
Evangeline Corcoran
Evangeline Corcoran

💻 🤔 📖 🚇
Isabel Fenton
Isabel Fenton

💻 🤔 📖 🚇
James Parkhurst
James Parkhurst

🤔 🔣 🔌
JamesAliScott
JamesAliScott

🤔 🔣
Kasra Hosseini
Kasra Hosseini

💻 🤔 📖 🚇
Martin Rogers
Martin Rogers

🔣 💡 💻 🤔
Miquel Massot
Miquel Massot

💻 🤔 📖 🔌
Robert Blackwell
Robert Blackwell

🤔
Samuel Tonks
Samuel Tonks

💻 🤔 📖 🚇
Scott Hosking
Scott Hosking

🔍 🤔
Seb Hickman
Seb Hickman

💡 📢
louisavz
louisavz

🤔 📣 📝
nbarlowATI
nbarlowATI

🤔 📋 💡
ots22
ots22

💻 🤔 📖 🚇
pwochner
pwochner

🤔 📋 💡
vimode
vimode

🤔 🎨 💻 ️️️️♿️

This project follows the all-contributors specification. Contributions of any kind welcome!

About

scivision: a framework for scientific image analysis

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 58.8%
  • Python 39.0%
  • HTML 1.3%
  • CSS 0.9%