Другие журналы

научное издание МГТУ им. Н.Э. Баумана

НАУКА и ОБРАЗОВАНИЕ

Издатель ФГБОУ ВПО "МГТУ им. Н.Э. Баумана". Эл № ФС 77 - 48211.  ISSN 1994-0408

Программная система АОРТА для автоматизации исследований в области оценки предрасположенности пациента к атеросклерозу на основе генетических и фенотипических маркеров

# 01, январь 2014
DOI: 10.7463/0114.0649691
Файл статьи: Karpenko_P.pdf (1256.01Кб)
авторы: профессор, д.ф.-м.н. Карпенко А. П., Собенин И. А., Харламов В. В.

УДК 519.6

Россия, МГТУ им. Н.Э. Баумана

Москва, НИИ общей патологии и патофизиологии РАМН

apkarpenko@mail.ru

sobenin@cardio.ru

vkv-rk6@mail.ru

 

Введение

В настоящее время автоматизация медицинских и медико-биологических исследований представляет собой одну из актуальных научно-технических задач. Особое место в таких исследованиях занимает выявление предрасположенности пациентов к различным заболеваниям. Работа посвящёна разработке программной системы АОРТА, обеспечивающей поддержку научных исследований, проводимых в НИИ общей патологии и патофизиологии РАМН. Исследования имеют целью нахождение взаимосвязи между соматическими мутациями митохондриального генома в клетках стенки аорты и степенью выраженности атеросклеротического поражения участков аорты [1].

Митохондриальные мутации выявлены при различных патологиях, таких как стеноз коронарных сосудов, некоторые формы диабета и глухоты, атеросклероз, инфаркт миокарда, кардиомиопатия. Геном митохондрий отличается выраженной нестабильностью, поэтому в нем нередки соматические мутации, возникающие в течение жизни индивида. Пенетрантность и экспрессивность таких мутаций зависят, главным образом, от генотипа и уровня гетероплазмии, который представляет собой отношение числа фрагментов митохондриальных геномов, несущих замену, инсерцию или делецию в исследуемой позиции генома, к общему их числу. Поэтому при изучении ассоциации митохондриальных мутаций с заболеваниями человека используют не только качественную (наличие/отсутствие мутации), но и количественную оценку мутантного аллеля митохондриального генома (процент гетероплазмии). Для определения критического уровня гетероплазмии митохондриальных мутаций, ассоциированных с возникновением и развитием патологий в организме человека, разработан метод прямой количественной оценки митохондриального генома [1].

В качестве исходных данных для изучения роли полиморфизмов митохондриальной ДНК в формировании атеросклеротических поражений артерий человека система АОРТА использует количественные показатели степени выраженности атеросклеротического поражения и митохондриальных мутаций, а также геометрические формы изучаемых областей аорты. Указанные области на исследуемом образце орты выделяет специалист таким образом, чтобы в пределах каждой из областей отклонения количественного показателя степени выраженности атеросклероза (фенотипического маркера) от среднего по области значения были достаточно малы. Далее для каждой области измеряются и вносятся в систему АОРТА показатели частоты и степени выраженности соматических мутаций митохондриального генома (генетические маркеры).

Аналоги системы АОРТА авторам неизвестны.

В первом разделе работы дана постановка задачи. Во втором разделе представлена предложенная авторами методика решения задачи. Третий раздел посвящен программной реализации методики. В заключении сформулированы основные результаты работы и перспективы ее развития.

 

1. Постановка задачи

Вид исследуемых образцов аорты иллюстрирует рисунок 1. На рисунке выделены области, в пределах каждой из которых отклонения фенотипического маркера от среднего по области значения достаточно малы. Области, имеющие более высокую степень атеросклеротического поражения, имеют на рисунке более насыщенный красный цвет.

 

Description: D:\MyProjects\Study\DiplomaProject\Аорта (от Сабенина)\аорта 95 топогр.jpg

а)

Description: D:\MyProjects\Study\DiplomaProject\Аорта (от Сабенина)\аорта 87 топогр.jpg

б)

Рисунок 1 ‑ Фотографии образцов ткани аорт (выделены участки, однородные по степени атеросклеротического поражения)

 

