Мне трудно понять метод кластеризации и сегментации биомедицинских изображений с использованием концепции временных рядов. Документ, на котором основан Вопрос: М. Lacomi et. др., Сегментация маммографических изображений на основе алгоритма хаотической кластеризации карт скачать ссылка.
В D-мерном пространстве есть набор N точек {r _i}. Каждой точке присваивается действительная переменная x _i в [0,1], а парные взаимодействия J _ij = exp [- (r _i - r _j) ^ 2 / 2a ^ 2], где a - местный масштаб длины. Изменение системы во времени дается
Функция f
очень похожа на функцию активации в нейронной сети. Это логистическая карта, которая представляет собой одномодальную и одномерную дискретную во времени нелинейную динамическую систему. Я ищу более быстрый и эффективный (векторизованный) способ применить уравнение (1), когда N = 1 миллион точек, которые являются особенностями изображений. t охватывает от 1 до 10 временных изменений. Я так и сделал, но не уверен, правильный ли код. Я случайным образом генерирую матрицу R размерности D = 50 и содержащую 100 точек данных.
N = 100;
D = 50;
T =10;
R = rand(N,D);
x = zeros(N,T);
y(1) = rand();
for i = 1:N %// for loop indicating the number of sample points
y(i+1) = 1-2*y(i)^2; %/* the iterations of the map f */
r_1(i) = R(i,:);
r_2(i) = R(i+1,:);
sum_j = 0.0;
for t = 1:T
x(i,:)= y;
a = var(r(i));
J = {exp(-(r_1(i) - r_2(i+1))^2)}/2a;
sum_j = sum_j+J*(1-2*x(i+1,t)));
x(i,t) = (1/c(i))*(sum_j);
end
end
Небольшая реализация с использованием матрицы, где каждая строка является элементом данных, а столбцы - размерами, будет очень полезна для расширения кода для многомерных изображений. Мне сложно кодировать уравнение (1).