AlgART Java Libraries
| Верзија | 1.2 |
|---|---|
| Издавач | AlgART Laboratory |
| Датум изласка | Dec 23, 2013 |
| Датум додавања | Dec 11, 2013 |
| Ос захтеви | Windows 2003, Windows 8, Windows Vista, Windows, Windows Server 2008, Windows 7 |
| Захтеви | JDK |
| Укупно преузимања | 34 |
| Цена | Free |
Опис
Јава библиотеке отвореног кода, које подржавају генерализоване паметне низове и матрице са елементима било ког типа (1 бит, 8/16/32/64-битни цели бројеви, 32/64-битне вредности са покретним зарезом и било који други Јава тип). Библиотеке садрже широк скуп 2Д-, 3Д- и вишедимензионалних алгоритама за обраду слике преко матрица: линеарно филтрирање, математичка морфологија, операције рангирања, спектрална трансформација (ФФТ), итд. Такође постоји скелетизација и мерење бинарних слика. Библиотеке користе 63-битно адресирање елемената низа (сви индекси и дужина су представљени 64-битним дугим типом). Дакле, теоретски је могуће креирати и обрадити низове и матрице које садрже до 2^63-1 (~10^19) елемената било ког примитивног или непримитивног типа, ако ОС и хардвер могу да обезбеде неопходну количину меморије или простора на диску. Концепт меморијског модела омогућава складиштење АлгАРТ низова у различитим шемама, од једноставних Јава низова до мапираних диск датотека; сви неопходни преноси података се обављају аутоматски док сваки приступ елементу или блоку елемената. Већина алгоритама је заснована на широкој употреби лењих евалуација. Типичне операције, као што је сабирање по елементима или трансформације геометријске матрице, имплементирају се преко лењих погледа изворног низа или матрице. На пример, можете узети вишедимензионалну матрицу, ротирати је (или извршити било коју другу афину или пројективну трансформацију), а затим издвојити подматрицу из резултата. Све ове операције ће се изводити виртуелно (не захтевају време), а стварни прорачуни ће се вршити само у тренутку приступа елементима, обично при копирању резултујуће матрице у новонасталу. Штавише, у многим случајевима библиотеке ће саме 'разумети' да корисник жели да изврши ротацију или другу трансформацију и поделиће матрицу на одговарајуће правоугаоне блокове (који се уклапају у РАМ) и изабрати најбољи алгоритам за овај задатак у тренутку операција копирања.