Полагаем, что входом программной системы является изображение пораженного атеросклерозом фрагмента аорты, на котором пользователем вручную нанесены границы областей, однородных по степени поражения. Система должна обеспечивать хранение в базе данных введенные изображения вместе с результатами их обработки, а также в автоматизированном режиме находить указанные границы. Пользователь должен иметь возможность связать с каждой из областей расширяемый набор свойств: значения фенотипических и генетических маркеров и т.д. Обработка изображений должна производиться с помощью расширяемого набора обрабатывающих модулей. Последовательность использования модулей должен задавать пользователь.

 

2. Методика решения задачи

Предлагаемая методика решения задачи состоит из следующих основных этапов:

1)  сегментация изображения;

2)  поиск и маркировка связных компонентов изображения;

3)  построение графа смежности областей маркированного изображения;

4)  разбиение графа смежности.

2.1. Сегментация изображения. Сегментацию изображения можно определить как процесс присвоения каждому пикселю изображения таких меток, чтобы множества пикселей с одинаковыми метками имели общие визуальные характеристики. Результатом сегментации изображения является множество сегментов, покрывающих изображение, или множество контуров этих сегментов [2 ‑ 4].

В общей постановке говорят о двух классах задач сегментации изображения: выделение областей изображения с известными свойствами; разбиение изображения на однородные области. В первом случае задача сегментации состоит в поиске областей изображения с известным, например, цветом или формой. Во втором случае требуется, например, чтобы каждая из областей был однородной по цвету и текстуре. В работе решается задача сегментации второго класса.

Методы сегментации изображений можно разделить на две группы: автоматические методы, не требующие взаимодействия с пользователем; интерактивные методы, использующие пользовательский ввод данных в процессе работы. Наиболее известными методами сегментации являются методы кластерного анализа, гистограммные методы, методы разделения и слияния областей, методы роста областей, методы выделения границ, методы сегментации по морфологическим водоразделам, методы, основанные на теории графов, нейросетевые методы.

Методы кластерного анализа. Задача сегментации сводится к задаче кластеризации путем отображения точек изображения в некоторое пространство признаков и введения метрики (меры близости) на этом пространстве. В нашем случае в качестве признака точки можно использовать её цвет. Метрикой может служить евклидово расстояние между векторами в пространстве признаков.

Наиболее известным методом кластерного анализа является итерационный метод k-средних [3]. Метод гарантированно сходится, но может не привести к глобально оптимальному решению (в смысле критерия наименьшей квадратичной ошибки сегментации). Результат функционирования метода зависит от начального приближения к решению и значения k.

Гистограммные методы представляют собой не итерационный вариант методов кластеризации. Методы данного класса основаны на поиске минимумов и максимумов гистограммы цвета или яркости пикселей изображения, то есть функционируют непосредственно в пространстве изображения [3].

Методы разделения и слияния областей включают в себя в качестве основных этапы дробления и слияния [5]. Дробление начинается с произвольного разбиения изображения на области и продолжается до тех пор, пока не будет получено разбиение, удовлетворяющее некоторому критерию однородности областей. На этапе слияния происходит итерационное объединение схожих соседних областей до тех пор, пока не будет получено разбиение на однородные области максимального размера. В качестве критерия однородности области может быть, например, использовано условие: область однородна, если заданный процент её пикселей удовлетворяет неравенству

где  – значение яркости i-го пикселя области,  – средняя яркость по области,  – среднее отклонение значений яркости в области.

Методы роста областей основаны на следующей идее. Сначала по некоторому правилу выбираем центры областей (seeds). Присоединяем к полученным точкам соседние точки изображения, если они удовлетворяют некоторому критерию. Процесс роста областей (regiongrowing) останавливаем в случае, если ни одна точка изображения не может быть присоединена ни к одной из областей [6]. В качестве указанного критерия может быть использована, например, некоторая мера близости пикселя к центру области.

Методы выделения границ. В данном подходе задача сегментации формулируется как задача поиска границ областей. Для полутоновых изображений, когда изображение можно рассматривать как функцию двух переменных, границам регионов соответствуют максимумы градиента этой функции. Из-за шумов измерения, неоднородности освещения и прочих эффектов непрерывность границ областей нарушается. В результате алгоритмы обнаружения контуров приходится дополнять процедурами, обеспечивающими связанность полученных границ областей [5].

Методы сегментации по морфологическим водоразделам основаны на представлении изображения в виде трёхмерной поверхности, заданной двумя пространственными координатами и уровнем яркости в качестве высоты поверхности (рельефа) [5]. На указанной поверхности выделяют точки локальных максимумов, совокупность которых образует так называемые линии водораздела, принимаемые за искомые границы областей.

Методы, основанные на теории графов. Общая идея методов этой группы заключается в следующем. Представляем изображение в виде взвешенного графа, вершины которого совпадают с пикселями, а веса ребер равны расстоянию между точками в некоторой метрике. Сегментация изображения в результате сводится к поиску разреза графа минимальной «стоимости», которая формализует качество полученной сегментации. Примерами методов данного класса является метод нормированного разреза NC(normalizedcut) [7], а также метод сегментации SWA (SegmentationbyWeightedAggregation) [8].

Нейросетевые методы образуют класс перспективных методов сегментации изображения. В настоящее время число публикаций, посвящённых этим методам, невелико. В работе [9] представлена нейронная сеть, реализующая автоматический выбор глобального порога бинаризации для промышленной видеосистемы. В работе [10] предложен метод отыскания локального порога бинаризации, использующий самоорганизующуюся карту Кохонена и предназначенный для увеличения чёткости символов в документах.

Наши эксперименты с указанными методами сегментации изображения показали, что ни один из них не может с удовлетворительной точностью выполнить, как автоматическое, так и автоматизированное выделение границ областей исследуемой аорты. Поэтому принято решение, что пользователь размечает изображение вручную, а системе АОРТА считывает размеченное изображение и автоматически выделяет границы областей. Для решения последней задачи принято решение использовать глобальную пороговую бинаризацию в одномерном пространстве признаков с ручной настройкой порога. В качестве признака используем яркость пикселей для монохромных изображений и некоторую скалярную функцию от компонентов цвета пикселей ‑ для цветных изображений.

2.2. Выделение (маркировка) связных компонентов изображения. Обозначим  значение пикселя, находящегося на пересечении строки r и столбца c пиксельного массива, сформированного на предыдущем этапе. Введем в рассмотрение четырёхсвязную  и восьмисвязную  окрестности этого пикселя.

Будем говорить, что пиксель  является ‑соседом пикселя , если . Аналогично определим ‑соседство пикселя  с пикселем . Пиксель  называем ‑связным с пикселем  по значению , если существует такая последовательность пикселей , , , , что пиксель  и  для всех . Указанная последовательность пикселей ,  образует связный -путь от пикселя  к пикселю . Аналогично определяем -путь от пикселя  к пикселю . Связную компоненту (connectedcomponent) пиксельного массива  со значением vобразует множество Cпикселей, имеющих значения v, каждая пара которых является связной по значению v [11].

Во введенных обозначениях задача маркировки связных компонентов бинарного массива  формулируется следующим образом: выделить в данном массиве все связные компоненты и сформировать маркированное изображение, в котором каждому пикселю изображения присвоена метка (уникальный идентификатор) связной компоненты, которой принадлежит данный пиксель.

Алгоритмы выделения связных компонентов разделяют на пять следующие классов [11]: многопроходные, двухпроходные, однопроходные, алгоритмы с использованием иерархических структур представления изображения, параллельные алгоритмы.

Многопроходные алгоритмы используют многократное сканирование изображения [12]. Скорость работы этих алгоритмов может быть повышена путем использования таблицы связности (connectiontable) [13].

Двухпроходные алгоритмы представляют собой классические алгоритмы выделения связных компонентов [14]. Алгоритмы требуют вспомогательной таблицы высокой размерности для хранения информации о метках, что сужает область их использования. Известно большое число модификаций классических алгоритмов, направленных на преодоление указанных недостатков.

Однопроходные алгоритмы образуют класс наиболее простых алгоритмов маркировки связных компонент. Схема однопроходного алгоритма имеет следующий вид.

1) Находим непомеченный пиксель со значением  и присваиваем ему новую метку.

2) Вызываем процедуру поиска search всех необработанных соседей данного пикселя с тем же значением .

3) Для каждого из найденных соседей производим рекурсивный вызов процедуры search.

И так далее.

Процедура searchалгоритма может быть построена на основе структур данных «очередь» и «стек». В первом случае алгоритм носит название алгоритма с поиском в ширину (Breadth-FirstSearch, BFS), а во втором случае  алгоритма с поиском в глубину (Depth-FirstSearch, DFS).

Одним из наиболее эффективных однопроходных алгоритмов является алгоритм обхода контуров (contourtracing), предложенный в работе [15]. Известный высокоэффективный метод представления изображения ‑ метод кодирования длин серий (Run-LengthEncoding, RLE) [16]. Многие алгоритмы отыскания связных компонентов могут быть реализованы с использованием этого метода [17]. Достоинством методов данного класса является их высокая производительность [18].

В силу высокой эффективности и простоты реализации в комплексе АОРТА используем однопроходный алгоритм DFS, имеющий cложность O(n), где n – число пикселей изображения.

2.3. Построение графа смежности областей маркированного изображения. Две области изображения называем смежными, если некоторый пиксель одной из областей является соседним для некоторого пикселя другой области. Информацию о смежных областях изображения обычно представляют в виде графа смежности областей (RegionAdjacencyGraph, RAG), в котором каждый узел соответствует некоторой области изображения, а рёбра связывают пары узлов, соответствующие смежным областям.

В комплексе АОРТА используется алгоритм построения графа смежности областей, представленный в работе [3]. Алгоритм обрабатывает изображение порциями по две строки, обнаруживая горизонтальную и вертикальную смежности, а если рассматривается ‑соседство, то также ‑ диагональную смежность. При обнаружении новой смежности областей в граф RAGдобавляется новое ребро.

2.4. Разбиение графов. Пусть  ‑ заданный неориентированный взвешенный граф, где  – множество вершин графа,  – множество его рёбер. Задача разбиения графа (graphpartitioning) заключается в следующем. Необходимо разделить множество  на k подмножеств  таким образом, чтобы любые два подграфа  не имели общих вершин, и чтобы каждая из вершин графа  принадлежала одному из подграфов. Разбиение графа обычно подчинено задаче экстремизации некоторого критерия качества разбиения. Поэтому будем говорить о задаче оптимального разбиения графа. Известно, что эта задача является NP-сложной. На этом основании в вычислительной практике обычно используют эвристические методы решения задачи, основные из которых представлены ниже.

Метод Кернигана-Лина (Kernighan-Lin) используют для улучшения начального разбиения графа, путём обмена вершинами между подграфами таким образом, чтобы уменьшить общее число разрезаемых рёбер. Недостатком метода является высокая вероятность его сходимости к локальному минимуму. Поэтому метод приходится использовать в комбинации с методом мультистарта, когда процесс поиска лучшего разбиения повторяется многократно, исходя из различных начальных разбиений.

Метод разбиения с учетом связности (LevelizedNestedDissection, LND) используют для отыскания такой бисекции графа, которая обеспечивает равенство чисел узлов в результирующих подграфах [19]. Метод чувствителен к выбору начальной вершины, и его, как и предыдущий метод, приходится комбинировать с методом мультистарта. Для разбиения графа на произвольное число подграфов метод применяется рекурсивно.

Спектральный алгоритм бисекции графа использует два критерия оптимальности разбиения – минимум числа разрезанных рёбер и минимум разности между числами вершин в разных подграфах. Алгоритм основан на анализе собственного вектора, соответствующего второму по величине собственному значению матрицы Лапласа исходного графа [3]. Известны обобщения данного алгоритма, которые выполняют разбиение исходного графа на четыре подграфа (quadrisection) и на восемь подграфов (octasection). Для разбиения графа на произвольное число подграфов указанный алгоритм следует применять рекурсивно.

Многоуровневый методMLkP(multilevelk-waypartitioning) предложен в работе [20]. В соответствии с этим методом разбиение графа осуществляется в три этапа: огрубление исходного графа, разбиение огрублённого графа на k подграфов, восстановление исходного графа.

На первом этапе может быть использован подход на основе случайных паросочетаний (randommatching), подход на основе паросочетаний из тяжёлых рёбер (heavyedgematching), подход на основе выделения сильно связанных групп узлов (modifiedheavyedgematching).

Второй этап обычно использует рекурсивную бисекцию огрублённого графа с помощью, например, алгоритма Kernighan-Lin, алгоритма LND или спектрального алгоритма.

На этапе восстановления каждый из подграфов, полученный на втором этапе, восстанавливают до соответствующей части исходного графа. Полученное в результате разбиение графа можно улучшить, например, с помощью жадных алгоритмов, алгоритма Kernighan-Lin и его вариантов. В системе АОРТА разбиение графов реализовано с помощью последнего алгоритма.

 

