


intLoadDataViewer : used to load data in superSeggerViewer
INPUT :
dirname : seg directory name
contents: contains all names of files in the directory
nn : image number to be loaded
num_im : total number of images
clist : clist
FLAGS : current flags
OUTPUT :
data_r: reverse frame data file (err/seg)
data_c: current frame data file (err/seg)
data_f: forward frame data file (err/seg)
Copyright (C) 2016 Wiggins Lab
Written by Paul Wiggins, Stella Stylianidou, Connor Brennan.
University of Washington, 2016
This file is part of SuperSegger.
SuperSegger is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SuperSegger is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SuperSegger. If not, see <http://www.gnu.org/licenses/>.


0001 function [data_r, data_c, data_f] = intLoadDataViewer(dirname, contents, nn, num_im, clist, FLAGS) 0002 % intLoadDataViewer : used to load data in superSeggerViewer 0003 % INPUT : 0004 % dirname : seg directory name 0005 % contents: contains all names of files in the directory 0006 % nn : image number to be loaded 0007 % num_im : total number of images 0008 % clist : clist 0009 % FLAGS : current flags 0010 % 0011 % OUTPUT : 0012 % data_r: reverse frame data file (err/seg) 0013 % data_c: current frame data file (err/seg) 0014 % data_f: forward frame data file (err/seg) 0015 % 0016 % Copyright (C) 2016 Wiggins Lab 0017 % Written by Paul Wiggins, Stella Stylianidou, Connor Brennan. 0018 % University of Washington, 2016 0019 % This file is part of SuperSegger. 0020 % 0021 % SuperSegger is free software: you can redistribute it and/or modify 0022 % it under the terms of the GNU General Public License as published by 0023 % the Free Software Foundation, either version 3 of the License, or 0024 % (at your option) any later version. 0025 % 0026 % SuperSegger is distributed in the hope that it will be useful, 0027 % but WITHOUT ANY WARRANTY; without even the implied warranty of 0028 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0029 % GNU General Public License for more details. 0030 % 0031 % You should have received a copy of the GNU General Public License 0032 % along with SuperSegger. If not, see <http://www.gnu.org/licenses/>. 0033 0034 0035 data_c = loaderInternal([dirname,contents(nn).name], clist); 0036 data_r = []; 0037 data_f = []; 0038 if shouldLoadNeighborFrames(FLAGS) 0039 if nn > 1 0040 data_r = loaderInternal([dirname,contents(nn-1).name], clist); 0041 end 0042 if nn < num_im-1 0043 data_f = loaderInternal([dirname,contents(nn+1).name], clist); 0044 end 0045 end 0046 end 0047 0048 function value = shouldLoadNeighborFrames(FLAGS) 0049 % shouldLoadNeighborFrames : checks if reverse and forward frame should be 0050 % loaded. 0051 value = FLAGS.m_flag == 1 || FLAGS.showLinks == 1; 0052 end 0053 0054 function data = loaderInternal(filename, clist) 0055 % loaderInternal : loads the clist and creates outlines of the cells in the 0056 % clist. 0057 data = load(filename); 0058 ss = size(data.phase); 0059 if isfield( data, 'mask_cell' ) 0060 data.outline = xor(bwmorph( data.mask_cell,'dilate'), data.mask_cell); 0061 end 0062 if ~isempty(clist) 0063 clist = gate(clist); 0064 data.cell_outline = false(ss); 0065 if isfield( data, 'regs' ) && isfield( data.regs, 'ID' ) 0066 ind = find(ismember(data.regs.ID,clist.data(:,1))); 0067 mask_tmp = ismember( data.regs.regs_label, ind ); 0068 data.cell_outline = xor(bwmorph( mask_tmp, 'dilate' ), mask_tmp); 0069 end 0070 end 0071 end