diff --git a/complete.m b/complete.m index 65c3f1bdc3823234a9e0c3e5ec5f2e2614e227b9..e219dc9051d695c770c9874eec93b5303459fc2a 100644 --- a/complete.m +++ b/complete.m @@ -4,8 +4,8 @@ function [LFRef,LFMask] = complete(LFRef,varargin) LFSize = size(LFRef); numDims = ndims(LFRef); -colDims = 1:min(3,numDims); -rowDims = 4:numDims; +colDims = []; +rowDims = []; p = inputParser; p.StructExpand = true; p.KeepUnmatched = true; p.addParameter('colDims', colDims, @isnumeric); @@ -15,6 +15,10 @@ p.parse(varargin{:}); colDims = p.Results.colDims; rowDims = p.Results.rowDims; +if (isempty(colDims)&&isempty(rowDims)); colDims = 1:min(3,numDims); end +if isempty(colDims); colDims = setdiff(1:numDims,rowDims); end +if isempty(rowDims); rowDims = setdiff(1:numDims,colDims); end + colSize = LFSize(colDims); rowSize = LFSize(rowDims); diff --git a/factorize.m b/factorize.m index 4dff1bc5dcc5db5b52d7307dc3349d11085877e9..72cbc221dd22b00a27145f27fc0af39693e43b0b 100644 --- a/factorize.m +++ b/factorize.m @@ -4,8 +4,8 @@ function [LFB,C,U,S,V] = factorize(LFRef,k,varargin) LFSize = size(LFRef); numDims = ndims(LFRef); -colDims = 1:min(3,numDims); -rowDims = 4:numDims; +colDims = []; +rowDims = []; p = inputParser; p.StructExpand = true; p.KeepUnmatched = true; p.addParameter('colDims', colDims, @isnumeric); @@ -15,6 +15,10 @@ p.parse(varargin{:}); colDims = p.Results.colDims; rowDims = p.Results.rowDims; +if (isempty(colDims)&&isempty(rowDims)); colDims = 1:min(3,numDims); end +if isempty(colDims); colDims = setdiff(1:numDims,rowDims); end +if isempty(rowDims); rowDims = setdiff(1:numDims,colDims); end + colSize = LFSize(colDims); rowSize = LFSize(rowDims);