0001 classdef CCSTInpainter < FDPDEInpainter
0002
0003
0004
0005
0006
0007 properties
0008 tension = 1e-2;
0009 laplacianStencil = [];
0010 end
0011
0012 methods
0013 function obj = CCSTInpainter(varargin)
0014 obj@FDPDEInpainter(varargin{:});
0015 varargin = obj.removeParentParametersFromVarargin(varargin{:});
0016
0017 p = inputParser;
0018 validTension = @(x) isscalar(x) && x >= 0 && x <=1;
0019 addParameter(p, 'Tension', 0, validTension);
0020 parse(p, varargin{:});
0021
0022 obj.tension = p.Results.Tension;
0023
0024
0025 obj.laplacianStencil = laplacian5PointsStencil(obj.hx, obj.hy);
0026 end
0027
0028 function f = stepFun(obj, f, mask)
0029 laplacian = conv2(f, obj.laplacianStencil, 'same');
0030 biharmonic = conv2(laplacian, obj.laplacianStencil, 'same');
0031
0032 f = (1-obj.tension).*biharmonic - obj.tension.*laplacian;
0033 end
0034 end
0035 end