function varargout = BMorphIter(varargin) % Opérations morphologiques itérables % Pour image binaire à 1 plan % % INPUT: % - image 1x1 % - cell array des paramètres : % + opération : 'bridge' | 'majority' | 'spur' % + nombre d'itérations (inf pour itérer jusqu'à stabilisation du résultat) % % OUTPUT: % - image 1x1 % % Plugin for OpenIsaac % version 1 % © 2001-2018 Bertrand Vigouroux / Alain Clément - Université d'Angers %--------------------------------------------------------------------------------------------------- % Copyright 2007 - 2018 Université d'Angers - Author: Alain Clément % % This program 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 any later version. This program 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 this program; if not, write to the Free % Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. %--------------------------------------------------------------------------------------------------- % PLUGIN PARAMETERS if (nargin == 1) && strcmp(varargin{1},'-f') % input varargout{1} = {'IMG','image binaire source', ... 'DATA','cell array des paramètres'}; % output varargout{2} = {'IMG','image binaire résultat'}; return end % INPUT ObjIMG = varargin{1}; DataVal = IsaacDATA_get(varargin{2},'Val'); oper = DataVal{1}; iter = DataVal{2}; %--------------------------------------------------------------------------------------------------- if (IsaacIMG_get(ObjIMG,'BitClass') ~= 1) || (IsaacIMG_get(ObjIMG,'DimZ') ~= 1) error('image incompatible') end switch oper case{'bridge','majority','spur'} ObjIMG = IsaacIMG_mat2img(ObjIMG,bwmorph(IsaacIMG_img2mat(ObjIMG),oper,iter)); otherwise error('opération invalide') end %--------------------------------------------------------------------------------------------------- % OUTPUT varargout{1} = ObjIMG;