AJ

AlgART Java Libraries

Izdavač: AlgART Laboratory
Virus scanned Windows Free
Verzija1.2
IzdavačAlgART Laboratory
Datum izlaskaDec 23, 2013
Datum dodanDec 11, 2013
Os zahtjeviWindows 2003, Windows 8, Windows Vista, Windows, Windows Server 2008, Windows 7
ZahtjeviJDK
Ukupno preuzimanja34
CijenaFree

Opis

Java biblioteke otvorenog koda koje podržavaju generalizirane pametne nizove i matrice s elementima bilo koje vrste (1 bit, 8/16/32/64-bitni cijeli brojevi, 32/64-bitne vrijednosti s pomičnim zarezom i bilo koje druge vrste Java). Knjižnice sadrže širok skup 2D-, 3D- i algoritama za višedimenzionalnu obradu slika preko matrica: linearno filtriranje, matematička morfologija, operacije rangiranja, spektralna transformacija (FFT), itd. Tu je i skeletizacija i mjerenje binarnih slika. Knjižnice koriste 63-bitno adresiranje elemenata polja (svi indeksi i duljina predstavljeni su 64-bitnim dugim tipom). Dakle, teoretski je moguće stvoriti i obraditi nizove i matrice koje sadrže do 2^63-1 (~10^19) elemenata bilo kojeg primitivnog ili neprimitivnog tipa, ako OS i hardver mogu osigurati potrebnu količinu memorije ili prostora na disku. Koncept memorijskog modela omogućuje pohranjivanje AlgART nizova u različitim shemama, od jednostavnih Java nizova do mapiranih diskovnih datoteka; svi potrebni prijenosi podataka obavljaju se automatski pri svakom pristupu elementu ili bloku elemenata. Većina algoritama temelji se na širokoj upotrebi lijenih evaluacija. Uobičajene operacije, poput zbrajanja po elementima ili transformacije geometrijske matrice, implementiraju se putem lijenih prikaza izvornog niza ili matrice. Na primjer, možete uzeti višedimenzionalnu matricu, rotirati je (ili izvesti bilo koju drugu afinu ili projektivnu transformaciju), a zatim izdvojiti submatricu iz rezultata. Sve ove operacije će se izvoditi virtualno (ne zahtijevajući vrijeme), a stvarni izračuni će se izvoditi tek u trenutku pristupa elementima, obično tijekom kopiranja dobivene matrice u novokreiranu. Štoviše, u mnogim slučajevima knjižnice će same 'razumjeti' da korisnik želi izvesti rotaciju ili neku drugu transformaciju, te će podijeliti matricu u odgovarajuće pravokutne blokove (koji odgovaraju RAM-u) i odabrati najbolji algoritam za ovaj zadatak u trenutku operacija kopiranja.