ImJoy: Deep Learning Made Easy!
New: We now provide ImJoy Docs, so you can now easily make interactive documentation for your ImJoy plugins.
New: ImageJ.JS is our recent effort to make ImageJ running in the browser and integrated with ImJoy.
ImJoy is a plugin powered hybrid computing platform for deploying deep learning applications such as advanced image analysis tools.
ImJoy runs on mobile and desktop environment cross different operating systems, plugins can run in the browser, localhost, remote and cloud servers.
With ImJoy, delivering Deep Learning tools to the end users is simple and easy thanks to its flexible plugin system and sharable plugin URL. Developer can easily add rich and interactive web interfaces to existing Python code.
Checkout the documentation for how to get started and more details for how to develop ImJoy plugins: ImJoy Docs
Support mobile devices
Rich and interactive user interface powered by web technologies
Easy-to-use workflow composition
Isolated workspaces for grouping plugins
Self-contained plugin prototyping and development
Powerful and extendable computational backends for browser, local and cloud computing
ImJoy greatly accelerates the development and dissemination of new tools. You can develop plugins in ImJoy, deploy the plugin file to Github, and share the plugin URL through social networks. Users can then use it by a single click, even on a mobile phone
The easiest way to try ImJoy is to start with a plugin running directly in the browser.
For example, you can install our
Image Recognitionplugin with this link. Clicking the link will open the ImJoy Web App and show a dialog to confirm the installation of the plugin. Once installed, you can launch the plugin by clicking the button
Image Recognitionin the plugin menu on the left. The demo plugin will run a trained deep neural network model (MobileNet) to perform image classification (e.g. identifying an elephant in an image).
This plugin uses your browser as its computational backend, so all computation is done locally, no data will be sent to a remote server.
Besides running plugins in the browser, ImJoy provides the flexibility to keep the GUI locally in your browser, and perform computational tasks with Python. These computations can be performed on your computer utilising the full power of the local GPU/CPU. The computational backend can also be launched on remote servers including cloud servers on Amazon, Google Compute, or an institutional computing cluster.
Previously, running Python plugins would require installation of the Plugin Engine. However, now we have added experimental support for running Python plugins via the servers provided by MyBinder.org. You can try for example the DeepBindScan plugin without any installation.
To learn more details about ImJoy, please go to ImJoy Docs.
This is a non-exhaustive list of the open-source tools and libraries we used in ImJoy:
We thank all the authors for offering these excellent work to the open-source community.
Please star the ImJoy GitHub repository to support ImJoy.
If you use ImJoy in your project, please add one of the badges to your code repository or website: , see how to add an ImJoy badge.
We would like ImJoy to be a community driven framework, everyone is welcome to contribute your idea, feedback, plugins and code to the project.
If you are interested in contributing to the project, please read our guideline here.
Please cite our paper on Nature Methods (https://www.nature.com/articles/s41592-019-0627-0, free access: https://rdcu.be/bYbGO ):
Ouyang, W., Mueller, F., Hjelmare, M. et al. ImJoy: an open-source computational platform for the deep learning era. Nat Methods (2019) doi:10.1038/s41592-019-0627-0
Help us keep the ImJoy community open and inclusive. Please read and follow our Code of Conduct.