2012-08-15 2 views
1

Я хотел бы знать, есть ли какая-либо функция, которая даст локальные максимумы для матрицы на плоскости?Локальные максимумы для матрицы в R

Я нашел одно решение от

Given a 2D numeric "height map" matrix in R, how can I find all local maxima?

но мне кажется, что есть некоторые ошибки, где для этой линии

localmax < - очаговой (г, забавной = F, колодки = TRUE , padValue = NA)

Ошибка в фокусе (r, fun = f, pad = TRUE, padValue = NA): отсутствует аргумент "w"

Не уверен, что о том, как связаться с человеком, который дал разрешение, поэтому я просто разместить его здесь

С уважением Aftar

+2

Код, который я предоставил в этом ответе, по-прежнему работает для меня при вставке в новую сессию R. Кроме того, ввод '? Focal' указывает, что' w' (ширина окна) имеет ** значение ** по умолчанию ** 'w = 3', поэтому его вообще не нужно предоставлять. Вы можете попытаться добавить 'w = 3' явно к вызову функции, а также использовать' update.packages() ', чтобы убедиться, что вы используете текущую версию ** растрового ** пакета. Однако я подозреваю, что вам нужно предоставить нам более подробную информацию о фактическом коде, который вы пытались запустить, чтобы мы могли оказать какую-либо помощь. –

+0

да ... я должен был добавить w = 3, не уверен, что не так ... в любом случае спасибо большое !!! –

+0

Хорошо. Рад, что исправил это для вас. –

ответ

1

Лично я бы дамп матрицу в ImageJ, чтобы сделать это.
В качестве другого варианта вы можете удалить этот код Matlab http://www.mathworks.com/matlabcentral/fileexchange/37388-fast-2d-peak-finder. Этот модуль делает некоторое сглаживание, чтобы улучшить вероятность нахождения «реальных» пиков в изображении. ИМХО локальные максимумы имеют смысл только в том случае, если поверхность гладкая в математическом смысле, т. Е. Везде дифференцируема.

Смежные вопросы