msbackadj

Правильная базовая линия сигнала с peaks

Описание

пример

yOut = msbackadj(X,Intensities) настраивает базовую линию переменной необработанного сигнала с peaks путем выполнения следующих шагов.

  1. Оцените базовую линию в нескольких сдвинутых окнах ширины 200 модулей разделения.

  2. Регрессируйте изменяющуюся базовую линию к оконным точкам с помощью сплайна приближения.

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

  4. Верните скорректированные значения интенсивности в выходной матрице yOut.

пример

yOut = msbackadj(X,Intensities,Name,Value) устанавливает дополнительные опции, заданные одним или несколькими аргументами пары "имя-значение". Для примера, msbackadj(X,Intensities,'WindowSize',300) задает ширину окна переключения 300 модулей измерения.

Примеры

свернуть все

Загрузите выборку массовых данных спецификаций, включая MZ_lo_res, вектор значений m/z и Y_lo_res, матрица значений интенсивности.

load sample_lo_res

Скорректируйте базовую линию группы спектрограмм и покажите только третий спектр и его предполагаемый фон.

YB = msbackadj(MZ_lo_res,Y_lo_res,'ShowPlot',3);

Figure contains an axes. The axes with title Signal ID: 3 contains 3 objects of type line. These objects represent Original Signal, Regressed baseline, Estimated baseline points.

Оцените базовую линию для каждого спектра в Y_lo_res использование анонимной функции для описания зависимого от m/z параметра. Затем постройте график предполагаемого фона для четвертого спектра.

wf = @(mz) 200 + .001 .* mz;
msbackadj(MZ_lo_res,Y_lo_res,'StepSize',wf,'ShowPlot',4);

Figure contains an axes. The axes with title Signal ID: 4 contains 3 objects of type line. These objects represent Original Signal, Regressed baseline, Estimated baseline points.

Входные параметры

свернуть все

Значения единиц разделения для набора сигналов с peaks, заданные как вектор.

Количество элементов в векторе равняется количеству строк в Intensities. Модуль разделения может количественно определить длину волны, частоту, расстояние, время или отношение m/z в зависимости от прибора, который генерирует данные сигнала.

Типы данных: double

Значения интенсивности для набора пиков, которые имеют общую область значений единиц разделения, заданные как числовая матрица.

Каждая строка соответствует значению единицы разделения, и каждый столбец соответствует либо набору сигналов с peaks, либо времени удержания. Количество строк равняется количеству элементов в X. Данные о сигнале могут быть получены из любого метода разделения, такого как спектроскопия, ЯМР, электрофорез, хроматография или масс-спектрометрия.

Типы данных: double

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример:

Размер окна сдвига, заданный как положительная скалярная величина или указатель на функцию. По умолчанию, msbackadj оценивает базовые точки для окон с шириной 200 модулей разделения.

Если вы задаете указатель на функцию, функция оценивается в соответствующем X Значения и возвраты ширину переменной для окна. Установка указателя на функцию полезна, когда разрешение сигнала отличается в разных областях.

Результат msbackadj зависит от размера окна и шага. Определите параметры, основанные на ширине вашего peaks в сигнале и наличии возможных дрейфов. Если у вас более широкий peaks к концу сигнала, рассмотрите использование переменных размеров окна и/или размеров шага.

Пример: 'WindowSize',300

Типы данных: double | function_handle

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

Если вы задаете указатель на функцию, функция вычисляется по соответствующим значениям единиц разделения и возвращает расстояние между смежными окнами.

Пример: 'StepSize',150

Типы данных: double | function_handle

Метод для регрессии оцененных точек окна к мягкой кривой, заданный как один из следующих:

  • 'pchip' - кусочно-кубическая интерполяция с сохранением формы. Интерполированное значение в точке запроса основано на кусочно-кубической интерполяции значений в соседних точках сетки с сохранением формы.

  • 'linear' - Линейная интерполяция. Интерполированное значение в точке запроса основано на линейной интерполяции значений в соседних точках сетки в каждой соответствующей размерности.

  • 'spline' - Сплайн интерполяция. Интерполированное значение в точке запроса основано на кубической интерполяции значений в соседних точках сетки в каждой соответствующей размерности.

Пример: 'RegressionMethod','linear'

Типы данных: char | string

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

  • 'quantile' - Значение квантиля устанавливается на 10%.

  • 'em' - Каждая выборка является независимым и идентично распределенным (i.i.d) рисунком любого из двух нормальных распределенных классов (фона или peaks). Поскольку метка класса скрыта, распределения оцениваются с помощью алгоритма максимизации ожиданий. Конечное значение базовой линии является средним значением фонового класса.

Пример: 'EstimationMethod','em'

Типы данных: char | string

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

  • 'none' - Без сглаживания.

  • 'lowess' - Линейная подгонка.

  • 'loess' - Квадратичная подгонка.

  • 'rlowess' - Устойчивая линейная подгонка.

  • 'rloess' - Устойчивая квадратичная подгонка.

Пример: 'SmoothMethod','lowess'

Типы данных: char | string

Значение квантиля, заданное как положительная скалярная величина между 0 и 1.

Пример: 'QuantileValue',0.2

Типы данных: double

Флаг для сохранения высоты самого высокого пика в сигнале, заданный как true или false. По умолчанию пиковые высоты не сохраняются.

Пример: 'PreserveHeights',true

Типы данных: logical

Флаг для построения графика регрессионной базовой линии, исходного сигнала и предполагаемых базовых точек, заданный как true, false, или положительное целое число.

Поведение по умолчанию является следующим:

  • Когда вы звоните msbackadj без выходного аргумента отображается график. Только первый сигнал от входа Intensities нанесен на график.

  • Когда вы звоните msbackadj с выходным аргументом график не отображается. Но можно получить график, также установив 'ShowPlot' на true.

Можно также задать индекс одному из сигналов (столбцов) в Intensities чтобы показать соответствующий график этого сигнала.

Пример: 'ShowPlot',5

Типы данных: double | logical

Выходные аргументы

свернуть все

Скорректированные значения интенсивности, возвращенные как матрица.

Представлено до R2006a