CVIPtools

Last updated
CVIPtools
Original author(s) Scott E Umbaugh
Stable release
5.9h / 2023 June (2023 June)
Written in C, C++, C#
Operating system Windows, Unix
Available inEnglish
Type Image processing
License Freeware
Website cviptools.siue.edu

CVIPtools (Computer Vision and Image Processing Tools) is an open-source development suite for image processing. [1] Recent versions are available for free for Windows, while older versions are available for Unix and Linux systems as well. [2] [3] The program is used for both image processing and computer vision applications, with an emphasis on processing multiple images at a time. [1] [4] It contains multiple tools used for image processing.

Contents

Features

CVIPtools read various image formats, including TIFF, PNG, GIF, JPEG, BMP, and RAW formats. It supports standard image processing functions, image compression, restoration, logical and arithmetical operations between images, contrast manipulation, image sharpening, frequency transform, edge detection, segmentation, and geometric transformations. [3]

CVIP-ATAT

The Computer Vision and Image Processing Algorithm Test and Analysis Tool, CVIP-ATAT, is used to create both human and computer vision applications. Its primary use is to execute algorithms for processing multiple images at a time, incorporating various algorithmic and parameter variations. The program determines a suitable algorithm for pre-processing, segmenting, and post-processing a set of images for a specific application, in order to distinguish crucial regions of interest within the image.

CVIP-ATAT provides a graphical user interface (GUI) to input algorithms for testing and analysis. Users can define multiple processes to test at each stage along with parameter ranges for these processes. Additionally, users can specify a group of images for processing and a set of "ideal" output images to evaluate the success of each algorithm. Each algorithm is characterized by a specific set of processes and parameter values.

The tool automatically executes algorithms consisting of permutations of values for each parameter across processes and stages. Users can compare the outcomes of various algorithms to identify the optimal set of processes and parameters for the specific application. It serves as a front-end tool for image analysis, aiming to help identify the most efficient set of processes and parameters for extracting regions of interest in an image for further processing. [5]

CVIP-FEPC

The Computer Vision and Image Processing Feature Extraction and Pattern Classification Tool, CVIP-FEPC, is used for advancing human and computer vision applications. While its primary function is computer vision, it serves various purposes such as supporting the development of image compression schemes for human vision applications by identifying image features needed for a specific compression scheme. In computer vision applications, feature extraction and pattern classification form the fundamental components of image analysis systems made for specific applications.

CVIP-FEPC's main function is batch processing of large image sets. Users can select features and pattern classification parameters to automatically process these image sets. CVIP-FEPC allows users to define training and test sets and conducting multiple experiments to identify parameters for classifying objects of interest in the images.

CVIP-FEPC is primarily designed to work with images containing binary masks representing individual objects of interest, with one object per image. It is compatible with manually created masks using CVIP tools or other tools available in various image database applications. Users load images, specify classes, select features and the test set, choose pattern classification parameters, and initiate the processing of the image set. Subsequently, an output file containing the experiment results is generated. [6]

CVIP Toolbox for MATLAB

The CVIP Toolbox contains library functions for use in MATLAB. The functions it includes are: arithmetic and logic functions, banding, coloring, conversion of image files, edge/line detection, geometry, histograms, mapping, morphological functions, noise filters, objective fidelity metrics, pattern classification and classification algorithms, segmentation, spatial filters, and transformation filters. The CVIP Toolbox also includes a CVIPlab skeleton program and a utility function for batch processing. [7]


Related Research Articles

<span class="mw-page-title-main">MATLAB</span> Numerical computing environment and programming language

MATLAB is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages.

Pattern recognition is the task of assigning a class to an observation based on patterns extracted from data. While similar, pattern recognition (PR) is not to be confused with pattern machines (PM) which may possess (PR) capabilities but their primary function is to distinguish and create emergent pattern. PR has applications in statistical data analysis, signal processing, image analysis, information retrieval, bioinformatics, data compression, computer graphics and machine learning. Pattern recognition has its origins in statistics and engineering; some modern approaches to pattern recognition include the use of machine learning, due to the increased availability of big data and a new abundance of processing power.

<span class="mw-page-title-main">Image registration</span> Mapping of data into a single system

Image registration is the process of transforming different sets of data into one coordinate system. Data may be multiple photographs, data from different sensors, times, depths, or viewpoints. It is used in computer vision, medical imaging, military automatic target recognition, and compiling and analyzing images and data from satellites. Registration is necessary in order to be able to compare or integrate the data obtained from these different measurements.

<span class="mw-page-title-main">Image segmentation</span> Partitioning a digital image into segments

In digital image processing and computer vision, image segmentation is the process of partitioning a digital image into multiple image segments, also known as image regions or image objects. The goal of segmentation is to simplify and/or change the representation of an image into something that is more meaningful and easier to analyze. Image segmentation is typically used to locate objects and boundaries in images. More precisely, image segmentation is the process of assigning a label to every pixel in an image such that pixels with the same label share certain characteristics.

In computer vision, the Marr–Hildreth algorithm is a method of detecting edges in digital images, that is, continuous curves where there are strong and rapid variations in image brightness. The Marr–Hildreth edge detection method is simple and operates by convolving the image with the Laplacian of the Gaussian function, or, as a fast approximation by difference of Gaussians. Then, zero crossings are detected in the filtered result to obtain the edges. The Laplacian-of-Gaussian image operator is sometimes also referred to as the Mexican hat wavelet due to its visual shape when turned upside-down. David Marr and Ellen C. Hildreth are two of the inventors.

<span class="mw-page-title-main">Thresholding (image processing)</span> Image segmentation algorithm

In digital image processing, thresholding is the simplest method of segmenting images. From a grayscale image, thresholding can be used to create binary images.

An active appearance model (AAM) is a computer vision algorithm for matching a statistical model of object shape and appearance to a new image. They are built during a training phase. A set of images, together with coordinates of landmarks that appear in all of the images, is provided to the training supervisor.

Mean shift is a non-parametric feature-space mathematical analysis technique for locating the maxima of a density function, a so-called mode-seeking algorithm. Application domains include cluster analysis in computer vision and image processing.

Chronux is an open-source software package developed for the loading, visualization and analysis of a variety of modalities / formats of neurobiological time series data. Usage of this tool enables neuroscientists to perform a variety of analysis on multichannel electrophysiological data such as LFP, EEG, MEG, Neuronal spike times and also on spatiotemporal data such as FMRI and dynamic optical imaging data. The software consists of a set of MATLAB routines interfaced with C libraries that can be used to perform the tasks that constitute a typical study of neurobiological data. These include local regression and smoothing, spike sorting and spectral analysis - including multitaper spectral analysis, a powerful nonparametric method to estimate power spectrum. The package also includes some GUIs for time series visualization and analysis. Chronux is GNU GPL v2 licensed.

<span class="mw-page-title-main">Orfeo toolbox</span>

In computer science, Orfeo Toolbox (OTB) is a software library for processing images from Earth observation satellites.

<span class="mw-page-title-main">Ecolego</span>

Ecolego is a simulation software tool that is used for creating dynamic models and performing deterministic and probabilistic simulations. It is also used for conducting risk assessments of complex dynamic systems evolving over time.

Chessboards arise frequently in computer vision theory and practice because their highly structured geometry is well-suited for algorithmic detection and processing. The appearance of chessboards in computer vision can be divided into two main areas: camera calibration and feature extraction. This article provides a unified discussion of the role that chessboards play in the canonical methods from these two areas, including references to the seminal literature, examples, and pointers to software implementations.

<span class="mw-page-title-main">Saliency map</span>

In computer vision, a saliency map is an image that highlights the region on which people's eyes focus first. The goal of a saliency map is to reflect the degree of importance of a pixel to the human visual system. For example, in this image, a person first looks at the fort and light clouds, so they should be highlighted on the saliency map. Saliency maps engineered in artificial or computer vision are typically not the same as the actual saliency map constructed by biological or natural vision.

<span class="mw-page-title-main">Aphelion (software)</span> Image processing and analysis software suite

The Aphelion Imaging Software Suite is a software suite that includes three base products - Aphelion Lab, Aphelion Dev, and Aphelion SDK for addressing image processing and image analysis applications. The suite also includes a set of extension programs to implement specific vertical applications that benefit from imaging techniques.

In image processing, line detection is an algorithm that takes a collection of n edge points and finds all the lines on which these edge points lie. The most popular line detectors are the Hough transform and convolution-based techniques.

Elastix is an image registration toolbox built upon the Insight Segmentation and Registration Toolkit (ITK). It is entirely open-source and provides a wide range of algorithms employed in image registration problems. Its components are designed to be modular to ease a fast and reliable creation of various registration pipelines tailored for case-specific applications. It was first developed by Stefan Klein and Marius Staring under the supervision of Josien P.W. Pluim at Image Sciences Institute (ISI). Its first version was command-line based, allowing the final user to employ scripts to automatically process big data-sets and deploy multiple registration pipelines with few lines of code. Nowadays, to further widen its audience, a version called SimpleElastix is also available, developed by Kasper Marstal, which allows the integration of elastix with high level languages, such as Python, Java, and R.

Soft computing is an umbrella term used to describe types of algorithms that produce approximate solutions to unsolvable high-level problems in computer science. Typically, traditional hard-computing algorithms heavily rely on concrete data and mathematical models to produce solutions to problems. Soft computing was coined in the late 20th century. During this period, revolutionary research in three fields greatly impacted soft computing. Fuzzy logic is a computational paradigm that entertains the uncertainties in data by using levels of truth rather than rigid 0s and 1s in binary. Next, neural networks which are computational models influenced by human brain functions. Finally, evolutionary computation is a term to describe groups of algorithm that mimic natural processes such as evolution and natural selection.

<span class="mw-page-title-main">CrysTBox</span> Free crystallographic software

CrysTBox is a suite of computer tools designed to accelerate material research based on transmission electron microscope images via highly accurate automated analysis and interactive visualization. Relying on artificial intelligence and computer vision, CrysTBox makes routine crystallographic analyses simpler, faster and more accurate compared to human evaluators. The high level of automation together with sub-pixel precision and interactive visualization makes the quantitative crystallographic analysis accessible even for non-crystallographers allowing for an interdisciplinary research. Simultaneously, experienced material scientists can take advantage of advanced functionalities for comprehensive analyses.

References

  1. 1 2 "DIP Software". Imageprocessingplace.com. Retrieved 8 June 2018.
  2. "Welcome to CVIPtools at SIUE". CVIPtools. Southern Illinois University Edwardsville. 31 December 2023. Retrieved 31 December 2023.
  3. 1 2 "CVIPtools for Linux". FileForum.betanews.com. Retrieved 8 June 2018.
  4. Mishra, Deependra K.; Umbaugh, Scott E.; Lama, Norsang; Dahal, Rohini; Marino, Dominic J.; Sackman, Joseph (2016-09-27). Tescher, Andrew G. (ed.). "Image processing and pattern recognition with CVIPtools MATLAB toolbox: automatic creation of masks for veterinary thermographic images". Nasa/Ads. Applications of Digital Image Processing XXXIX. 9971: 99713G. doi:10.1117/12.2238183. S2CID   64418652.
  5. Umbaugh, Scott E (2018). Digital Image Processing and Analysis : Applications with Matlab and CVIP tools (3rd ed.). Boca Raton, FL: CRC Press. ISBN   978-1-4987-6602-9.
  6. Umbaugh, Scott E (2018). Digital Image Processing and Analysis : Applications with Matlab and CVIP tools (3rd ed.). Boca Raton, FL: CRC Press. ISBN   978-1-4987-6602-9.
  7. Umbaugh, Scott E (2018). Digital Image Processing and Analysis : Applications with Matlab and CVIPtools (3rd ed.). Boca Raton, FL: CRC Press. ISBN   978-1-4987-6602-9.