AlgART Java Libraries
| Version | 1.2 |
|---|---|
| Utgivare | AlgART Laboratory |
| Utgivningsdatum | Dec 23, 2013 |
| Datum tillagt | Dec 11, 2013 |
| Os krav | Windows 2003, Windows 8, Windows Vista, Windows, Windows Server 2008, Windows 7 |
| Krav | JDK |
| Totalt antal nedladdningar | 34 |
| Pris | Free |
Beskrivning
Java-bibliotek med öppen källkod, som stöder generaliserade smarta arrayer och matriser med element av alla typer (1 bit, 8/16/32/64-bitars heltal, 32/64-bitars flyttalsvärden och alla andra Java-typer). Biblioteken innehåller en bred uppsättning av 2D-, 3D- och multidimensionella bildbehandlingsalgoritmer över matriser: linjär filtrering, matematisk morfologi, rangoperationer, spektraltransformation (FFT), etc. Det finns även skelettisering och mätning av binära bilder. Biblioteken använder 63-bitars adressering av arrayelement (alla index och längder representeras av 64-bitars lång typ). Så det är teoretiskt möjligt att skapa och bearbeta arrayer och matriser som innehåller upp till 2^63-1 (~10^19) element av alla primitiva eller icke-primitiva typer, om OS och hårdvara kan tillhandahålla nödvändig mängd minne eller diskutrymme. Minnesmodellkoncept tillåter lagring av AlgART-arrayer i olika scheman, från enkla Java-arrayer till mappade diskfiler; alla nödvändiga dataöverföringar utförs automatiskt medan varje åtkomst till ett element eller ett block av element. De flesta algoritmer är baserade på bred användning av lata utvärderingar. Typiska operationer, som elementvis summering eller geometriska matristransformationer, implementeras via lata vyer av källmatrisen eller matrisen. Du kan till exempel ta en flerdimensionell matris, rotera den (eller utföra någon annan affin eller projektiv transformation) och sedan extrahera en submatris från resultatet. Alla dessa operationer kommer att utföras virtuellt (kräver inte tid), och faktiska beräkningar kommer att utföras endast i det ögonblick då elementen kommer åt, vanligtvis samtidigt som den resulterande matrisen kopieras till en nyskapad. Dessutom kommer biblioteken i många fall att "förstå" sig själva, att användaren vill utföra rotation eller annan transformation, och kommer att dela upp matrisen i lämpliga rektangulära block (passar i RAM) och välja den bästa algoritmen för denna uppgift i det ögonblick som kopieringsoperation.