These Java libraries support generalized smart arrays and matrices with elements of any types. They offer a wide range of 2D, 3D, and multidimensional image processing and other algorithms that work with arrays and matrices. They are open-source and free to use.

The libraries also include skeletonization and measuring of binary images. One of the unique features of these libraries is that they use 63-bit addressing of array elements (all indexes and length are represented by 64-bit long type). This means that it is 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, so long as the OS and hardware can provide the necessary amount of memory or disk space.
One of the key concepts behind the memory model is that it allows storing AlgART arrays in different schemes, ranging 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. In addition, many algorithms are based on the wide usage of lazy evaluations.
Typical operations, such as element-wise summing or geometrical matrix transformations, are implemented via lazy views of the source array or matrix. For example, you could 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.
Furthermore, in many cases, the libraries will 'understand' itself that the user wants to perform a 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 the copying operation. These libraries are an extremely useful and powerful set of tools for anyone working with Java arrays and matrices.
Version 1.2:
Downloadable ZIP archive restructured and reduced;
new package net.algart.external added