MIA Analysis Framework
website·Indexed 30 days ago
https://mianalysis.github.ioDocumentation for the MIA analysis framework modules, featuring tools for image processing, object measurement, and image registration. Includes modules for binary operations, thresholding, object colocalisation, and affine transformations using MorphoLibJ and BUnwarpJ algorithms.
What's inside MIA
- ModularImageAnalysis (MIA) is an ImageJ plugin that provides a modular framework for assembling image and object analysis workflows. It allows users to transform, filter, measure, and relate detected objects. Workflows are batch-enabled by default, facilitating the processing of high-content datasets.
Overview of ModularImageAnalysis (MIA)
ModularImageAnalysis (MIA) is a Fiji plugin that provides a modular framework for assembling image and object analysis workflows. It includes over 200 modules for tasks such as image transformation, filtering, object detection, measurement, and visualization. MIA supports spatially-calibrated 5D images, allowing measurements to be exported in both pixel and physical units. It integrates with key ImageJ plugins including Bio-Formats, TrackMate, and Weka Trainable Segmentation.Overview of the Load image module
The Load image module is used to import images into the MIA workspace. It supports importing images from various locations, which can be specified using the 'Import mode' configuration control.Convert object collections to images
The 'Convert objects to image' module creates an image representing all objects in a specified collection. Pixel intensity is determined by object (or relative) ID numbers or metrics such as measurements and relationship counts.
Technical Constraints:
- Bit Depth: Output images are 32-bit by default. However, images created using 'Random colour' or 'Single colour' modes are 8-bit.
- Overlapping Objects: The module cannot correctly render overlapping objects (objects sharing the same coordinates). In such cases, the output image will only display the result for one of the overlapping objects.
Add text labels to objects using the add-labels module
Theadd-labelsmodule creates a visualisation overlay on a specified input image. It represents each object as a text label, which can be configured to display information such as object measurements, associated object counts, or ID numbers.Add markers at object centroids using the add-object-centroid module
Theadd-object-centroidmodule creates a visualization overlay on a specified input image. It represents every object in the dataset by placing a single marker exactly at the object's centroid.Detect circles in grayscale images using Hough transform
The Circle Detection module identifies circular objects within grayscale or binary images using the Hough transform. For the detection to work, circle features must be brighter than the surrounding background and have dark centers (forming rings). If the target objects are solid circles, a gradient filter or equivalent must be applied to the image before using this module. Detected circles are output to the workspace as solid objects. Detection is based on a user-defined radius range and a threshold score derived from the intensity of circle features and feature circularity.Calculate image measurements using the Image measurement calculator
The Image measurement calculator performs mathematical operations on measurements associated with an input image. It can replace one or both input image measurements with fixed values to derive a result. The final calculated value is then associated with the input image as a new measurement.Visualize object relationships using the add-relationship-connection overlay
The
add-relationship-connectionmodule creates line overlays that connect the centroids of two objects. This is used to visually represent relationship scenarios, including connections between:- Mutual children of the same parent object
- Partner objects
- Children and their respective parents
Filter objects by number of children
The 'Number of children' module filters an object collection based on the count of children each object has from another specified object collection. Users can define a threshold (reference value) to compare against the child count. This threshold can be:
- A fixed value (constant for all objects).
- A measurement associated with an image (constant for all objects in a single analysis run).
- A measurement associated with a parent object (variable per object).
Depending on the numeric filter chosen (e.g., less than, equal to, greater than), objects can be removed from the input collection, moved to a different collection, or simply counted. The count of objects failing the filter can be stored as metadata.
Track objects across frames using the track-objects module
Thetrack-objectsmodule links objects across different frames by creating 'parent' track objects that associate 'child' spot instances across timepoints. Track objects act as links and do not store coordinate information themselves. This module implements the Jaqaman linear assignment problem solving algorithm (via TrackMate) and uses sparse matrices to minimize memory overhead during cost calculations. Note that leading point determination is currently limited to 2D data.Manage data export and file saving in Output control
The Output control module manages data export for analysis jobs. By default, single-file analyses save the spreadsheet in the input file's location with the same name. Batch mode analyses save the spreadsheet in the input folder with the folder's name. Users can use the 'Group save location' parameter to redirect output spreadsheets to a specific directory.