


merge2Regions : merges reg1 and reg2 into one in the mask_cell
regions need to be remade after this in order to have the right
properties.
INPUT :
data_c : current data (seg/err) file.
reg1 : id of region 1
reg2 : id of region 2
CONST : segmentation parameters
OUTPUT :
data_c : data_c with merged regions
resetRegions : true if regions were merged and linking should
re-run.
Copyright (C) 2016 Wiggins Lab
Written by Stella Stylianidou, Paul Wiggins.
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.

0001 function [data_c,resetRegions] = merge2Regions (data_c, list_merge, CONST) 0002 % merge2Regions : merges reg1 and reg2 into one in the mask_cell 0003 % regions need to be remade after this in order to have the right 0004 % properties. 0005 % INPUT : 0006 % data_c : current data (seg/err) file. 0007 % reg1 : id of region 1 0008 % reg2 : id of region 2 0009 % CONST : segmentation parameters 0010 % 0011 % OUTPUT : 0012 % data_c : data_c with merged regions 0013 % resetRegions : true if regions were merged and linking should 0014 % re-run. 0015 % 0016 % Copyright (C) 2016 Wiggins Lab 0017 % Written by Stella Stylianidou, Paul Wiggins. 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 resetRegions = 0; 0032 masksum = 0*data_c.regs.regs_label; 0033 0034 for i = 1 : numel(list_merge) 0035 mask1 = (data_c.regs.regs_label == list_merge(i)); 0036 masksum = (masksum+mask1); 0037 end 0038 0039 masksum_ = imdilate(masksum,strel('square',3)); 0040 masksum__ = imerode(masksum_,strel('square',3)); 0041 0042 labels = bwlabel(masksum__); 0043 if max(labels(:)) == 1 0044 segsInMask = data_c.segs.segs_label; 0045 segsInMask(~masksum__) = 0; 0046 segsInMask = logical(segsInMask); 0047 data_c.segs.segs_good(segsInMask) = 0; 0048 data_c.segs.segs_bad(segsInMask) = 1; 0049 data_c.mask_cell = double((data_c.mask_cell + masksum__)>0); 0050 resetRegions = true; 0051 end 0052 0053 0054 end