3. Программный комплекс АОРТА

3.1. Структура программного комплекса АОРТА представлена на рисунке 2. Как следует из рисунка, система состоит из реляционной базы данных и ее программного интерфейса, то есть клиентской части системы.

 

Рисунок 2 ‑ Структура системы АОРТА

 

Программный интерфейс базы данных включает в себя две подсистемы (рисунок 3) ‑ редактор данных и подсистема обработки данных. Редактор дает пользователю возможность загрузить данные в базу данных, выполнить визуализацию данных, уже находящихся в базе, модифицировать данные и внести результаты модификации в базу. Обрабатывающая подсистема представляет собой множество независимых подключаемых модулей для обработки данных, а также оболочку, обеспечивающую совместное выполнение модулей. Также обрабатывающая подсистема реализует пользовательский интерфейс системы.

 

 

Рисунок 3 ‑ Диаграмма компонентов

 

В качестве системы управления базами данных (СУБД) используем систему MySQL. Основной причиной такого выбора является поддержка MySQL большого числа типов таблиц, например, таблиц типа MyISAM для полнотекстового поиска и таблиц InnoDB для обеспечения транзакций на уровне отдельных записей.

Инфологическая модель системы АОРТА в форме ER-диаграммы представлена на рисунке 4. Из представленной модели вытекает, что основными в системе являются следующие сущности.

Аорта – образец ткани аорты.

Участок аорты – часть образца, для которого указаны значения ее свойств.

Свойство участка аорты – некоторый параметр, характеризующий данный участок (например, фенотипический или генетический маркеры, геометрическая характеристика участка и тому подобное).

 

 

Рисунок 4 ‑ ER-диаграмма предметной области

 

Группа свойств – совокупность всех свойств области аорты. Примером группы свойств может служить совокупность геометрических характеристик области – ее площадь, диаметр, полярные и осевые моменты инерции и т.д.

Элемент участка аорты используется для задания геометрической формы данного участка. Например, изображение участка аорты удобно представлять в виде набора строк пикселей, параллельных оси  системы координат, связанной с изображением. Каждую из таких строк в этом случае определяют три числа ‑ две ‑координаты начала и конца строки и одна ‑координата строки. Тройка указанных чисел представляет собой один из элементов изображения.

Логическая модель базы данных комплекса АОРТА приведена к третьей нормальной форме и представлена на рисунке 5. На этом же рисунке представлены элементы физической модели ‑ указаны индексы и типы данных, используемых при реализации данной модели в СУБД MySQL.

 

 

Рисунок 5 ‑ Логическая модель базы данных

 

Разработка приложения выполнена на платформе .NETFramework 3.5 с использованием языка программирования C#. В качестве интегрированной среды разработки использована среда MicrosoftVisualStudio 2008, обладающая развитыми средствами программирования графического пользовательского интерфейса и предоставляющая широкие возможности по управлению проектами и отладке приложений. Для взаимодействия приложения с СУБД MySQL применена библиотека MySQLConnector/NET. Данная библиотека реализует все необходимые интерфейсы ADO.NET – составной части .NETFramework, предоставляющей программисту возможность единообразного доступа к различным источникам данных. Для создания графического интерфейса пользователя использована библиотека WindowsForms.

3.2. Экранные формы системы включают в себя форму «Вход в систему», главную форму «АОРТА», «Редактор данных», «Задание границ областей», «Задание цветового градиента», «Менеджер обработки данных», «Фильтрация данных», «Задание ограничения», «Общие настройки».

Вход в систему. Данная экранная форма (рисунок 6) служит для задания имени пользователя и его пароля с целью последующей аутентификации, а также содержит поля для задания сетевого адреса и порта для соединения с экземпляром сервера MySQL (данные поля доступны только при запуске приложения из-под администраторской учётной записи).

 

 

Рисунок 6 ‑ Экранная форма «Вход в систему»

 

Главное окно приложения.В случае успешной аутентификации пользователю становятся доступным меню в главном окне приложения (рисунок 7). Доступность (возможность активации) пунктов меню определяется привилегиями текущего пользователя.

 

Рисунок 7 ‑ Главное окно приложения

 

Редактор данных. Экранная форма «Редактор данных» (рисунок 8) предоставляет пользователю возможность ввода данных в базу данных, их редактирование и визуализацию. Для задания геометрических форм областей аорт в состав редактора данных включен графический редактор, который позволяет задавать положения границ областей вручную или использовать средства сегментации изображения. В последнем случае выполняется пороговая бинаризация изображения (п. 1) с ручным заданием порога по интенсивности. Визуализация данных включает в себя отображение карты областей образца аорты, на которой с помощью цветовой гаммы указываются относительные значения признаков областей. Для настройки параметров визуализации в состав графического редактора включено средство задания линейного цветового градиента.

 

 

Рисунок 8 ‑ Экранная форма «Редактор данных»

 

В левой части экранной формы «Редактор данных» расположены таблицы для отображения текстовых и числовых данных. В правой части размещено графическое изображение карты областей выбранного для исследования образца аорты. В нижней части формы располагается журнал, предназначенный для отображения вспомогательной информации.

Задание границ областей. Экранная форма (рисунок 9) позволяет пользователю выделять области аорты. Работа пользователя с данной формой начинается с загрузки изображения образца аорты из файла. Далее пользователь может указать положение границ областей вручную (например, с помощью «мыши») или воспользоваться встроенными средствами сегментации изображения. К средствам ручного задания границ относятся инструменты «кисть» и «ластик», параметры которых могут изменяться с помощью соответствующих элементов интерфейса, расположенных на панели инструментов в правой части формы. Встроенные средства сегментации поддерживают, как отмечалось выше, пороговую бинаризацию загруженного фонового изображения с ручным заданием порога интенсивности. Для помощи пользователю в правильном выборе порога на панели инструментов отображается гистограмма интенсивности пикселей изображения.

 

 

Рисунок 9 ‑ Экранная форма «Задание границ областей»

 

Результатом задания границ является бинарное изображение исследуемого фрагмента аорты. Нажатие кнопки «Обновить» реализует операцию разбиения изображения ‑ производится автоматический поиск и маркировка связных компонентов изображения, удаление недостаточно крупных областей и отнесение пикселей фона к ближайшим областям. Минимальный размер области задаётся пользователем.

Загруженное из файла исходное изображение образца аорты, а также заданные пользователем и уточнённые (в результате процедуры разбиения) границы области изображены в левой части формы в виде трёх наложенных друг на друга пиксельных слоёв. С помощью соответствующих элементов управления на панели инструментов можно включить и выключить отображение каждого из слоёв, а также изменить масштаб изображения.

Задание цветового градиента. Экранная форма «Задание цветового градиента» (рисунок 10) позволяет выбрать один из предопределённых цветовых градиентов или задать пользовательский градиент.

 

 

Рисунок 10 ‑ Экранная форма «Задание цветового градиента»

 

Кусочно-линейный цветовой градиент представляем в виде вектор-функции , значениями которой являются RGB-компоненты цвета. Аргументом этой функции является нормированное значение цвета . Значение градиента определяем на основе кусочно-линейной интерполяции компонентов цвета в заданных пользователем узловых точках (color-stops), для которых указываются соответствующие величины  (в процентах). Пользователь может изменять число узловых точек, их расположение и цвета.

Менеджер обработки данных. Данная экранная форма (рисунок 11) предоставляет пользователю средства управления последовательностью обработки данных (конвейером). В левой части формы отображается список доступных обрабатывающих модулей (обработчиков), их характеристики и описание. Обработчики могут иметь свои пользовательские интерфейсы, так что в общем случае конвейер предполагает интерактивное взаимодействие с пользователем. Правая часть формы позволяет пользователю формировать новые, выбирать и редактировать ранее сформированные конвейеры. Эта же часть формы позволяет запустить на исполнение в пошаговом или безостановочном режимах выбранный конвейер.

 

Рисунок 11 ‑ Экранная форма «Менеджер обработки данных»

 

Конвейер обработки, в общем случае, представляет собой дерево, узлами которого являются обработчики данных. При работе конвейера обработчики-предки производят входные данные для обработчиков-потомков. Средства редактирования дерева конвейера включают в себя вставку выбранного обработчика в конвейер в качестве родительского узла или в качестве узла-потомка, удаление выделенного узла или удаление поддерева, корнем которого является выделенный узел.

Фильтрация данных. Экранная форма «Фильтрация данных» (рисунок 12) является интерфейсом одного из обработчиков. Фильтрация производится по идентификаторам аорт и признаков, а также по ограничениям на значения признаков (см. ниже).

 

 

Рисунок 12 ‑ Экранная форма «Фильтрация данных»

 

Задание ограничения. Экранная форма (рисунок 13) является подчиненной формой предыдущей формы и предназначена для задания ограничений на числовые значения признаков. Ограничения в общем случае задаются в виде набора нижних и верхних границ конечного числа интервалов действительных чисел.

 

 

Рисунок 13 ‑ Экранная форма «Задание ограничений»

 

Общие настройки. Форма (рисунок 14) предназначена для задания и изменения настроек приложения, общих для всех пользователей системы. Настраиваемыми параметрами являются умолчательные имена пользователя, базы данных, сервера MySQL, а также номер порта. Эта информация сохраняется в формате XMLв специальном каталоге операционной системы.

 

 

Рисунок 14 ‑ Экранная форма «Общие настройки»

 

3.3. Структура классов. Основные классы системы представляют собой классы рассмотренных выше экранных форм. Все классы унаследованы от базового класса Formи расширяют его функциональность методами обработки сообщений и прочими методами. Вспомогательных классы и интерфейсы представлены ниже.

static class Program – главный класс приложения. Класс содержит метод Main(), который является точкой входа (entrypoint) приложения.

staticclassBitmapProcessor – класс, содержащий статические методы для работы с растровыми изображениями. Функциональность класса включает в себя цифровую обработку изображений, поиск и маркировку связных компонентов бинарных изображений, RLE-сжатие маркированных карт изображений, низкоуровневый доступ к объектам класса Bitmap, вычисление RGB-компонентов для заданного кусочно-линейного цветового градиента.

staticclassCommonAppSettings– класс, предназначенный для работы с общими (для всех пользователей) настройками приложения. Класс реализует загрузку настроек из файла и сохранение настроек в специальном файле, управление файлом настроек, загрузку умолчательных настроек, хранение настроек в переменных класса и их выдачу.

classFastPictureBox : UserControl – класс элемента графического пользовательского интерфейса, предназначенного для отображения растровой и векторной графики. Класс оптимизирован с целью ускорения отрисовки и устранения мерцания изображения при анимации.

interfaceIDataStreamProcessor – интерфейс для классов обработчиков данных. Интерфейс описывает методы и свойства (properties), которые должны быть определены в таких классах.

classDataStreamSource : IDataStreamProcessorпредназначен для нефильтрованной выборки данных из базы данных.

class DataStreamFilter : IDataStreamProcessorреализуетфильтрациюданных.

classDataStreamExporter : IDataStreamProcessorосуществляет экспорт данных в файлы с различными форматами для обработки данных сторонними приложениями.

classRegionElement – класс-оболочка, предназначенный для хранения описания элементов области аорты.

classPropertyValueLimitation – класс, предназначенный для представления ограничений на числовые значения признаков.

 

Заключение

В работе предложена методика автоматизированного исследования областей аорты, пораженных атеросклерозом, с целью нахождения взаимосвязи между соматическими мутациями митохондриального генома в клетках стенки аорты и степенью выраженности атеросклеротического поражения этих областей. Методика включает в себя следующие основные этапы: сегментация изображения аорты, маркировка связных компонентов изображения, построение графа смежности областей изображения, разбиение графа смежности.

Предложена структура, спроектирована и разработана программная система АОРТА, реализующая предложенную методику. Тестирование и апробация системы АОРТА в НИИ общей патологии и патофизиологии РАМН показали ее работоспособность и удобство использования.

В развитие работы авторы планируют следующее:

‑ оптимизация интерфейса базы данных с целю повышении ее быстродействия;

‑ использование для задания границ областей аорт не «мыши», а графического планшета;

‑ автоматическое распознавание изображений в качестве основного способа ввода информации о геометрии областей аорт.

 

Список литературы

1.              Сазонова М.А., Иванова М.М., Желанкин А.В., Митрофанов К.Ю., Хасанова З.Б., Собенин И.А., Мясоедова .ВА., Постнов А.Ю., Орехов А.Н. Прямая количественная оценка мутантного аллеля митохондриального генома // Фундаментальные науки и практика: материалы трудов второй международной телеконференции. Томск, 2010. Т. 1, № 2. С. 19-21.

2.              Прэтт У. Цифровая обработка изображений: пер. с англ. В 2 кн. Кн. 2. М.: Мир, 1982. 480 с.

3.              Шапиро Л., Стокман Дж. Компьютерное зрение: пер. с англ. М.: БИНОМ. Лаборатория знаний, 2006. 752 с.

4.              Марр Д. Зрение. Информационный подход к изучению представления и обработки зрительных образов: пер. с англ. М.: Радио и связь, 1987. 400 с.

5.              Гонсалес Р., Вудс Р. Цифровая обработка изображений. М.: Техносфера, 2005. 1072 с.

6.              Вежневец А., Баринова О. Методы сегментации изображений: автоматическая сегментация // Компьютерная графика и мультимедиа. Сетевой журнал. 2006. №  4 (4). Режим доступа: http://cgm.computergraphics.ru/content/view/147  (дата обращения 01.09.2013).

7.              Shi J., Malik J. Normalized cuts and image segmentation // IEEE Conference on Computer Vision and Pattern Recognition. 1997. P. 731-737. DOI: 10.1109/CVPR.1997.609407

8.              Sharon E., Brandt A., Basri R. Fast multiscale image segmentation // Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. 2000. Vol. 1. P. 70-77. DOI: 10.1109/CVPR.2000.855801

9.              Koker R., Sari Y. Neural network based automatic threshold selection for an industrial vision system // Proc. Int. Conf. on Signal Processing. 2003. P. 523-525.

10.          Papamarkos N. A Technique for fuzzy document binarization // Proc. of the ACM Symposium on Document Engineering. 2001. P. 152-156.

11.          Wu K., Otoo E., Suzuki K. Optimizing two-pass connected-component labeling algorithms // Pattern Analysis & Applications. 2009. Vol. 12, no. 2. P. 206-220.

12.          Haralick R.M. Some neighborhood operations // In: Real Time-Parallel Computing: Image Analysis / M. Onoe, K. Preston, Jr., A. Rosenfeld (eds.). New York: Plenum Press, 1981. P. 11-35.

13.          Suzuki K., Horiba I., Sugie N. Linear-time connected-component labeling based on sequential local operations // Comput. Vis. Image Underst. 2003. Vol. 89, no. 1. P. 1-23.

14.          Rosenfeld A., Pfaltz P. Sequential operations in digital picture processing // Journal of the Association for Computing Machinery. 1966. Vol. 12. P. 471-494.

15.          Chang F., Chen C.-J., Lu C.-J. A lineartime component-labeling algorithm using contour tracing technique // Comput. Vis. Image Underst. 2004. Vol. 93, no. 2. P. 206-220.

16.          Shapiro L. Connected component labeling and adjacency graph construction // In: Topological algorithms for digital image processing. Amsterdam, 1996. P. 1-31. DOI: 10.1016/S0923-0459(96)80011-5    (Ser. Machine Intelligence and Pattern Recognition; vol. 19).

17.          He L., Chao Y., Suzuki K., Wu K. Fast connected-component labeling // Pattern Recognition. 2009. Vol. 42, no. 9. P. 1977-1987.

18.          Стержанов М.В. Методики выделения связных компонент в штриховых бинарных изображениях. Минск: БГУИР, 2006. 6 с.

19.          Ohlander R., Price K., Reddy D.R. Picture segmentation using a recursive region splitting method // Comput. Graphics and Image Proc. 1978. Vol. 8. P. 313-333.
20.       Karypis G., Kumar V. Multilevel k-way partitioning scheme for irregular graphs // Journal of Parallel and Distributed Computing. 1998. Vol. 8, no. 1. P. 96-129.

Поделиться:
 
ПОИСК
 
elibrary crossref ulrichsweb neicon rusycon
 
ЮБИЛЕИ
ФОТОРЕПОРТАЖИ
 
СОБЫТИЯ
 
НОВОСТНАЯ ЛЕНТА



Авторы
Пресс-релизы
Библиотека
Конференции
Выставки
О проекте
Rambler's Top100
Телефон: +7 (915) 336-07-65 (строго: среда; пятница c 11-00 до 17-00)
  RSS
© 2003-2024 «Наука и образование»
Перепечатка материалов журнала без согласования с редакцией запрещена
 Тел.: +7 (915) 336-07-65 (строго: среда; пятница c 11-00 до 17-00)