Морфологический анализ дрожжевых клеток в биотехнологических исследованиях

Некогда читать? Сохрани:

Описание программы. Массивы: А, В, R. Переменные: Al, Bl, I, 11, 12, J, Jl, J2, К, M. N, S, Z, Zl. 70-110 считывают в массив R первичную информацию «объекты—свойства», описанную оператором DATA; 120-175 устанавливают начальные условия; 180—280 производят попарное сравнение объектов из множеств А и В: 240—260 фиксируют минимальное расстояние и точки из множеств А и В, связанные этим расстоянием; 290 печатает зафиксированные точки и расстояние между ними; 300—330 дополняют множество А точкой J2; 340—400 удаляют точку J2 множества В и переопределяют его; 440—500 вычисляют расстояние Евклида между точками 11 и 12.

Рассмотрим 10 штаммов микроорганизмов семейства кишечных: Proteus mongani (1—3); Proteus mirabilis (4—6); Citrobacter [reundi (7—10), описанных 20 признаками: 1) р-галактозидаза; 2) лактоза; 3) маннит; 4) сахароза; 5) H2S; 6) индол; 7) цитрат Na; 8) мочевина по Преусу; 9) фенилаланин; 10) дульцит; 11) рамноза; 12) ксилоза; 13) мальтоза; 14) сорбит; 15) арабиноза; 16) аргинин; 17) орнитин; 18) VP (Фогес—Проскауэр); 19) цитрат—маннит; 20) желатин.

Наличие признака обозначим единицей, отсутствие — нулем. В результате получится исходная таблица «объект — свойства», заданная в операторах DATA (40—58):

0

0

0

0

0

I

0

I

I

0

0

0

0

0

0 0

I

0 0

0

0

0

0

0

0

I

0

I

I

0

0

I

0

0

0 0

I

0 0

0

0

0

0

0

0

I

0

I

0

0

0

0

I

0

0 0

I

0 0

0

0

0

0

0

I

0

I

I

I

0

0

I

0

0

0 0

I

0 0

I

0

0

0

0

I

0

0

I

I

0

0

I

0

0

0 0

I

I 0

I

0

0

0

0

I

0

0

I

I

0

0

I

0

0

0 0

I

0 0

I

I

I

I

0

I

0

I

0

0

I

I

I

I

I

I I

0

0 0

0

I

I

I

0

I

0

I

0

0

0

I

I

I

I

I 0

0

0 0

0

I

0

I

I

I

0

I

0

0

I

I

I

I

I

I 0

0

0 I

0

I

0

I

0

I

0

I

0

0

I

I

I

I

I

I 0

0

0 I

0

Ниже приводятся результаты работы программы по этой таблице 1,2 R = 1.0000; 1,3 R = 1.4142; 2.6 R = 1.7320; 6,4 R = 1.0000; 6,5 R = 1.0000; 4,8 R = 3.3166; 8,7 R= 1.4142; 8,10 R= 1.7320; 10,9 R=1.0000; где R — расстояния между указанными объектами (например, 1,2) в пространстве свойств.

Минимальный граф, построенный по результатам работы программы, представлен на рис. 14.

Пример 5. Морфологический анализ дрожжевых клеток.

Рассмотрим задачу выдаления объектов применительно к задаче обработки микробиологического изображения — мазка с клетками микроорганизмов.

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

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

В качестве еще более детального примера рассмотрим операцию выделения контура объекта.

На рис. 15, а штриховкой показан анализируемый объект, узловые точки сетки (так называемые пикселы) соответствуют точкам, в которых измеряется яркость объекта. Жирными точками представлены пикселы, образующие восьмисвязный контур объекта. Контур называется восьмисвязным потому, что для каждого контурного пиксела А (рис. 15, б) в качестве соседних контурных точек выбираются ближайшие к точной границе объекта L точки В1 и В2 из 8 точек, окружающих пиксел А и принадлежащих объекту.

Ниже приведена программа выделения контура на языке BASIC с подробными пояснениями. Будем считать, что объект состоит не менее чем из двух точек и не пересекает границы кадра.

Пусть изображение задано двумерной матрицей яркости F(I, J), значение порога яркости обозначим через Е. Точки с F(l, J) > Е будем считать принадлежащими объекту. Введем одномерный индекс точки K = (I — 1)*N + J, где N — число элементов в строке матрицы; число элементов столбцов матрицы положим равным М. Контур объекта будем описывать одномерным массивом С (К) координат его точек. Введем параметр S, значение которого будет определять направление перехода между двумя соседними точками в соответствии с рис. 15, е.

Алгоритм выделения контура биотехнологического объекта: выделенный объект (а), принцип работы программы пошагового выделения контура (б); направления перехода для каждого пиксела (е)

Рис. 15. Алгоритм выделения контура биотехнологического объекта: выделенный объект (а), принцип работы программы пошагового выделения контура (б); направления перехода для каждого пиксела (е)

Работа программы начинается с поиска первой точки объекта в матрице F:

Продолжение работы программы, если найдена первая точка объекта; конец работы — в противном случае.

80 LET S=3

фиксируется тот факт, что последний шаг был произведен в направлении оси X:

90 LET Р=1 100 LET С(Р)=К

(Р — счетчик числа точек контура).

Запоминается координата найденной точки контура. После нахождения очередной точки контура делается пробный шаг но направлению, отличающемуся от предыдущего на 45 (т. е. S уменьшается на единицу, вместо S = 1 берется S = 8):

110 IF Sх1 THEN 140
120 LET S=8
130 GOTO 150
140 S=S-1

Меняется направление движения, делается пробный шаг:

Если точка не принадлежит объекту, то делается новый пробный шаг с S = S + 1, и снова проверяется принадлежность точки к объекту:

470 IF SX8 THEN 500
480 LET S=l
490 GOTO 510
500 LET S=S+1
510 GOTO 150

Повторяется пробный шаг по новому направлению. На очередном пробном шаге найдена точка, принадлежащая объекту и ближайшая к границе объекта среди соседей предыдущей точки контура.

Проверяется, не замкнулся ли контур, если замкнулся, то работа программы заканчивается:

540 LET I=11

550 LET J=J1

(I, J — координаты точки контура).

Число точек контура увеличиваем на единицу:

560 LET Р=Р+1

Переход к поиску следующей точки контура:

570 GOTO 100

Окончание программы:

580 STOP 590 END

Читать далее по теме: