You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: calculata_residue.m
    path of file: ./repos/SAR-Synthetic-Aperture-Radar/2-InSAR干涉SAR-人造场景仿真/RD算法，并采用二维频域相位相乘实现SRC
    
    the code of the file until where you have to start completion: function [PHY_residue,residue_count] = calculata_residue(PHY_s_after_X_filtering)
% 本函数用来计算经过前面步骤后所得到的干涉相位图的残差点；
% 输入数据：
%   PHY_s_after_X_filtering  表示经过某种滤波方法后的干涉相位图；
% 输出数据：
%   1）PHY_residue  表示计算得到的残差点；
%   2）residue_count 表示残差点个数（包括正负残差点）；
%
% 思路：
%   以输入的干涉相位图为基础，（逐点进行）以（m,n）为第一个值的2*2窗口，共四个点的
%   环路积分计算。计算结果进行以下标注：
%   1）如果顺时针环路积分计算结果为2π，则为正残点，将(m,n)标记为 +1；
%   2）如果顺时针环路积分计算结果为-2π，则为负残点，将(m,n)标记为 -1；
%   3）如果环路积分为0，则说明没有残点，将(m,n)标记为 0；
%   全部计算完成后，返回 PHY_residue，（这里面记录了所有标记结果）以此作为残差点
%   计算结果。
%
% 程序截止到： 2014.12.18. 15:16 p.m.

%%
% ------------------------------------------------------------------------
%                               计算残差点
% ------------------------------------------------------------------------
% 思路：
%   以输入的干涉相位图为基础，（逐点进行）以（m,n）为中心的2*2窗口，共四个点的
%   环路积分计算。计算结果进行以下标注：
%   1）如果顺时针环路积分计算结果为2π，则为正残点，将(m,n)标记为 +1；
%   2）如果顺时针环路积分计算结果为-2π，则为负残点，将(m,n)标记为 -1；
%   3）如果环路积分为0，则说明没有残点，将(m,n)标记为 0；
%   全部计算完成后，返回 PHY_residue，（这里面记录了所有标记结果）以此作为残差点
%   计算结果。

    
function [PHY_residue,residue_count] = calculata_residue(PHY_s_after_X_filtering)
% 本函数用来计算经过前面步骤后所得到的干涉相位图的残差点；
% 输入数据：
%   PHY_s_after_X_filtering  表示经过某种滤波方法后的干涉相位图；
% 输出数据：
%   1）PHY_residue  表示计算得到的残差点；
%   2）residue_count 表示残差点个数（包括正负残差点）；
%
% 思路：
%   以输入的干涉相位图为基础，（逐点进行）以（m,n）为第一个值的2*2窗口，共四个点的
%   环路积分计算。计算结果进行以下标注：
%   1）如果顺时针环路积分计算结果为2π，则为正残点，将(m,n)标记为 +1；
%   2）如果顺时针环路积分计算结果为-2π，则为负残点，将(m,n)标记为 -1；
%   3）如果环路积分为0，则说明没有残点，将(m,n)标记为 0；
%   全部计算完成后，返回 PHY_residue，（这里面记录了所有标记结果）以此作为残差点
%   计算结果。
%
% 程序截止到： 2014.12.18. 15:16 p.m.

%%
% ------------------------------------------------------------------------
%                               计算残差点
% ------------------------------------------------------------------------
% 思路：
%   以输入的干涉相位图为基础，（逐点进行）以（m,n）为中心的2*2窗口，共四个点的
%   环路积分计算。计算结果进行以下标注：
%   1）如果顺时针环路积分计算结果为2π，则为正残点，将(m,n)标记为 +1；
%   2）如果顺时针环路积分计算结果为-2π，则为负残点，将(m,n)标记为 -1；
%   3）如果环路积分为0，则说明没有残点，将(m,n)标记为 0；
%   全部计算完成后，返回 PHY_residue，（这里面记录了所有标记结果）以此作为残差点
%   计算结果。

[Naz,Nrg] = size(PHY_s_after_X_filtering);   % 数据大小
PHY_residue = zeros(Naz,Nrg);   % 赋 0 初始值
residue_count = 0;              % 对残差点（包括正负残差点）计数

disp('正在进行残差点计算，请等待');
h = waitbar(0,'正在进行残差点计算，请等待');
for pp = 1:Naz-1
    for qq = 1:Nrg-1
        delta_1 = PHY_s_after_X_filtering(pp,qq+1) - PHY_s_after_X_filtering(pp,qq);
        if delta_1 > pi
            delta_1 = delta_1 - 2*pi;
        end