Mentions légales du service

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

Changed Viewer class accordingly

parent f7f525cc
Branches
No related tags found
No related merge requests found
......@@ -5,7 +5,7 @@ classdef Viewer < handle
properties(SetObservable, AbortSet)
data
name = 'LightField'
state = 'uv'
state = 'xy'
range = 'class'
curView = [1,1]
curPos = [1,1]
......@@ -29,6 +29,7 @@ classdef Viewer < handle
allRange
validStates = {'xy','uv','ux','vy','yx','vu','xu','yv'};
validRanges = {'class','current','all'};
statevec = logical([0,0,0,1,1]);
end
methods
......@@ -42,20 +43,20 @@ classdef Viewer < handle
p.parse(data,varargin{:});
addlistener(obj,'data' ,'PostSet' ,@(src,evnt) obj.updateSlices);
addlistener(obj,'state' ,'PostSet' ,@(src,evnt) obj.updateSlices);
res = p.Results;
for fname = fieldnames(res)'
fn = fname{:};
obj.(fn) = res.(fn);
end
addlistener(obj,'curView' ,'PostSet' ,@(src,evnt) obj.updateFigure);
addlistener(obj,'curPos' ,'PostSet' ,@(src,evnt) obj.updateFigure);
addlistener(obj,'range' ,'PostSet' ,@(src,evnt) obj.updateFigure);
addlistener(obj,'name' ,'PostSet' ,@(src,evnt) obj.updateFigure);
addlistener(obj, 'data' , 'PostSet', @(src,evnt) obj.updateSlices);
addlistener(obj, 'state' , 'PostSet', @(src,evnt) obj.updateSlices);
addlistener(obj, 'curView', 'PostSet', @(src,evnt) obj.updateFigure);
addlistener(obj, 'curPos' , 'PostSet', @(src,evnt) obj.updateFigure);
addlistener(obj, 'range' , 'PostSet', @(src,evnt) obj.updateFigure);
addlistener(obj, 'name' , 'PostSet', @(src,evnt) obj.updateFigure);
obj.updateSlices();
obj.setRanges();
obj.view;
end
......@@ -114,34 +115,34 @@ classdef Viewer < handle
function updateSlices(obj)
switch lower(obj.state)
case 'xu'
perm = [1,3,4,2,5];
perm = [1,4,3,2,5];
case 'ux'
perm = [1,3,2,4,5];
perm = [4,1,3,2,5];
case 'yv'
perm = [2,4,3,1,5];
perm = [2,5,3,1,4];
case 'vy'
perm = [2,4,1,3,5];
perm = [5,2,3,1,4];
case 'xy'
perm = [3,4,1,2,5];
perm = [1,2,3,4,5];
case 'yx'
perm = [3,4,2,1,5];
perm = [2,1,3,4,5];
case 'uv'
perm = [1,2,3,4,5];
perm = [4,5,3,1,2];
case 'vu'
perm = [2,1,3,4,5];
perm = [5,4,3,1,2];
end
obj.slices = LF.split(permute(obj.data,perm));
obj.statevec = false(1,5);
obj.statevec(perm(4:5)) = true;
end
function updateFigure(obj)
if obj.validFigure()
subind = logical(obj.state);
subind(end+1:5) = false;
coordStr = {'u','v','x','y','c'};
coordStr(subind) = arrayfun(@num2str,obj.curView,'UniformOutput',false);
coordStr(~subind) = deal({':'});
coordStr = {'x','y','c','u','v'};
coordStr(obj.statevec) = arrayfun(@num2str,obj.curView,'UniformOutput',false);
coordStr(~obj.statevec) = deal({':'});
coordStr = ['(' strjoin(coordStr,','),')'];
title_{1} = [obj.name ' ' coordStr];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment