TVInpainter

PURPOSE ^

SYNOPSIS ^

This is a script file.

DESCRIPTION ^

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 classdef TVInpainter < FDPDEInpainter    
0002     % Total Variation (TV) inpainter
0003     
0004     properties
0005         epsilon = 1e-2;
0006     end
0007     
0008     methods
0009         function obj = TVInpainter(varargin)
0010             obj@FDPDEInpainter(varargin{:});                        
0011             varargin = obj.removeParentParametersFromVarargin(varargin{:});
0012             
0013             p = inputParser;
0014             validGTZero = @(x) isscalar(x) && x >= 0;
0015             addParameter(p, 'Epsilon', 1e-2, validGTZero);
0016             parse(p, varargin{:});
0017             
0018             obj.epsilon = p.Results.Epsilon;
0019         end
0020         
0021         function f = stepFun(obj, f, mask)
0022              f = -div(obj.neps(grad(f)));
0023         end        
0024         
0025         function u = amplitude(obj, u)
0026             u = sqrt(sum(u.^2,3)+obj.epsilon^2);
0027         end
0028         
0029         function u = neps(obj, u)
0030             u = u./repmat(obj.amplitude(u), [1 1 2]);
0031         end        
0032     end
0033 end

Generated on Thu 10-Dec-2020 17:34:27 by m2html © 2005