AJ

AlgART Java Libraries

Editore: AlgART Laboratory
Virus scanned Windows Free
Scarica v1.2 34 downloads
Versione1.2
EditoreAlgART Laboratory
Data di rilascioDec 23, 2013
Data aggiuntaDec 11, 2013
Requisiti del sistema operativoWindows 2003, Windows 8, Windows Vista, Windows, Windows Server 2008, Windows 7
RequisitiJDK
Download totali34
PrezzoFree

Descrizione

Librerie Java open source, che supportano array e matrici intelligenti generalizzati con elementi di qualsiasi tipo (1 bit, numeri interi a 8/16/32/64 bit, valori in virgola mobile a 32/64 bit e qualsiasi altro tipo Java). Le librerie contengono un'ampia serie di algoritmi di elaborazione di immagini 2D, 3D e multidimensionali su matrici: filtraggio lineare, morfologia matematica, operazioni di rango, trasformazione spettrale (FFT), ecc. C'è anche la scheletrizzazione e la misurazione di immagini binarie. Le librerie utilizzano l'indirizzamento a 63 bit degli elementi dell'array (tutti gli indici e la lunghezza sono rappresentati da un tipo lungo a 64 bit). Quindi, è teoricamente possibile creare ed elaborare array e matrici contenenti fino a 2^63-1 (~10^19) elementi di qualsiasi tipo primitivo o non primitivo, se il sistema operativo e l'hardware possono fornire la quantità necessaria di memoria o spazio su disco. Il concetto di modello di memoria consente di archiviare array AlgART in schemi diversi, da semplici array Java a file di disco mappati; tutti i trasferimenti di dati necessari vengono eseguiti automaticamente mentre ogni accesso a un elemento o un blocco di elementi. La maggior parte degli algoritmi si basa su un ampio utilizzo di valutazioni pigre. Le operazioni tipiche, come la somma per elemento o le trasformazioni di matrici geometriche, vengono implementate tramite viste pigre dell'array o della matrice di origine. Ad esempio, puoi prendere una matrice multidimensionale, ruotarla (o eseguire qualsiasi altra trasformazione affine o proiettiva) e quindi estrarre una sottomatrice dal risultato. Tutte queste operazioni verranno eseguite virtualmente (non richiedendo tempo) e i calcoli effettivi verranno eseguiti solo al momento dell'accesso agli elementi, solitamente durante la copia della matrice risultante su una nuova creata. Inoltre, in molti casi le librerie "capiranno" da sé che l'utente vuole eseguire la rotazione o un'altra trasformazione, divideranno la matrice in opportuni blocchi rettangolari (adattati alla RAM) e sceglieranno l'algoritmo migliore per questo compito al momento di operazione di copiatura.