BioAGE

Обща топология

Показана е примерна топология на информационно-изчислителния грид BioAGE.

Най-общо грида се изгражда от взаимно свързани нодове. Връзките между нодовете са имплицитни. Всеки нод се управлява от програма, наречена Агент (age_agent). Агентите контролират разпространението на информацията между нодовете на грида и неговите потребители. Тази организация на работа гарантира следното:

  1. Поведението на грида е еднакво за неговите потребители независимо от структурата и предназначението на информацията;
  2. Всеки нод предоставя унифициран и прозрачен програмен интерфейс за работа – функционалността на грида може да се управлява с едни и същи средства от произволен нод;

Паралелна обработка

BioAGE има типична SOA архитектура – потребителската функционалност в нодовете на грида не е фиксирана и винаги се зарежда динамично чрез услуги - външни софтуерни модули и стандартни линейни алгоритми. Всяка услуга на грида има уникално име в контекста на конкретен нод и може да се зареди динамично само един път в същия контекст. С други думи, една и съща услуга може да се зареди динамично по един път във всеки нод на грида.

Мултиплицирането на функционалността в нодовете поражда ефекта на дублиране на резултатите. От една страна, ако се изпрати заявка към целия грид за функция на определена услуга, то заявката ще бъде изпълнена толкова пъти, колкото динамично заредени копия на услугата съществуват в грида. Резултатите се обобщават от агента на извикващия нод, като допълнителната обработка на резултатите е отговорност на инициатора на заявката – външен процес или функция. От друга страна, заявките могат да се адресират имплицитно към определен нод, услуга и функция.

Показани са в зелено онези заявки, които се изпращат и обработват от агентите на нодовете. В синьо е показан резултата от изпълнение на същите заявки, а в червено са показани заявките които няма да бъдат обработени в резултат на оптимизация. От една страна се вижда как BioAGE динамично оптимизира и редуцира изпълнението на заявките, а от друга – как всеки агент в грида се грижи да обобщава междинните резултати. Независимо каква е гранулярността на грида, заявките винаги се оптимизират в съответствие с редица динамични фактори свързани с текущата топология, статистика на ползването, „дълбочината на изпълнение“ на задачите и други.

Агентите в грида работят изключително асинхронно с информацията и са оптимизирани така, че да внасят минимален overhead в комуникацията между нодовете. Агентите никога не се блокират при изпълнение на задача! Това поведение на агентите има цена – практиката изисква заявките да се обработват за определено време. В AGE всяка заявка има време на живот. Когато това време бъде надхвърлено, то заявката остарява и се отстранява от по-нататъшна обработка. Накратко, за определен времеви хоризонт няма пълна гаранция, че резултата от заявките ще бъде получен. От потребителска гледна точка това означава, че при изпращане на заявка за изпълнение към грида е възможно да се получат непълни резултати. Агентите в BioAGE са настроени да предоставят максимално количество резултати за предоставеното им процесорно време.

Пример

На илюстрацията е показан един реален пример на грид създаден чрез BioAGE, който се състои от 7 нода. Интерес представлява първия нод – N1. Макар и произволно избран, в този нод е инсталирана услугата WeBioGrid, която представлява web server. Чрез него потребител може да изпраща заявки към грида по HTTP. Модули на сървъра преобразуват HTTP заявката в формат на BioAGE и изчакват (синхронизират) резултата. Данните на получения резултат се структурират в JSON и се пакетират в XML. Така форматиран, резултатът се връща в web броузера на клиента, където може допълнително да бъде анализиран с JavaScript.


WeBioGrid

Софтуерният компонент WeBioGrid осигурява достъп до ресурсите на BioAGE през стандратен Web броузер.

Конкретната реализация на софтуерният портал предоставя грофичен интерфейс за търсене в неструктурирана информация, включително и в съдържанието на електронни здравни досиета (ЕЗД), електронно файлове от различен формат и др. Потребителят може да:

  1. Търси произволен текст
  2. Търси по отделни полета в електронни документи
  3. Да филтрира резултатите по категория
  4. Да филтрира резултатите по поле. Полетата не са предефинирани, а се извличат динамично от съдържанието на файловете, ако това е възможно.

