samer@4: function [Y,M]=addnorm(F,X) samer@4: % addnorm - additive normalisation with respect to arbitrary function samer@4: % samer@4: % addnorm :: samer@4: % ([[N,M]] -> [[N,1]]) | ([[N,M]] -> [[1,M]]) samer@4: % ~'function to compute offsets', samer@4: % [[N,M]] ~'data to normalise' samer@4: % -> [[N,M]] ~'offset vectors' samer@4: % [[N,1]] | [[1,M]] ~'the vector that was subtracted'. samer@4: % samer@4: % This function can work row-wise OR column-wise depending on what samer@4: % the offset computing function returns. samer@4: % samer@4: % EXAMPLES samer@4: % samer@4: % To zero-mean each ROW of an N-by-M array X, use samer@4: % addnorm(@(t)mean(t,2),X); samer@4: % samer@4: % To zero the MEDIAN of each COLUMN, use samer@4: % addnorm(@median,X); samer@4: samer@4: Y=vecop1(@minus,X,F(X)); % vecshift(F(X),X); samer@4: