主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

カスタムラベル付け関数

信号ラベラーを使用すると,自動ラベル付けタスクを実行できます。[ピークラベラー]以外にも,[ラベル]タブの[値の自動処理)ギャラリーには,自動的に信号にラベル付けするために使用できる関数が含まれています。

自动化价值画廊

カスタムラベル付け関数の作成

すべてのカスタム自動ラベル付け関数の最初の行は,次の形式の定義ステートメントで構成されています。

函数[labelVals, labelLocs] =外汇(x, t, parentLabelVal parentLabelLoc,变长度输入宗量)
定義ステートメントには,関数名と,必須およびオプションの引数のセットが含まれています。

  • 最初の入力引数xは,入力信号です。関数を記述する場合、xは各列にチャネルに対応するデータが含まれる行列であると想定します。チャネルの長さが異なる場合,xは列ベクトルの细胞配列であると想定します。

  • 2番目の入力引数tは,時間値を格納します。関数を記述する場合,tは各列にチャネルに対応する時間情報が含まれる行列であると想定します。チャネルの長さが異なる場合,tは列ベクトルの细胞配列であると想定します。

    メモ

    • 単一チャネルメンバーの場合,カスタム自動ラベル付け関数は,データと時間値を倍精度のベクトルとして取得します。

    • マルチチャネルメンバーの場合,カスタム自動ラベル付け関数は,データと時間値を行列または细胞配列として取得します。

    • カスタム自動ラベル付け関数は,メンバーのすべてのチャネルを入力として取得しますが,すべてを処理する必要はありません。関数が処理するチャネルを選択できます。

  • 3番目の入力引数parentLabelValは,出力サブラベルに関連付けられた親ラベル値であり,数値,逻辑,または字符串スカラーが含まれます。この引数は,サブラベルのラベル付けを自動化する関数にのみ渡されます。関数が親ラベル用の場合は,parentLabelValは空であると想定します。

  • 4番目の入力引数parentLabelLocには,以下が含まれます。

    • 親ラベルが属性の場合は,空のベクトル

    • 親ラベルが関心領域(ROI)の場合は,ROI範囲の2要素の数値行ベクトル

    • 親ラベルが点の場合は,点の位置を表す数値スカラー

    この引数は,サブラベルのラベル付けを自動化する関数にのみ渡されます。関数が親ラベル用の場合は,parentLabelLocは空であると想定します。

    メモ

    • 親ラベルの場合,選択された各メンバーに対して自動ラベル付け関数が実行されます。

    • サブラベルの場合,選択されたそれぞれのメンバーについて,一度に1つの親ラベルのインスタンスに対して,自動ラベル付け関数が実行されます。

  • 追加の入力引数を指定するには,变长度输入宗量を使用します。追加の入力引数がない場合は,变长度输入宗量を省略できます。追加の引数は,(自動ラベル付け]ボタンをクリックすると表示されるダイアログボックスに順序付きのコンマ区切りリストとして入力します。

  • 最初の出力引数labelValsには,ラベル値が含まれます。labelValsは以下でなければなりません。

    • 出力ラベルが属性の場合,数値,逻辑,または字符串スカラー

    • 出力ラベルがROIまたは点の場合,数値,逻辑,または字符串値を持つ列ベクトル

  • 2番目の出力引数labelLocsには,ラベルの位置が含まれます。labelLocsは以下でなければなりません。

    • 出力ラベルが属性の場合は,空のベクトル

    • 出力ラベルがROIの場合は,ROI範囲の2列の行列

    • 出力ラベルが点の場合は,点の位置の列ベクトル

  • アルゴリズムを実装するために,MATLAB®またはシステムにインストールされているいずれかのツールボックスの関数を使用できます。

詳細については,深層学習ネットワークを使用した心电图信号のQRS群とRピークのラベル付けおよび外部APIを使用したオーディオ信号の発声された単語のラベル付けを参照してください。

例:平均RMS値

この関数は信号の平均RMS値を計算し,数値属性としてこの値を使用して信号にラベル付けします。メンバーに複数のチャネルがある場合,この関数は各チャネルのRMS値を計算し,値を平均します。チャネルは異なる長さをもつことができます。

函数[labelVals, labelLocs] = meanRMS (x, t, parentLabelVal parentLabelLoc,变长度输入宗量)以均方根值作为属性的标签信号如果iscell(x) labelVals = mean(cellfun(@rms,x))其他的labelVals =意味着(rms (x));结束labelLocs = [];结束

例:ゼロクロッシング

この関数は,信号のゼロクロッシングを検出し,立ち上がり遷移の場合は“上升”,立ち下がり遷移の場合は“下降”としてラベル付けします。

函数[labelVals, labelLocs] =转换(x, t, parentLabelVal parentLabelLoc,变长度输入宗量)%将零交叉标记为“上升”或“下降”nchan =大小(x, 2);tt = t (: 1);labelVals =细胞(nchan, 1);labelLocs =细胞(nchan, 1);Kj = 1:nchan [~,ltup,utup] = risetime(x(:, Kj),tt,“考虑”0.1 * [1]);ups = (utup + ltup) / 2;upc = repmat (“上升”长度(ups) 1);[~, ltdn utdn] = falltime (x (:, kj), tt,“考虑”0.1 * [1]);dns = (utdn + ltdn) / 2;dnc = repmat (“下降”长度(dns) 1);labelVals {kj} = (upc; dnc);labelLocs {kj} = (ups, dns);结束labelVals =猫(1,labelVals {:});labelLocs = cell2mat (labelLocs);结束

例:マルチチャネルラベル付け

この論理関数は,次のようなマルチチャネル信号の領域を真正としてラベル付けします。

  • 最初のチャネルの振幅が負である。

  • 3番目のチャネルの振幅が,ユーザー指定の値mxよりも大きい。mxを指定しない場合は,既定値の0.1が使用されます。

函数[labelVals, labelLocs] = greaterThan (x, t, parentLabelVal parentLabelLoc,变长度输入宗量)%标记第一通道和第三通道为负的区域大于给定值如果Nargin <5 mx = 0.1;其他的mx =变长度输入宗量{1};结束xr = x (: 1);xx = x (:, 3);tt = t (: 1);ss = signalMask(xx >= mx & xr < 0);x = roimask (ss);labelLocs = tt (x.ROILimits);labelVals =逻辑(双(x.Value));结束

ギャラリーへのカスタムラベル付け関数の追加

カスタム自動ラベル付け関数を追加するには,[値の自動処理)ギャラリーの隣にある矢印をクリックして,[カスタム関数の追加)を選択します。ダイアログボックスで,以下のフィールドを指定します。

  • 名前——追加する関数の名前を指定します。

  • 説明——関数の機能の簡単な説明を追加し,オプションの入力引数について説明します。

  • ラベルタイプ——関数が生成するラベルのタイプを指定します。[属性](既定の設定),(ROI),または[点]を選択します。

    メモ

    指定した[ラベルタイプ]に基づいて,信号ラベラー[値の自動処理)ギャラリーの適切なカテゴリに関数を配置します。ラベル定義を選択すると,ギャラリーでは,その定義タイプで使用できる関数のみが有効になります。

関数を書き込み済みでその関数が現在のフォルダーまたはMATLABパスにある場合,(信号ラベラー]はその関数をギャラリーに組み込みます。関数をまだ書き込んでいない場合,(信号ラベラー]はエディターで空白のテンプレートを開きます。

ギャラリーでのカスタムラベル付け関数の管理

必要に応じて,[値の自動処理)ギャラリーの[カスタム関数の管理)オプションを使用して,関数の編集,関数の説明の編集,または関数の削除ができます。

メモ

[カスタム関数の管理)オプションを使用すると,[値の自動処理)ギャラリーに表示される関数の説明のみが変更されます。関数を含むファイル内の説明を変更する場合は、ファイルを編集しなければなりません。

参考

アプリ

関数

関連する例

詳細