Plugins
Back to MIB | User Interface
Overview
Plugins in Microscopy Image Browser (MIB) extend its functionality beyond core features, allowing users to customize workflows, integrate new tools, and automate tasks. This page provides an overview of how plugins work, how to access them, and a list of commonly used plugins available in MIB.
- Plugins are typically written in MATLAB and stored in the
Plugins
directory of your MIB installation. - Access plugins via the Menu -> Plugins menu.
Managing plugins
Plugins in Microscopy Image Browser (MIB) are organized in a two-tier structure under the Plugins
folder within your MIB installation directory (e.g., C:\MIB\Plugins\
).
This structure helps categorize and manage plugins efficiently:
- First Tier (Categories): Defines broad plugin categories, such as
File Processing
orOrganelle Analysis
. These are subfolders directly underPlugins
. - Second Tier (Plugins): Contains individual plugins within each category folder. For example, the image above shows the
File Processing
category with two plugins:ImageConverter
andMultiRenameTool
.
MIB automatically detects and integrates plugins when you start the application, provided they are correctly placed in this structure. No additional configuration is typically needed for detection.
The plugins are automatically detected and connected by MIB.
Plugins in the compiled version
For plugins to work in the standalone (compiled) version of MIB, they must be:
- Compiled: ensure the plugin’s MATLAB code is compiled into a format compatible with the standalone executable (e.g., using MATLAB Compiler).
- Included: Include the plugins into Files installed for your end user in the place the original plugin in deploytool of MATLAB
Files installed for your end user
- Once included, MIB will automatically detect and connect these plugins upon launch. Uncompiled
.m
files won’t work in the standalone version without additional setup.
To remove a plugin:
- Navigate to the
Plugins
folder in your MIB installation. - Delete the plugin’s folder (e.g.,
Plugins\File Processing\ImageConverter
). - Restart MIB to update the plugin list.
Available plugins
The table below lists plugins bundled with MIB.
Plugin Category | Plugin Name | Description |
---|---|---|
File Processing | Image Converter | Batch converts images from any MIB-supported format (e.g., NRRD, HDF5) to AM, JPG, PNG, TIF, or XML-header formats. |
Multi Rename Tool | Renames multiple files in bulk, with options to adjust digit padding (e.g., img001 to img1 ) and perform search-and-replace operations. |
|
Intensity Analysis | Triple Area Intensity | Measures intensity across multiple adjacent regions (e.g., different materials) and corrects values using a background reference for accurate analysis. |
Organelle Analysis | Granularity | Analyzes model granularity, such as the ratio of sheets to tubules in endoplasmic reticulum (ER) morphology, aiding in structural studies. |
MCcalc | Uses ray-tracing to detect and quantify contacts between organelles (e.g., mitochondria and ER), ideal for spatial relationship studies. | |
Surface Area 3D | Computes the surface area of 3D-segmented objects, useful for volumetric analysis of organelles or structures. | |
Thres Analysis for Objects | Analyzes intensity properties of segmented objects with customizable thresholding, enhancing object-specific measurements. | |
Plasmodesmata | Cell Wall Thickness | Measures plant cell wall thickness in volume electron microscopy datasets, tailored for plasmodesmata research in plant biology. |
Spatial Control Points | Generates sets of random points along an object’s centerline (e.g., plasmodesmata), useful for spatial distribution analysis. | |
Tutorials | GUI Tutorial | Guides users through creating a plugin with a MATLAB GUIDE-based graphical interface, ideal for learning plugin development. |
MIB App Design Plugin | Provides a minimal example of a plugin built with MATLAB’s App Designer framework, showcasing modern UI development. | |
MIB Plugin | Offers a basic example of a plugin using the GUIDE framework, suitable for beginners in MIB plugin creation. | |
MIB Plugin Without GUI | Demonstrates a simple plugin without a graphical interface, focusing on backend functionality for quick scripting. |
Writing your own plugins
MIB supports custom plugin development in MATLAB.
Check the Programming tutorials section on MIB website for details.
MIB is compatible with 3 types of plugins:
Plugins without GUI
The simplest configuration, easy to implement. Suitable to perform specific operation with limited interaciton with the user.
Example
check Development\mibPlugin_withoutGUI\
for example
Plugins with GUI written with GUIDE
GUIDE is the original framework of MATLAB for development of tools with user interface (check Development\mibPlugin_withoutGUI\
for example).
Examples
- check
Development\mibPluginGUI_ver1\
for example of a basic plugin - check
Development\mibPluginGUI_ver2_Batch_compatible\
for example of a plugin compatible with batch processing operations (Menu->File->Batch processing) - check
Development\ccreating GUI with guide.pdf
for instructions on how to adapt the example towards a new plugin
GUIDE is going to be removed from MATLAB
GUIDE is expected to be removed in R2025a, but the syntax will still be working in MATLAB and MIB
Plugins with GUI written using AppDesigner
AppDesigner is a newer framework with many features. It is typically recommended for GUI development with MIB
Examples
- check
Development\mibPluginGUI_ver3_appDesigner\
for example of a plugin compatible with batch processing operations (Menu->File->Batch processing) - check
Development\creating GUI with appdesigner.pdf
for instructions on how to adapt the example towards a new plugin
Writing your own plugins
Microscopy Image Browser (MIB) supports custom plugin development in MATLAB, allowing users to tailor functionality to their specific needs. For detailed guidance, refer to the Programming Tutorials section on the MIB website, which includes step-by-step examples and best practices.
MIB is compatible with three types of plugins, each suited to different levels of complexity and user interaction.
Plugins without GUI
This is the simplest plugin type, ideal for performing specific operations with minimal user interaction. These plugins are lightweight, typically consisting of a single .m
file that executes a predefined task without a graphical interface.
Example
- Location: Check the
Development\mibPlugin_withoutGUI\
folder in your MIB installation. - Purpose: Demonstrates a basic script that processes data directly (e.g., applying a filter to the current image).
- Use Case: Perfect for quick automation tasks, such as batch-converting file formats or applying a fixed transformation.
Plugins with GUI written with GUIDE
GUIDE is MATLAB’s original framework for creating tools with graphical user interfaces (GUIs). Plugins built with GUIDE offer interactive controls (e.g., buttons, sliders) and are well-suited for tasks requiring user input.
Examples
- Basic Plugin:
- Location:
Development\mibPluginGUI_ver1\
- Description: A simple GUIDE-based plugin with a minimal interface, useful as a starting point for customization.
- Location:
- Batch-Compatible Plugin:
- Location:
Development\mibPluginGUI_ver2_Batch_compatible\
- Description: Extends the basic plugin to support batch processing, integrating with Menu -> File -> Batch Processing. Ideal for repetitive tasks across multiple datasets.
- Location:
- Instructions:
- File:
Development\creating GUI with guide.pdf
- Content: A guide on adapting these examples to create your own GUIDE-based plugin.
- File:
GUIDE is scheduled for removal from MATLAB
MATLAB plans to discontinue GUIDE in release R2025a. While existing GUIDE plugins will remain functional in MIB and MATLAB beyond this date, new development should consider App Designer for future-proofing. Check MathWorks documentation for updates on this transition.
Plugins with GUI written using App Designer
App Designer is MATLAB’s modern framework for GUI development, offering enhanced features like responsive layouts, better component libraries, and improved integration with MATLAB’s ecosystem. It’s the recommended choice for new plugin development in MIB.
Examples
- Batch-Compatible Plugin:
- Location:
Development\mibPluginGUI_ver3_appDesigner\
- Description: An App Designer-based plugin supporting batch processing (see Menu -> File -> Batch Processing). It showcases interactive controls and data handling in a modern interface.
- Location:
- Instructions:
- File:
Development\creating GUI with appdesigner.pdf
- Content: A tutorial on modifying this example to build your own plugin.
- File:
Why choose App Designer?
- Modern Features: Supports responsive UIs, modern MATLAB objects (e.g.,
uitable
), and easier debugging. - Future-Proof: Unlike GUIDE, App Designer is actively supported and aligns with MATLAB’s long-term direction.
Back to MIB | User Interface