AlgART Java libraries for processing arrays and matrices are open-source product, distributed under MIT license. So, anyone can use them for free without any restrictions.
Main features: 63-bit addressing of array elements (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, wide set of image processing algorithms over matrices, etc. - please see at the site. Almost all classes and methods are thoroughly documented via JavaDoc (you may read full JavaDoc at the site).
- 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.
- Wide usage of lazy evaluations: most of 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 library 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.
- Wide set of image processing algorithms over matrices: linear filtering, mathematical morphology, rank operations, spectral transformation (FFT), etc.
- Skeletonization and measuring of binary images.
- Built-in multithreading optimization for multi-core processors for most algorithms.
Be the first to post a review of AlgART Java Libraries!