Using MIPAV Algorithms
MIPAV supports a wide range of image-processing algorithms to facilitate the quantification of data from medical images. Although MIPAV provides storage for all types of 3D volumes, most of the algorithms are designed for application to 3D datasets where all three dimensions are spatial. However, MIPAV's storage techniques do not preclude developing algorithms or visualization for datasets of any dimensionality.
Recording algorithms usage with the history feature
MIPAV provides a way for you to record the actions, whether with algorithms or utilities, that you perform on images. To turn on this feature, use the MIPAV Options dialog box. See also Debugging MIPAV and Saving a history of actions on images in Customizing MIPAV.
Introducing MIPAV algorithms
The Algorithms Table lists both the current and planned (marked as TBD) MIPAV algorithms. This table also explains what effect the algorithms have on images.
Algorithm | Effect | Image types |
---|---|---|
Interpolation methods used in MIPAV | Bilinear, Trilinear, B-spline 3-rd order, B-spline 4-th order, Cubic Lagrangian, Quintic Lagrangian, Heptic Lagrangian, and Windowed sinc | |
Cost functions used in MIPAV algorithms | ||
Autocorrelation Coefficients | The algorithm calculates autocorrelation coefficients for images | Color and black and white 3D and 4D images |
Autocovariance Coefficients | The algorithm produces auto covariance coefficients which help to provide a description of the texture or a nature of the noise structure. | Color and black and white 3D and 4D images. |
Barrel Distortion Correction | The algorithm is a cost-effective alternative to an expensive lens system | RGB and grayscale 2D images |
DTI | ||
DTI Color Display | This plug-in introduces a novel technique to visualize nerve fiber tracts in diffusion-weighted magnetic resonance imaging data | The algorithm works with any image types supported by MIPAV |
DTI Estimate tensor | This utility creates a tensor for DW image | DICOM study directory or a PAR/REC file |
DTI Pipeline | The DTI pipeline of MIPAV prepares diffusion weighted images (DWIs) and computes voxel-wise diffusion tensors (DT) for the further analysis of diffusion tensor imaging (DTI) data, see MIPAV DTI Color Display. The pipeline computes maps of diffusion eigenvalues and eigenvectors. It also determines an anatomical correspondence between DTI and structural MRI images of the same sample. | DICOM study directory, PAR/REC files, Philips DCM 4.1 &4.2, Siemens Mosaic DCM, Nifti w/ Philips Par File, GE DCM, read more... |
Edge Detection | ||
Edge Detection: Zero X Laplacian | The algorithm finds edges that form a closed contour, which completely bound an object | 2D and 3D grayscaleimages |
Edge Detection: Zero X Non-Maximum Suppression | The method produces an edge map of the zero-crossings of the non-maximum suppression for 2D and 3D images | 2D and 3D grayscaleimages |
Extract Surface: Adaptive Climbing | TBD | TBD |
Extract Surface: Tetrahedron | TBD | TBD |
Brain tools | ||
Extract Surface (Marching Cubes) | Extracts surface information from a 3D array of values | 2D and 3D MRI images |
Extract Brain: Extract Brain Surface (BET) | Extracts the surface of the brain from a T1-weighted MRI | 3D MRI images |
Extract Brain: Extract Brain Surface (BSE) | This algorithm strips areas outside the brain from a T1-weighted magnetic resonance image (MRI) | 3D MRI images |
Face Anonymizer (BET) | The algorithm extracts an approximated face from a T1-weighted MRI, eliminating facial areas outside of a certain buffer from the brain | You can apply this algorithm only to 3D T1-weighted MRI images |
Fourier Transform | ||
Fast Fourier Transformation (FFT) | Processes images by filtering in the frequency domain | Gray-scale 2D and 3D images
Conjugate, symmetric, and complex data (frequency filter or inverse FFT only) |
Filters | ||
Filters (Frequency) | Frequency filters process an image in the frequency domain | 2D and 3D grayscale images |
Filters (Spatial): Adaptive Noise Reduction | Reduces noise without blurring the edges | Color images<a name="wp1859870"></a> Black-and-white images |
Filters (Spatial): Adaptive Path Smooth | The algorithm reduces noise without blurring edges. It replaces a pixel value with a weighted sum of the local pixels on the low-cost path | Color and grayscale 2D and 3D images |
Filters (Spatial) Anisotropic Diffusion | Blurs image except across the boundaries | Grayscale images. |
Filters (Spatial): Coherence-Enhancing Diffusion | Useful for filtering relatively thin, linear structures such as blood vessels, elongated cells, and muscle fibers | All data types except complex
2D, 2.5D, and 3D images |
Filters (Spatial): Gaussian Blur | Blurs an image. This algorithm produces a similar result as applying a low-pass or smoothing filter | All image data types except Complex<a name="wp1859908"></a> 2D, 2.5D, 3D, and 4D images |
Filters (Spatial): Gradient Magnitude | Generates a strong response at the edges of an objects | All image data types except Complex
2D, 2.5D, 3D, and 4D images |
Filters (Spatial): Haralick Texture | The Haralick texture features are used for image classification. These features capture information about the patterns that emerge in the image texture | Any noncomplex 2D image |
Filters (Spatial) Laplacian | Detects edges in an image by identifying meaningful discontinuities in a gray level or color | All image data types except Complex
2D, 2.5D, and 3D images |
Filters (Spatial): Local Normalization | TBD | TBD </a> |
Filters (Spatial): Mean | Provides a simple way of reducing noise, either in an entire image, or in a delineated VOI in the image | All image data types except COMPLEX
2D and 3D images |
Filters (Spatial): Median | Removes shot noise by replacing a target pixel's value with the median value of neighboring pixels | Gray-scale 2D, 2.5D, and 3D images
Color 2D, 2.5D, and 3D images |
Filters (Spatial): Mode | Uses mode filtering (a nonlinear spatial filtering technique) to replace a target pixel with the mode of the neighboring pixels | 2D, 2.5D, and 3D images of the following data types:
BYTE and UBBYTE SHORT and USHORT INTEGER and UINTEGER |
Filters (Spatial): Nonlinear Noise Reduction | Reduces noise in an image while preserving both the underlying structure and the edges and corners | Black-and-white 2D, 2.5D, and 3D images |
Filters (Spatial): Nonmaximum Suppression | Defines the edges of an image </a> | Black-and-white 2D, 2.5D, and 3D images
Edge processing only applicable to black-and-white 2D images |
Filters (Spatial): Regularized Isotropic (Nonlinear) Diffusion | Regularized isotropic nonlinear diffusion. Diffusion filtering, which models the diffusion process, is an iterative approach of spatial filtering | All data types except complex
2D, 2.5D, and 3D images |
Filters (Spatial): Slice Averaging | Reduces image noise | All image data types
All 2D, 2.5D, and 3D images |
Filters (Spatial): Unsharp Mask | Produces a sharpened version of the image or a VOI of the image | All image data types, except complex and RGB images
2D, 2.5D, 3D, and 4D images |
Filters (Wavelet): De-noising BLS GSM | The wavelet transform or wavelet analysis is a solution to overcome the shortcomings of the Fourier transform. In wavelet analysis, the modulated window is shifted along the signal, and for every position, the spectrum is calculated. Then, this process is repeated many times with a slightly shorter (or longer) window for every new cycle. In the end, the result appears as a collection of time-frequency representations of the signal, all with different resolutions. Since the modulated window is fully scalable, this solves the signal-cutting problem which arises in the Fourier transform | This algorithm only applies to 2D black and white images |
Filters (Wavelet): Thresholding | The modulated window is shifted along the signal, and for every position, the spectrum is calculated. This process is repeated many times with a slightly shorter (or longer) window for every new cycle. The result appears as a collection of time-frequency representations of the signal, all with different resolutions. This solves the signal-cutting problem which arises in the Fourier transform | 2D and 3D datasets
RGB datasets |
Fuzzy C-Means | ||
Fuzzy C-Means: Multispectral and Single Channel Algorithms | Performs both hard and soft segmentation on multiple images | 2D and 3D datasets
RGB datasets |
Histogram tools | ||
2D Histogram | The algorithm takes as an input two grayscale images or one color image, and then creates a 2D histogram image based on the data from two input images | Color and black-and-white images 2D and 3D images |
Cumulative Histogram | Calculates the cumulative histogram for a chosen image. | 2D, 2.5D and 3D grayscale and color (RGB) images. For RGB images the algorithm will display a separate cumulative histogram for each channel (R, G, and B). |
Histogram Equalization: Neighborhood Adaptive | Enhances the contrast in an image by reevaluating the gray-scale or intensity value of each pixel based on a region of nearby pixels | Color image Black-and-white images |
Histogram Equalization: Regional Adaptive | Enhances the contrast in an image | Color images
Black-and-white images Whole images, not VOIs |
Histogram Matching | The algorithm generates an output image based upon a specified histogram | Color and black-and-white 2D and 3D images |
Histogram summary | Displays frequency distribution information for a chosen image | All image types |
Image calculator | ||
Image Calculator | Adds, subtracts, multiplies, and divides, etc. the pixel values of one image by the pixel values of another image. Two images can also be ANDed, ORed or XORed together. More advanced math operators available via the dialog text field. See also: MIPAV Volume1 User Guide. | 2D and 3D color and grayscale images |
Image Math | The algorithm adds, subtracts, multiplies, or divides an image by a user specified value. The square root, absolute value, or log of an image also can be calculated. See also: MIPAV Volume1 User Guide. | 2D and 3D grayscale images |
InsightToolkit (ITK) | ||
ITK | This technical guide explains how to integrate Kitware's InsightToolkit (ITK) with MIPAV. See ITK documentation in PDF | |
Levelset tools | ||
Levelset | See also: Delineating volumes of interest (VOIs) | TBD |
Mask tools | ||
Mask | Generates a mask, with a specified intensity, of the region inside or outside the contoured VOIs that are delineated on an image | 2D, 2.5D, 3D, and 4D images, not RGB images |
Quantify Mask | There are two similar algorithms Quantify Mask(s) and Quantify Using Mask that calculate Center of Mass, area (in resolutions), and number of pixels for a selected mask(s). See also: MIPAV Volume1 User Guide. | Algorithms work with Boolean, byte, unsigned byte, and short masks |
Microscopy | ||
Microscopy: Blind Deconvolution | Recovers a target object from a set of blurred images in the presence or a poorly determined or unknown Point Spread Function (PSF) | 2D and 3D images, color and grayscale |
Microscopy Colocalization Orthogonal Regression | Provides an automatic method of quantifying the amount of colocalization in images | Color and black-and-white 2D or 3D images |
Microscopy: FRAP (Fluorescence Recovery After Photobleaching) | Determines an association rate, dissociation rate, and diffusion transfer coefficient in | Color and black-and-white 3D images |
Microscopy: Fluorescent Resonance Energy Transfer (FRET) Bleed Through and Efficiency | This section provides information on and discusses how to use the following two FRET algorithms: FRET Bleed Through algorithm and FRET Efficiency algorithm. | Three 2D images |
Microscopy (Restoration): Computational Optical Sectional Microscopy (COSM) | This algorithm removes out-of-focus light in 3D volumes collected plane by plane using either widefield or confocal fluorescence microscopes | All types of 3D microscopy images that can be opened in MIPAV |
Morphology | ||
Morphology: Background Distance map | This operation converts a binary image into an image where every foreground pixel has a value corresponding to the minimum distance from the background | All Morphology operations can be applied to the images of the following types Boolean -1 bit per pixel/voxel (1 on, 0 off
Unsigned byte -1 byte per pixel/voxel (0, 255) Unsigned short -2 bytes per pixel/voxel (0, 65535) |
Morphology: Close | Performs Morphology closing for a selected image | |
Morphology: Delete Objects | Deletes objects larger and or smaller than the indicated maximum/minimum size | |
Morphology:Dilate | Dilates the image using the user specified structural element | |
Morphology: Distance Map | The algorithm uses the Euclidean distance metric to calculate a distance map for a selected image or image region | |
Morphology: Erode | Erodes the image using the user specified structural element | |
Morphology: Evaluate Segmentation | Compares segmentation results of a test image to segmentation results of an ideal gold standard true image | |
Morphology: Fill holes | Fills holes in a selected image | |
Morphology: Find Edges | Finds the edges of the objects in an image using combinations of the following Morphology operations: dilation, erosion and XOR | |
Morphology: ID objects | The algorithm labels each object in a selected image with a different integer value and also deletes objects which are outside of the user defined threshold | |
Morphology: Morphological filter | It corrects a selected image for non-uniform illumination and non-uniform camera sensitivity | |
Morphology: Open | Perform Morphology opening of the selected image using the user specified structural element | |
Morphology: Particle Analysis | Generates the information on the particle composition for the binary images | |
Morphology: Skeletonize | Skeletonizes the image by means of a lookup table, which is used to repeatedly remove pixels from the edges of objects in a binary image, reducing them to single pixel wide skeletons | |
Morphology: Skeletonize 3D pot field | The algorithm uses an iterative approach to simultaneously produce a hierarchical shape decomposition of a selected image and create a corresponding set of multi-resolution skeletons | |
Morphology: Ultimate Erode | Generates the ultimate eroded points (UEPs) of an Euclidian distance map for an image | |
End of Morphology | ||
Muscle segmentation | ||
Muscle Segmentation - Abdomen Segmentation | This is a semi automatic tool for segmenting different muscles and muscles and fat in Computed Tomography (CT) images of the thigh and abdomen | Any CT image of the thighs and abdomen that can currently be opened by MIPAV |
Noise | Adding noise to images allows you to test the robustness and performance of an algorithm in the presence of known amounts of noise. | TBD |
Plot Surface | TBD | TBD |
Principal Component | TBD | TBD |
Randomizing image (slice) order | Randomizes the order of slices in the image dataset | 3D images |
Registration | ||
Registration: AFNI-Shear | TBD | TBD |
Registration: AIR Linear | TBD | TBD |
Registration: AIR Nonlinear | TBD | TBD |
Registration: B-Spline Automatic Registration | B-spline based registration of images in two and three dimensions | 2D and 3D color (RGB) and grayscale images |
Registration: Patient Position (DICOM) | The method uses the image origin coordinates and image orientations to align DICOM images based on a patient position | DICOM images |
Registration: Display Pixel Similarity Cost Functions | The algorithm calculates costs for various voxel similarity cost functions that are used in registration and output them to the Output window | Color, grayscale, and black and white 2D and 3D images |
Registration: Landmark-Least Squares | Registers an image to the reference image by using corresponding points placed in both images | 2D and 3D gray-scale and color images |
Registration: Landmark-TPSpline | Registers two images in a nonlinear manner using the corresponding landmark points that you delineate in both of the images | All 2D and 3D images |
Registration: Manual 2D Series | Registers manually or semimanually two images by placing corresponding points on both imagoes and then, applying either the Landmark-Thin Plate Spline or Landmark-Least Squares algorithm | All 2D gray-scale and color images |
Registration: Midsagittal line alignment | Used for the automatic detection of the midsagittal line in 2D and midsagittal plane in 3D brain images | Color and black-and-white 3D images |
Registration: Mosaic Registration | This is a user interface for a semi-manual image registration. It allows the user, first, manually aligns two images using a mouse, and then it calls the Optimized Automatic Registration 2D algorithm for further precise registration | Color, grayscale, and black and white 2D images |
Registration: NEI Build MP maps plug in | The method includes the measurements of MP that are performed by analysis of autofluorescence (AF) images and building the MP maps | 2D retinal images |
Registration: Optimized automatic registration 3D and 3.5D | Determines a transformation that minimizes a cost function, which represents the quality of alignment between two images | Color, grayscale, and black and white 3D images |
Registration: Reslice-Isotropic Voxels | Applies image resampling | All image data types except RGB and complex |
Registration: Time Series Optimized Automatic Registration | Registers individual 3D volumes within a 4D time series to a reference volume | Both 4D color and gray-scale images |
Shading correction | ||
Shading Correction: Inhomogeneity N3 Correction | Corrects for shading artifacts often seen in MRI | 2D and 3D MRI images |
Talairach Space | ||
Labeling and Measuring Brain Components in Talairach Space | How to use the TalairachTransformation wizard and the FANTASM (Fuzzy and Noise Tolerant Adaptive Segmentation Method) plug-in programs, which were developed by the Johns Hopkins University, with MIPAV | |
Threshold< | ||
Standard Deviation Threshold | Standard Deviation Threshold works by, first, examining an active VOI for which the standard deviation (st.dev) of pixel intensities and other statistics are calculated. The algorithm, then, thresholds an image using the user defined parameters, such as a number of standard deviations and/or values outside of the range | 2D, 3D, and 4D color (RGB) and grayscale images |
Threshold | The algorithm replaces the image pixel values with the fill values specified by a user. The pixel values change or remain unchanged depending on whether the original color value is within the threshold range | All 2D, 3D, and 4D color (RGB) and grayscale images |
Stereo Depth | TBD | TBD |
Subsampling images | Reduces an image in size by a chosen factor of 2, 4, or 8 times | All image types |
Subtract | ||
Subtract VOI Background | TBD | TBD |
Transformation<a name="wp1860758"></a> | ||
Transform to power of | The algorithm resamples the original image to dimensions that are powers of 2 | Color and black-and-white 2D and 3D images |
Transform | Offers multiple options that help a user to define the transformation matrix, and then execute the transformation and (or) resampling | Color and black-and-white 2D, 2.5D, 3D, and 4D images |
Transform: Conformal Mapping Algorithms Circular Sector to Rectangle Transformation: Circle to Rectangle Transformation: Ellipse to Circle Transformation: Nearly Circular Region to Circle | The methods described in this document use conformal mapping to transform points in a circular sector, circle, ellipse, or nearly circular region to points in a circle or rectangle | All ultrasound images that can be opened in MIPAV and also 2D color and black and white images |
Transform Nonlinear | The algorithm takes a source image and uses information read in from a nonlinear transformation (.nlt) file to perform a nonlinear B-Spline transformation on the image | Color (RGB) and grayscale 2D and 3D images |
Watershed | ||
Watershed | This is an interactive algorithm that allows automatically segment the image regions of interest using the topographical approach | 2D and 3D grayscale images |