Since R2020b

## Syntax

``tbl = roimask(msk)``
``[tbl,numroi,cats] = roimask(msk)``

## Description

example

````tbl = roimask(msk)` returns a region-of-interest (ROI) table mask, `tbl`, based on the source and properties in `msk`.```

example

````[tbl,numroi,cats] = roimask(msk)` also returns `numroi`, a vector containing the number of regions found for each of the categories listed in `cats`.```

## Examples

collapse all

Generate an 18-by-2 mask of binary sequences. Use the mask to create a `signalMask` object and label the categories as `A` and `B`. Extract an ROI table mask from the object.

```binSeqs = logical([ ... 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1; 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0]'); m = signalMask(binSeqs,'Categories',["A" "B"]); roiTbl = roimask(m)```
```roiTbl=4×2 table ROILimits Value _________ _____ 1 2 B 5 7 A 10 12 B 15 18 A ```

Extend the regions of interest by one sample to the left and right.

```m.RightExtension = 1; m.LeftExtension = 1; roiTbl = roimask(m)```
```roiTbl=4×2 table ROILimits Value _________ _____ 1 3 B 4 8 A 9 13 B 14 19 A ```

Generate a 16-sample categorical sequence mask with two categories, `A` and `B`. Specify as `missing` those samples that do not belong to `A` or `B`. Use the mask to create a `signalMask` object. Extract an ROI table mask from the object.

```catSeq = categorical(["A" "A" "A" missing missing "B" "B" ... missing missing "B" "B" missing "B" "A" "A" "A"]); m = signalMask(catSeq); roiTbl = roimask(m)```
```roiTbl=5×2 table ROILimits Value _________ _____ 1 3 A 6 7 B 10 11 B 13 13 B 14 16 A ```

Output a list of categories and the number of regions belonging to each category.

`[~,nroi,cats] = roimask(m)`
```nroi = 2×1 2 3 ```
```cats = 2x1 string "A" "B" ```

Merge same-category regions separated by only one sample.

```m.MergeDistance = 1; roiTbl = roimask(m)```
```roiTbl=4×2 table ROILimits Value _________ _____ 1 3 A 6 7 B 10 13 B 14 16 A ```

## Input Arguments

collapse all

Signal mask, specified as a `signalMask` object.

Example: `signalMask(table([2 4;6 7],["male" "female"]'))` specifies a signal mask with a three-sample `male` region and a two-sample `female` region.

Example: ```signalMask(categorical(["" "male" "male" "male" "" "female" "female" ""]',["male" "female"]))``` specifies a signal mask with a three-sample `male` region and a two-sample `female` region.

Example: ```signalMask([0 1 1 1 0 0 0 0;0 0 0 0 0 1 1 0]','Categories',["male" "female"])``` specifies a signal mask with a three-sample `male` region and a two-sample `female` region.

## Output Arguments

collapse all

ROI table mask, returned as a table.

Number of regions found for each of the categories in `cats`, returned as a vector of integers.

Category list, returned as a vector of strings.

## Version History

Introduced in R2020b