AlgART Java Libraries

By Author: daniel-alievsky
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).

Feature

  • 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.

fmstream

fmstream provides an interface to read data from memory-mapped files as input/output streams. File mapping is the association of a file's contents with a portion of the virtual address space of a process. The system creates a file mapping object (also known as a section object) to maintain this asso.........

Similar: 13%

Jades

This Java library provides the class DistributedExecutorService which implements java.util.concurrent.ExecutorService. The goal is to distribute tasks across a network of machines (nodes) over SSH. The API is designed to be as user-friendly as possible : 1. Instantiate DistributedExecutorService 2..........

Similar: 12%

JSONXML

Stand-alone Java library implementing parser/formatter/comparator/validator for JSON/XML-like text formats oriented on JSON-like object model (list,map,scalar + reflection). Library is designed to maximize adaptivity via set of extendable modules....

Similar: 12%

JDynamiTe, Dynamic Template in Java

JDynamiTe is a tool which allows you to dynamically create documents in any format from "template" documents. And very few lines of code (or no line at all!) are needed to do that. Some typical usage domains of JDynamiTe are: - dynamic Web pages creation, - text document generation, - source c.........

Similar: 11%

RAMvader

RAMvader is a small C#-written library which uses p/Invoke on Windows-based systems to provide functionalities to ease the access to other processes' memory space. It basically allows your software to read data from and/or write data (even executable/binary code) to another process' memory space. T.........

Similar: 11%

PieceOCake

Do you ever curse Java for making it so ridiculously difficult just to save and load data? Do you ever say something like the following: "All I want to do is save the user's data! I don't want to deal with your BufferedWriters and HashMapThingies and stuff!" ...all in a remarkably incensed tone? We.........

Similar: 11%

Happy Java Library

Helps to develop and test event-based multi-threaded Java application. Because of method called as API-Evolution the Happy Java Library is fully downward compatible. The library contains following functionality: MultiLock, Parallel loops, Collections, Controllers, Generators, Delegates, Streams....

Similar: 10%

QScript

V2.1.1 compatible with Processing 2 & 3. A powerful yet simple to use scripting language that can be used to evaluate expressions and simple algorithms. In fact it is the only evaluator I know that supports complex numbers and vectors without the need for additional configuration. The emphasis is o.........

Similar: 9%

Aspose for Spring.Java

Aspose for Spring.Java provides usage samples / sourcecodes for the demonstration of Aspose API for Java by extending famous Spring Java PetClinic Sample Web Application. This extension of "Spring Java PetClinic Sample Web Application" also shows the Integration of Aspose APIs with Spring MVC, JSP .........

Similar: 7%

Phplogin

phpLogin is a free, open source PHP library designed to give your site secure user account functionality with little or no modification to your existing scripts. phpLogin uses its own database and handles everything from user registration to logins!...

Similar: 7%