WeBioGrid поддържа Unicode и позволява:

  • Търсене с регулярни изрази
  • Динамично да оценява тежестта на релевантните документи
  • Да обединява резултатите, като така предотвратява тяхното дублиране
  • Да обединява резултатите от няколко нода на грида BioAGE.

Visual Grid Orchestrator

Visual Grid Orchestrator (VGO) е интерактивна визуална среда за проектиране и разработване на тестови сценарии на асинхронни приложения, които могат да се симулират в off-line режим. Софтуерният инструмент е част от проекта „BioAGE“ и има за цел да  подпомогне потребителите да визуализират и тестват възможните връзки между различни функционални модули обединени визуално в паралелни приложения. Тези приложения трябва да се разглеждат като набор от компоненти, които могат да са свързани с вътрешни или външни ресурси (програмни библиотеки, бази от данни и др.).

VGO - Начален екран

Функционалните компоненти са вид програмни библиотеки, които могат да се свързват или като визуални модули или да се извикват директно от програмен код като функции. Функционалните компоненти могат да се комбинират и групират като подпрограми в един или повече визуални модули.

Вградените компоненти в VGO обхващат:

  • Обработката на изображения с точкови и локални операции (TBitmap32).
  • Обработката на IR изображения чрез регионално сегментиране на температурна скала (TThermoColorPalette).

 

Вградените компоненти в информационно-изчислителния грид обхващат:

  • Индексирането на неструктурирани данни от файлове (вкл. EHR файлове в XML формат)
  • Търсене на неструктурирана информация в текстов документ и по полета в XМL файлове;

В софтуерния пакет на VGO е предоставено и примерно приложение за разпознаване, анализ и извличане на температурни биометрични проби от инфрачервени медицински изображения.

Създадено е ръководство за експлоатация с приложни примери, което е предназначено да подпомогне потребители в работата им със софтуерния инструмент Binetix BioAGE – Visual Grid Orchestrator (VGO). В този документ информацията по необходимост е ограничена до това, което ще бъде нужно на потребителя да започне успешно работа си. Възможностите на VGO позволяват множество комбинации и практически приложения.

Файл: 2013 - BioAGE - Visual Orchestrator User Guide, v1.0.odt

Статус: Завършен. Архивиран.

VGO IRT Demo

Реализация

За нуждите на медицинската образна диагностика чрез Visual Grid Orchestrator е разработен проект на примерен сценарий за извличане на изгубената температурна информация от термограми, която е записана в стандартни файлови формати.

Използваните алгоритми могат да работят независимо от модела или разделителната способност на термографите и са в състояние значително да намалят влиянието на служебната информация и графичния шум, които пречат при точното определяне на температурните стойности на пикселите. Резултатите получени от приложението на алгоритъма се обработват допълнително чрез тримерно моделиране и автоматична пакетна обработка на графични файлове.

Чрез VGO се дефинират два визуални модула:

  1. Един за извличане на графичната информацията
  2. Един за анализ и обработка на температурната информация

Важно е да се отбележи, че медицинските специалисти, които ползват VGO, е необходимо единствено да поставят съответните модули върху конструктора и да свържат входно-изходните им параметри. Връзката между наличните термограми и алгоритъма за възстановяване на температурна информация се настройва според функционалните възможности на модулите. В конкретния пример изходящият параметър oFileList на модула за извличане на графична информация е необходимо да се съврже с входящия параметър isImageFileName на модула Image_ThermoProc. oFileList е дефиниран с активиран атрибут Scheduled и предизвиква n-кратно извикване на модула за анализ, обработка и възстановяване на температурна информация.

Входни данни и резултати

Избран е действителен обект за медицинското наблюдение чрез термограф. Цел на медицинското наблюдение е да се локализира и диагностицира разпространението на болката върху човешкото стъпало. Използвани са ултразвук и инфра-червена камера. Показан е резултата от инфрачервената камера в BMP формат, който съдържа в себе си паразитна информация – етикети, маркери, температурна палитра и др.

В резултат от стартиране на симулацията на приложния сценарии в Visual Grid Orchestrator са генерирани:

  • Температурна хистограма, която показва температурните нива на пикселите от оригиналното изображение;

  • Тримерен температурен модел, който показва разпределението на температурните нива в термограмата.

Показани са конкретните резултати от изпълнението на примерното приложение VGO IRT Demp за обработка на медицински термограми върху избрания по-горе обект.

 

Back to top