MATLAB ヘルプ センター
categorical シーケンス マスクの取得
seq = catmask(msk)
seq = catmask(msk,len)
seq = catmask(___,'OverlapAction',action)
seq = catmask(___,'OverlapAction','prioritizeByList','PriorityList',idxlist)
[seq,numroi,cats] = catmask(___)
seq = catmask(msk) は、msk のソースとプロパティに基づいて、categorical シーケンス マスク seq を返します。
seq
msk
seq = catmask(msk,len) は、seq の長さを指定します。
len
例
seq = catmask(___,'OverlapAction',action) は、異なるカテゴリ値をもちオーバーラップする領域を signalMask がどのように処理するかを指定します。
action
signalMask
seq = catmask(___,'OverlapAction','prioritizeByList','PriorityList',idxlist) は、異なるカテゴリ値をもつ領域がオーバーラップするときの msk カテゴリの優先順位を指定します。
idxlist
[seq,numroi,cats] = catmask(___) は、cats にリストされた各カテゴリで見つかった領域の数が格納されたベクトル numroi も返します。
numroi
cats
すべて折りたたむ
2 ~ 30 の番号が付けられたサンプルを含む 4 つの関心領域をもつ関心領域 (ROI) table のマスクについて考えます。カテゴリ ラベルを A および B として指定します。このマスクを使用して、signalMask オブジェクトを作成します。
A
B
roiTbl = table([2 5; 7 10; 15 25; 28 30],["A","B","B","A"]'); m = signalMask(roiTbl);
シーケンス長に 35 を指定し、このオブジェクトから categorical マスクを抽出します。30 番目より先のサンプルは、<undefined> として返されます。
<undefined>
catSeq = catmask(m,35); catSeq(max(roiTbl.Var1(end)):end)
ans = 6×1 categorical A <undefined> <undefined> <undefined> <undefined> <undefined>
categorical マスクを再度抽出します。ただし、今度はシーケンス長に 8 を指定します。8 番目より先のサンプルは削除されます。
catSeq = catmask(m,8)
catSeq = 8×1 categorical <undefined> A A A A <undefined> B B
バイナリ シーケンスの 18 行 2 列のマスクについて考えます。このマスクを使用して、signalMask オブジェクトを作成します。カテゴリに A と B のラベルをこの順序で付けます。
binSeqs = logical([ ... 0 0 1 1 1 0 0 1 1 0 0 0 1 1 1 1 0 1; 1 1 0 0 0 1 1 1 1 0 1 1 0 1 0 1 1 0]'); m = signalMask(binSeqs); m.Categories = ["A" "B"];
このオブジェクトから categorical マスクを抽出します。カテゴリ間のオーバーラップを処理するために、2 つのカテゴリで共有されているサンプルをリスト内の最初のカテゴリである A に割り当てます。
seqA = catmask(m,'OverlapAction','PrioritizeByList'); seqA(binSeqs(:,1) & binSeqs(:,2))
ans = 4×1 categorical A A A A
categorical マスクを再度抽出します。ただし、今度は共有されているサンプルを明示的な優先度リストに基づいて B に割り当て、カテゴリ間のオーバーラップを処理します。
seqB = catmask(m,'OverlapAction','PrioritizeByList', ... 'PriorityList',[2 1]); seqB(binSeqs(:,1) & binSeqs(:,2))
ans = 4×1 categorical B B B B
サンプルが 3 個未満の領域を削除してオーバーラップを処理します。その結果として変更されたバイナリシーケンス マスクを表示します。
m.MinLength = 3; binmask(m)'
ans = 2×18 logical array 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0
以前に共有されていたサンプルは、残りの領域のカテゴリに割り当てられます。
seqM = catmask(m); seqM(binSeqs(:,1) & binSeqs(:,2))
ans = 4×1 categorical B B A A
信号マスク。signalMask オブジェクトとして指定します。
例: signalMask(table([2 4;6 7],["male" "female"]')) は、3 つのサンプルをもつ領域 male と 2 つのサンプルをもつ領域 female を使用して信号マスクを指定します。
signalMask(table([2 4;6 7],["male" "female"]'))
male
female
例: signalMask(categorical(["" "male" "male" "male" "" "female" "female" ""]',["male" "female"])) は、3 つのサンプルをもつ領域 male と 2 つのサンプルをもつ領域 female を使用して信号マスクを指定します。
signalMask(categorical(["" "male" "male" "male" "" "female" "female" ""]',["male" "female"]))
例: signalMask([0 1 1 1 0 0 0 0;0 0 0 0 0 1 1 0]','Categories',["male" "female"]) は、3 つのサンプルをもつ領域 male と 2 つのサンプルをもつ領域 female を使用して信号マスクを指定します。
signalMask([0 1 1 1 0 0 0 0;0 0 0 0 0 1 1 0]','Categories',["male" "female"])
出力シーケンス長。整数スカラーとして指定します。len を超える領域は無視されます。次の場合、出力 categorical シーケンス seq は <missing> の値でパディングされます。
<missing>
SourceType が 'categoricalSequence' または 'binarySequences' で、len がソース シーケンスの長さより大きい。
SourceType
'categoricalSequence'
'binarySequences'
SourceType が 'roiTable' で、len が領域の最大インデックスより大きい。
'roiTable'
RightExtension が非ゼロで、SourceType が 'categoricalSequence' または 'binarySequences' の場合、catmask によって領域が拡張され (シーケンス長を超えて拡張される場合があります)、LeftExtension、LeftShortening、RightShortening、MergeDistance、MinLength に基づいて他のすべての変更が適用されてから、元のシーケンス長または len で指定された長さになるように変更適用後のシーケンスが打ち切られます。
RightExtension
catmask
LeftExtension
LeftShortening
RightShortening
MergeDistance
MinLength
最後に、引数 'OverlapAction' が指定されている場合、この引数に設定された値に基づいて、catmask がオーバーラップを処理します。
'OverlapAction'
出力の長さの詳細については、領域範囲の変更を参照してください。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
'error'
'prioritizeByList'
オーバーラップを処理する方法。'error' または 'prioritizeByList' として指定します。
'error' — 異なるカテゴリをもつ領域がオーバーラップしている場合、catmask がエラーをスローします。
'prioritizeByList' — catmask は、idxlist で指定された優先順位のリストを使用し、異なるカテゴリをもつ領域のオーバーラップを処理します。リストの先頭にあるカテゴリの優先順位が最も高く、オーバーラップが存在する場合、そのカテゴリのサンプルはすべて保持されます。リスト内の 2 番目のカテゴリはその次に優先順位が高く、オーバーラップが存在する場合、そのカテゴリのサンプルのうち解決済みでないサンプルが保持されます。
idxlist が指定されていない場合、catmask は、msk の Categories プロパティに表れるのと同じ順序でカテゴリの優先順位を決定します。
Categories
データ型: char | string
char
string
オーバーラップが存在する場合の優先順位。整数のベクトルとして指定します。idxlist のインデックスは、msk の Categories のエントリに対応し、異なるカテゴリ値をもつ領域がオーバーラップする場合には、それらのエントリを処理する優先度の順に並べられます。idxlist には、Categories のすべての要素に対するインデックスが含まれていなければなりません。リストの先頭にあるカテゴリの優先順位が最も高くなります。これは、異なるカテゴリをもつ領域がオーバーラップする場合、優先順位が最も高いカテゴリの値がすべて保持されることを意味します。続いて、オーバーラップしていない残りのサンプルのうち、次に優先順位の高い値が保持され、以下同様に処理されます。
categorical シーケンス マスク。categorical 配列として返されます。関心領域に属さず、ラベル値をもたない seq のサンプルは、欠損値を表す categorical 値に設定され、<undefined> と表示されます。詳細については、categorical を参照してください。
categorical
SourceType が 'categoricalSequence' または 'binarySequences' で、len が指定されていない場合、seqs はソース マスク シーケンスと同じ長さになります。
seqs
SourceType が 'roiTable' の場合、len を指定しなければなりません。
msk のプロパティが seqs の長さに及ぼす影響の詳細については、領域範囲の変更を参照してください。
cats の各カテゴリで見つかった領域の数。整数のベクトルとして返されます。
カテゴリ リスト。string のベクトルとして返されます。
R2020b で導入
labeledSignalSet
signalLabelDefinition
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