Removing part of a dimension

2 次查看(过去 30 天)
Hi all,
I have a 4D MRI dataset of 80 x 80 x 16 x 23 from which I calculate movement outliers based upon standard deviation. I receive as output an logical array of 1x23 showing outliers with a value of 0. Example: OutlierArray = [1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
I want to remove the outlier located at, in this case, the 5th volume using the 'OutlierArray' variable and concatenate the remaining volumes.
The resulting 4D dataset would then look like 80 x 80 x 16 x 22.
Can someone please help me? Thanks in advance!

采纳的回答

Turlough Hughes
Turlough Hughes 2019-11-26
编辑:Turlough Hughes 2019-11-26
Hi Mathijs,
If your data is called MRI, then the following should do the job:
MRI(:,:,:,logical(OutlierArray))=[];
  1 个评论
Mathijs Dijsselhof
Mathijs Dijsselhof 2019-11-26
Thanks this works!
I also found my own solution:
A(:,:,:,OutlierArray>0)

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MRI 的更多信息

产品


版本

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by