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);