AlgART Java Libraries
| Verze | 1.2 |
|---|---|
| Vydavatel | AlgART Laboratory |
| Datum vydání | Dec 23, 2013 |
| Datum přidáno | Dec 11, 2013 |
| Os požadavky | Windows 2003, Windows 8, Windows Vista, Windows, Windows Server 2008, Windows 7 |
| Požadavky | JDK |
| Celkový počet stažení | 34 |
| Cena | Free |
Popis
Open-source Java knihovny, podporující zobecněná inteligentní pole a matice s prvky všech typů (1 bit, 8/16/32/64-bitová celá čísla, 32/64-bitové hodnoty s plovoucí desetinnou čárkou a jakékoli další typy Java). Knihovny obsahují širokou sadu 2D-, 3D- a vícerozměrných algoritmů pro zpracování obrazu nad maticemi: lineární filtrování, matematická morfologie, rank operace, spektrální transformace (FFT) atd. Nechybí ani skeletonizace a měření binárních obrazů. Knihovny používají 63bitové adresování prvků pole (všechny indexy a délka jsou reprezentovány 64bitovým dlouhým typem). Je tedy teoreticky možné vytvářet a zpracovávat pole a matice obsahující až 2^63-1 (~10^19) prvků jakéhokoli primitivního nebo neprimitivního typu, pokud OS a hardware může poskytnout potřebné množství paměti nebo místa na disku. Koncepce paměťového modelu umožňuje ukládat pole AlgART v různých schématech, od jednoduchých polí Java po mapované diskové soubory; všechny potřebné přenosy dat jsou prováděny automaticky při každém přístupu k prvku nebo bloku prvků. Většina algoritmů je založena na širokém využití líných hodnocení. Typické operace, jako je sčítání po prvcích nebo transformace geometrické matice, jsou implementovány prostřednictvím líných pohledů na zdrojové pole nebo matici. Můžete například vzít vícerozměrnou matici, otočit ji (nebo provést jakoukoli jinou afinní nebo projektivní transformaci) a poté z výsledku extrahovat podmatici. Všechny tyto operace budou prováděny virtuálně (nevyžadují čas) a vlastní výpočty budou prováděny až v okamžiku přístupu k prvkům, obvykle při kopírování výsledné matice do nově vytvořené. Knihovny navíc v mnoha případech samy „pochopí“, že uživatel chce provést rotaci nebo jinou transformaci, a rozdělí matici na vhodné obdélníkové bloky (vejdoucí se do RAM) a vyberou nejlepší algoritmus pro tento úkol v okamžiku operace kopírování.