new func in the maskVM lib

develop
Aleksey_K 2024-07-23 10:52:25 +09:00
parent 38a98a71ae
commit 3b4f318519
2 changed files with 43 additions and 3 deletions

View File

@ -32,7 +32,7 @@ export function specModel(options) {
return result;
}; //построение упрощенной модели спектра
export function getMask(options) {
export function createMask(options) {
let result = {}; //результат
let data = options.src1.data; //массив точек спектра для сравнения с портретом
let mask = options.src2.base; //массив точек базовой линии для построения портрета дефекта
@ -133,3 +133,43 @@ export function getMask(options) {
return result;
}; //построение портрета дефекта
export function getMask(options) {
let __result = {}; //результат
let __spec = options.src1; //источник данных для построения модели
let __set = options.src2; //источник данных для построения портретов дефектов
let __rows = Object.keys(__set); //массив ключей объекта (наименование портретов)
let __model = specModel(
{
src: __spec, //спектр для построения модели (объект)
tol: options.tol, //коридор обнаружения гармоники, %
color: options.color, //цвет модели в формате HEX
canvas: options.canvas //координатная плоскость для отрисовки
}
); //рисуем упрощенную модель спектра огибающей
for (let i = 0; i < __rows.length; i++) {
let __mask_name = __rows[i]; //имена портретов
let __mask = createMask(
{
name: __mask_name, //имя маски дефекта
src1: __model, //модель спектра для анализа (объект)
src2: __spec, //базовый спектр для построения портрета (объект)
filter: options.filter, //полосовой фильтр (для определения разницы амплитуд гармонической и случайной составляющей)
color: __set[__mask_name].clr, //цвет портрета в формате HEX
freq: __set[__mask_name].frq, //функциональная частота, Гц
harms: __set[__mask_name].hrm, //кол-во гармоник в портрете, шт
lvl: __set[__mask_name].lvl, //глубина модуляции сильного дефекта для портрета, %
tol: options.tol, //коридор обнаружения гармоники на портрете, %
type: __set[__mask_name].type, //тип портрета (0 - обычный ряд, 1 - четные составляющие)
coef: __set[__mask_name].coef, //коэффициент затухания гармоник портрета: дефект (0.05 - 0.10), износ (0.30 - 0.50)
canvas: options.canvas //координатная плоскость для отрисовки маски
}
);
if (__mask.corr >= 0.5) { __result[__mask.name] = __mask.corr }; //добавляем данные в результат
gtl.log.info("Вероятность: " + __mask.name, __mask.corr); //выводим корреляцию гармоник в лог
};
return __result;
}; //оценка состояния методом maskVM

View File

@ -131,4 +131,4 @@ export function getSpm(args) {
};
return __result;
}; //перевод значений массива в дБ
}; //оценка состояния методом spmVM