AJ

AlgART Java Libraries

Uitgever: AlgART Laboratory
Virus scanned Windows Free
Downloaden v1.2 34 downloads
Versie1.2
UitgeverAlgART Laboratory
Datum van publicatieDec 23, 2013
Datum toegevoegdDec 11, 2013
OS-vereistenWindows 2003, Windows 8, Windows Vista, Windows, Windows Server 2008, Windows 7
VoorwaardenJDK
Totaal aantal downloads34
PrijsFree

Omschrijving

Open-source Java-bibliotheken, die gegeneraliseerde slimme arrays en matrices ondersteunen met elementen van elk type (1 bit, 8/16/32/64-bit gehele getallen, 32/64-bit drijvende-kommawaarden en alle andere Java-typen). De bibliotheken bevatten een brede reeks 2D-, 3D- en multidimensionale beeldverwerkingsalgoritmen over matrices: lineaire filtering, wiskundige morfologie, rangordebewerkingen, spectrale transformatie (FFT), enz. Er is ook skeletonisatie en meting van binaire afbeeldingen. De bibliotheken gebruiken 63-bits adressering van array-elementen (alle indexen en lengtes worden weergegeven door het 64-bits lange type). Het is dus theoretisch mogelijk om arrays en matrices te maken en te verwerken die maximaal 2^63-1 (~10^19) elementen van elk primitief of niet-primitief type bevatten, als het besturingssysteem en de hardware de benodigde hoeveelheid geheugen of schijfruimte kunnen bieden. Het geheugenmodelconcept maakt het mogelijk om AlgART-arrays in verschillende schema's op te slaan, van eenvoudige Java-arrays tot toegewezen schijfbestanden; alle noodzakelijke gegevensoverdrachten worden automatisch uitgevoerd bij elke toegang tot een element of een blok elementen. De meeste algoritmen zijn gebaseerd op het brede gebruik van luie evaluaties. Typische bewerkingen, zoals elementsgewijs optellen of geometrische matrixtransformaties, worden geïmplementeerd via luie weergaven van de bronarray of -matrix. U kunt bijvoorbeeld een multidimensionale matrix nemen, deze roteren (of een andere affiene of projectieve transformatie uitvoeren) en vervolgens een submatrix uit het resultaat extraheren. Al deze bewerkingen zullen virtueel worden uitgevoerd (geen tijd nodig), en daadwerkelijke berekeningen worden alleen uitgevoerd op het moment dat elementen worden geopend, meestal tijdens het kopiëren van de resulterende matrix naar een nieuw gemaakte matrix. Bovendien zullen de bibliotheken in veel gevallen zichzelf 'begrijpen' dat de gebruiker rotatie of een andere transformatie wil uitvoeren, en de matrix opsplitsen in geschikte rechthoekige blokken (passend in RAM) en het beste algoritme voor deze taak kiezen op het moment van kopieer bewerking.