Mentions légales du service

Skip to content
Snippets Groups Projects
Commit bf7e7b43 authored by DIB Elian's avatar DIB Elian
Browse files

Changed value to color where relevant

parent 35eb56e6
Branches
No related tags found
No related merge requests found
function [Vals,Offs,varargout] = align(Vals,Offs,filter,varargin) function [Cols,Offs,varargout] = align(Cols,Offs,filter,varargin)
%ALIGN Summary of this function goes here %ALIGN Summary of this function goes here
% Detailed explanation goes here % Detailed explanation goes here
nvararg = nargin-3; nvararg = nargin-3;
numVal = numel(Vals); numLab = numel(Cols);
Maxs = cell(size(Vals)); Maxs = cell(size(Cols));
for val = 1:numVal for lab = 1:numLab
if ~isempty(Vals{val}) if ~isempty(Cols{lab})
break break
end end
end end
Off_ = Offs{val}; Off = Offs{lab};
numDim = numel(Off_); numDim = numel(Off);
Max_ = size(Vals{val}); Max = size(Cols{lab});
Max_(end+1:numDim) = 1; Max(end+1:numDim) = 1;
Max_ = Max_+Off_; Max = Max+Off;
for val = 1:numVal for lab = 1:numLab
if isempty(Vals{val}) if isempty(Cols{lab})
continue continue
end end
Maxs{val} = size(Vals{val}); Maxs{lab} = size(Cols{lab});
Maxs{val}(end+1:numDim) = 1; Maxs{lab}(end+1:numDim) = 1;
Maxs{val} = Maxs{val} + Offs{val}; Maxs{lab} = Maxs{lab} + Offs{lab};
Off_ = min(Offs{val},Off_); Off = min(Offs{lab},Off);
Max_ = max(Maxs{val},Max_); Max = max(Maxs{lab},Max);
end end
varargout = varargin; varargout = varargin;
for val = 1:numVal for lab = 1:numLab
if isempty(Vals{val}) if isempty(Cols{lab})
continue continue
end end
padPre = Offs{val}-Off_; padPre = Offs{lab}-Off;
padPost = Max_-Maxs{val}; padPost = Max-Maxs{lab};
padPre (~filter) = 0; padPre (~filter) = 0;
padPost(~filter) = 0; padPost(~filter) = 0;
Vals{val} = padarray(Vals{val},padPre ,nan,'pre' ); Cols{lab} = padarray(Cols{lab},padPre ,nan,'pre' );
Vals{val} = padarray(Vals{val},padPost,nan,'post'); Cols{lab} = padarray(Cols{lab},padPost,nan,'post');
for it = 1:nvararg for it = 1:nvararg
varargout{it}{val} = padarray(varargout{it}{val},padPre ,nan,'pre' ); varargout{it}{lab} = padarray(varargout{it}{lab},padPre ,nan,'pre' );
varargout{it}{val} = padarray(varargout{it}{val},padPost,nan,'post'); varargout{it}{lab} = padarray(varargout{it}{lab},padPost,nan,'post');
end end
Offs{val} = Off_; Offs{lab} = Off;
end end
end end
\ No newline at end of file
function [Val,Lab,Off,varargout] = join(Vals,Labs,Offs,varargin) function [Col,Lab,Off,varargout] = join(Cols,Labs,Offs,varargin)
%JOIN Summary of this function goes here %JOIN Summary of this function goes here
% Detailed explanation goes here % Detailed explanation goes here
...@@ -7,35 +7,35 @@ numLab = numel(Labs); ...@@ -7,35 +7,35 @@ numLab = numel(Labs);
Sizes = cell(1,numLab); Sizes = cell(1,numLab);
for lab = 1:numLab for lab = 1:numLab
if ~isempty(Vals{lab}) if ~isempty(Cols{lab})
break break
end end
end end
Off = Offs{lab}; Off = Offs{lab};
Max = size(Vals{lab}); Max = size(Cols{lab});
numDim = numel(Offs{lab}); numDim = numel(Offs{lab});
Max(end+1:numDim) = 1; Max(end+1:numDim) = 1;
Max = Off+Max; Max = Off+Max;
for lab = 1:numLab for lab = 1:numLab
if isempty(Vals{lab}) if isempty(Cols{lab})
continue continue
end end
Off = min(Off,Offs{lab}); Off = min(Off,Offs{lab});
Sizes{lab} = size(Vals{lab}); Sizes{lab} = size(Cols{lab});
Sizes{lab}(end+1:numDim) = 1; Sizes{lab}(end+1:numDim) = 1;
Max = max(Max,Offs{lab}+Sizes{lab}); Max = max(Max,Offs{lab}+Sizes{lab});
end end
Size = Max-Off; Size = Max-Off;
[Val,varargout{1:nvararg}] = deal(nan(Size)); [Col,varargout{1:nvararg}] = deal(nan(Size));
Lab = zeros(Size); Lab = zeros(Size);
for lab = 1:numLab for lab = 1:numLab
if isempty(Vals{lab}) if isempty(Cols{lab})
continue continue
end end
...@@ -47,7 +47,7 @@ for lab = 1:numLab ...@@ -47,7 +47,7 @@ for lab = 1:numLab
inds = sub2ind(Size,GV{:}); inds = sub2ind(Size,GV{:});
inds = inds(Mask(:)); inds = inds(Mask(:));
Val(inds) = Vals{lab}(Mask(:)); Col(inds) = Cols{lab}(Mask(:));
Lab(inds) = Labs{lab}(Mask(:)); Lab(inds) = Labs{lab}(Mask(:));
for it = 1:nvararg for it = 1:nvararg
......
function [Vals,Labs,Offs,varargout] = split(Val,Lab,Off,varargin) function [Cols,Labs,Offs,varargout] = split(Col,Lab,Off,varargin)
%SPLIT Summary of this function goes here %SPLIT Summary of this function goes here
% Detailed explanation goes here % Detailed explanation goes here
nvararg = nargin-3; nvararg = nargin-3;
numDim = numel(Off); numDim = numel(Off);
numLab = max(Lab(:)); numLab = max(Lab(:));
[Vals,Labs,Offs,varargout{1:nvararg}] = deal(cell(1,numLab)); [Cols,Labs,Offs,varargout{1:nvararg}] = deal(cell(1,numLab));
Offs(:) = deal({Off}); Offs(:) = deal({Off});
...@@ -14,7 +14,7 @@ for lab = 1:numLab ...@@ -14,7 +14,7 @@ for lab = 1:numLab
continue continue
end end
[Vals{lab},gv] = utils.tighten(Val,Lab==lab); [Cols{lab},gv] = utils.tighten(Col,Lab==lab);
Labs{lab} = Lab(gv{:}); Labs{lab} = Lab(gv{:});
gv(end+1:numDim) = deal({1}); gv(end+1:numDim) = deal({1});
Offs{lab} = Off-1+cellfun(@(v) v(1),gv); Offs{lab} = Off-1+cellfun(@(v) v(1),gv);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment