From 7a34d11d9cc134ce6539fca3d576b492a5084918 Mon Sep 17 00:00:00 2001
From: Elian Dib <elian.dib@inria.fr>
Date: Fri, 30 Aug 2019 14:27:20 +0200
Subject: [PATCH] Enable inference of rowDims from ColDims and conversely

---
 complete.m  | 8 ++++++--
 factorize.m | 8 ++++++--
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/complete.m b/complete.m
index 65c3f1b..e219dc9 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 4dff1bc..72cbc22 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);
 
-- 
GitLab