ImageDev

The ImageDev library allows easy integration of advanced 2D and 3D image processing and analysis capabilities into imaging software applications. ImageDev is available for Windows and Linux operating systems, in C++, C#, and Python languages.

Introduction to ImageDev

Specifically designed for application developers, the ImageDev software development toolkit (SDK) allows easy integration of advanced 2D and 3D image processing and analysis capabilities into imaging software applications in various domains such as medical and life sciences, industrial inspection, materials science, and geosciences.
ImageDev can process a wide range of image data, including 2D and 3D, grayscale, color and spectral, various bit-depth images, data from X-ray tomography, electron and optical microscopy, MRI, or other image acquisition systems.

ImageDev helps to implement automated image processing and analysis workflows and provides software users with faster, more accurate, and more complete insight into their data.
The ImageDev SDK provides an extensive collection of high-performance parallelized 2D/3D image processing and analysis operators to implement application workflows, including:
<b> Figure 1.</b> Role of ImageDev in an image analysis workflow (red boxes)
Figure 1. Role of ImageDev in an image analysis workflow (red boxes)

System Requirements

$$ \begin{array}{|l|l|l|} \hline \textbf{} & \textbf{Minimum Requirement} & \textbf{Recommended Requirement} \\ \hline \textbf{Architecture} & \mbox{64-bit} & \mbox{64-bit with SSE, AVX or AVX 2 instruction set} \\ \hline \textbf{Windows Operating System} & \mbox{Windows 10} & \mbox{Windows 10} \\ \hline \textbf{Linux Operating System} & \mbox{Ubuntu 18.04} & \mbox{Ubuntu 20.04} \\ \hline \textbf{CPU} & \mbox{2 GHz processor / 4 logical processors} & \mbox{3 GHz processor / 8 logical processors} \\ \hline \textbf{Memory} & \mbox{4 GB of RAM }& \mbox{2D: 8 GB, 3D: 32 GB} \\ \hline \textbf{Free Space} & \mbox{1 GB }& \mbox{100 GB} \\ \hline \textbf{Windows C++ Compiler} & \mbox{VC 15}& \mbox{VC 16} \\ \hline \textbf{Linux C++ Compiler} & \mbox{GCC 7}& \mbox{GCC 9.X} \\ \hline \textbf{Windows .NET Implementation} & \mbox{.NET Framework 4.6}& \mbox{.NET 6.0} \\ \hline \textbf{Linux .NET Implementation} & \mbox{.NET Core 2.1}& \mbox{.NET 6.0} \\ \hline \textbf{Windows Python Version} & \mbox{Python 3.7}& \mbox{Python 3.10} \\ \hline \textbf{Linux Python Version} & \mbox{Python 3.8}& \mbox{Python 3.10} \\ \hline \end{array} $$ Note: Most ImageDev algorithms are CPU parallelized. However, if the computation time scales well with the CPU clock speed, it does not with the number of threads. Generally, more than 8 threads is useless. For instance, a system with 3.2 GHz and 8 threads processor configuration will run ImageDev algorithms faster than a system with 2.7 GHz and 32 threads.

A multi language documentation

ImageDev respects the naming conventions of each language for which it is wrapped. The ImageDev documentation is a common guide for all supported languages. ImageDev algorithm documentation details the syntax in each language through three different tabs for:
<b> Figure 2.</b> Multi language programming syntax
Figure 2. Multi language programming syntax

In other places, the name of algorithms and parameters are cited with the C++ class naming conventions.