annotate general/arrutils/extract.m @ 61:eff6bddf82e3
tip
Finally implemented perceptual brightness thing.
author |
samer |
date |
Sun, 11 Oct 2015 10:20:42 +0100 |
parents |
e44f49929e56 |
children |
|
rev |
line source |
samer@4
|
1 % EXTRACT - Extract a sub-array
|
samer@4
|
2 %
|
samer@4
|
3 % extract ::
|
samer@4
|
4 % [[size:[E]]],
|
samer@4
|
5 % n:1..E,
|
samer@4
|
6 % [[2]->natural]~'start and end indices'
|
samer@4
|
7 % -> [[size1:[E]].
|
samer@4
|
8 %
|
samer@4
|
9 % Examples (assuming A is 3D):
|
samer@4
|
10 % extract(A,2,[4 20]) = A(:,4:20,:)
|
samer@4
|
11 % extract(A,3,[2 10]) = A(:,:,2:10)
|
samer@4
|
12 function y=extract(x,dim,range)
|
samer@4
|
13
|
samer@4
|
14 persistent colons
|
samer@4
|
15
|
samer@4
|
16 n=ndims(x);
|
samer@4
|
17 if length(colons)<n,
|
samer@4
|
18 colons=repmat({':'},1,n);
|
samer@4
|
19 end
|
samer@4
|
20
|
samer@4
|
21 s=colons(1:n); %cell(1,n); s(:)={':'};
|
samer@4
|
22 s{dim}=range(1):range(2);
|
samer@4
|
23 S.type='()';
|
samer@4
|
24 S.subs=s;
|
samer@4
|
25 y=subsref(x,S);
|