AlgART Java Libraries has functions to help array, matrices and image processing operations. It supports 1 bit, 8/16/32/64-bit integers, 32/64-bit floating point values and other Java types. Types supported include a wide set of 2D-, 3D- and multidimensional image processing and other algorithms that work with arrays and matrices. These are free source libraries and can be used freely by anyone. The library can support a huge array. 63-bit addressing of array elements is supported. Indexes and length are represented by 64-bit long type. Most often it will be the hardware or the OS that will limit how big an array you could use rather than the library. Storing of data in the array can be supported through various schemes. It could be simple Java arrays right through to mapped disk files. Data transfers in the mapped storage scheme are performed automatically while every access to an element or a block of elements.
The library provides a wide set of image processing algorithms using matrices. These include linear filtering, mathematical morphology, rank operations, spectral transformation (FFT), etc. These algorithms can support not only 2D, but also 3D image processing. 4D and common multidimensional image processing are also supported. Other operations supported include element wise summing or geometrical matrix transformations, are implemented via lazy views of the source array or matrix. Skeletonization and measuring of binary images are supported by the library. When you have a suitable processor, the built-in multi-threading optimization will be able to speed up things. This is a very good product. If you are looking for a similar solution, you should try it in your exact workflow.