Tool Download

AlgART-Java-Libraries

AlgART libraries: arrays and image processing

Tool Name:

AlgART-Java-Libraries

Tool Version: 1.2

Tool Type: Freeware

Tool Cost In: 0 US$

Tool Target Platform:

Tool OS Support: Win7 x32,Win7 x64,Windows 8,WinServer,WinMobile,WinOther,WinVista,WinVista x64,Unix,Linux,Linux Console,Linux Gnome,Linux GPL,Linux Open Source,Java

Limitations: No limitations

Tool Info URL: Click to view

Video 1: Link for download

Video 2: Link for download

Download 1: Click to download

Download 2: Click to download

Short Description:
Open-source Java libraries, supporting generalized smart arrays and matrices with elements of any types, including a wide set of of 2D-, 3D- and multidimensional image processing and other algorithms, working with arrays and matrices.

Long Description 1:
Open-source Java libraries, supporting generalized smart arrays and matrices with elements of any types, including a wide set of of 2D-, 3D- and multidimensional image processing and other algorithms. Main features: 64-bit long int indexes, memory model concept (allowing storing data in different schemes from RAM to mapped disk files), wide usage of lazy evaluations, built-in multithreading optimization for multi-core processors, etc.

Long Description 2:
Open-source Java libraries, supporting generalized smart arrays and matrices with elements of any types (1 bit, 8/16/32/64-bit integers, 32/64-bit floating point values and any other Java types). The libraries contain a wide set of 2D-, 3D- and multidimensional image processing algorithms: linear filtering, mathematical morphology, rank operations, spectral transformation (FFT), and other algorithms, working over arrays and matrices. There is also skeletonization and measuring of binary images. The libraries use 63-bit addressing of array elements (all indexes and length are represented by 64-bit long type). So, it's theoretically possible to create and process arrays and matrices containing up to 2^63-1 (~10^19) elements of any primitive or non-primitive types, if OS and hardware can provide necessary amount of memory or disk space. Memory model concept allows storing AlgART arrays in different schemes, from simple Java arrays to mapped disk files; all necessary data transfers are performed automatically while every access to an element or a block of elements. Most of algorithms are based on wide usage of lazy evaluations. Typical operations, like elementwise summing or geometrical matrix transformations, are implemented via lazy views of the source array or matrix. For example, you can take a multidimensional matrix, rotate it (or perform any other affine or projective transform), and then extract a submatrix from the result. All these operations will be performed virtually (not requiring time), and actual calculations will be performed only at the moment of accessing elements, usually while copying the resulting matrix to a newly created one. Moreover, in many cases the libraries will 'understand' itself, that the user wants to perform rotation or another transform, and will split the matrix into suitable rectangular blocks (fitting in RAM) and choose the best algorithm for this task at the moment of copying operation.