function [Pix_out] = correlation2_3(Pix_in, threshold_br)
%
%CORRELATION2_3   Performs correlation-based color interpolation 
%                 Kernel 2.3
%
%   Usage: [Pix_out] = correlation2_3(Pix_in, threshold_br)
%
%      Pix_out       = Interpolated image 3D array output
%                      Valid range: 0 <= Pix_out(:,:,:) <= 255 (8 bits)
%
%      Pix_in        = Bayer CFA RGB image 3D array input
%                      Valid range: 0 <= Pix_in(:,:,:) <= 255 (8 bits)
%
%      threshold_br  = Activation threshold for correlation-based 
%                      adjustment to directed-linear-interpolated blue
%                      and red pixels on red and blue centers
%                      The directed-linear interpolation is the average
%                      of the two downward-sloping, or the two upward-
%                      sloping, or all four red or blue pixels, 
%                      depending on the average value closest to the 
%                      center pixel value
%                      Valid range: 0 <= threshold_br <= 765 (3 x 255)
%
%   Assumptions: Pix_in has the following format -
%
%        1 2 3 4 . . . w      d   Color Plane
%     ------------------     --- -------------
%   1 |  G R G R . . . R      1   R
%   2 |  B G B G . . . G      2   G
%   3 |  G R G R . . . R      3   B
%   4 |  B G B G . . . G
%   . |  . . . . . . . R
%   . |  . . . . . . . G
%   . |  . . . . . . . R
%   h |  B G B G B G B G
%
%   Author:    Gary Embler
%   Email:     gary_embler@agilent.com
%   Date:      05/21/01
%   Reference: "Correlation-Based Color Mosaic Interpolation Using a
%              Connectionist Approach", G. Embler
%
%   Copyright (c) 2001 by Gary Embler
%

%======================================================================
% Initialization
%----------------------------------------------------------------------

[h, w, d]   = size(Pix_in);

%======================================================================
% Pixels Pass-Through
%----------------------------------------------------------------------

Pix_out = Pix_in;

%======================================================================
% Common Arrays
%----------------------------------------------------------------------

% Pixel Input Complements

Pix_in_n(1:2:(h-1), 2:2:w,     1)   = ...                        % R_n
   bitcmp(Pix_in(1:2:(h-1), 2:2:w,     1), 8);                   % R

Pix_in_n(1:2:(h-1), 1:2:(w-1), 2)   = ...                        % GR_n
   bitcmp(Pix_in(1:2:(h-1), 1:2:(w-1), 2), 8);                   % GR

Pix_in_n(2:2:h,     2:2:w,     2)   = ...                        % GB_n
   bitcmp(Pix_in(2:2:h,     2:2:w,     2), 8);                   % GB

Pix_in_n(2:2:h,     1:2:(w-1), 3)   = ...                        % B_n
   bitcmp(Pix_in(2:2:h,     1:2:(w-1), 3), 8);                   % B

%======================================================================
% R, B-Center B, R-Interpolator - Kernel 2
%----------------------------------------------------------------------

% Kernel 2 R-Center B Sums

Pix_sum(:,:,1,1,1)      = Pix_in_n(4:2:h,     3:2:(w-1), 3)... % B3_n
                        + Pix_in_n(4:2:h,     1:2:(w-3), 3)... % B2_n
                        + Pix_in_n(2:2:(h-2), 1:2:(w-3), 3)... % B1_n
                        + Pix_in_n(2:2:(h-2), 3:2:(w-1), 3);   % B0_n

Pix_sum(:,:,1,1,2)      = Pix_in_n(4:2:h,     3:2:(w-1), 3)... % B3_n
                        + Pix_in_n(4:2:h,     1:2:(w-3), 3)... % B2_n
                        + Pix_in_n(2:2:(h-2), 1:2:(w-3), 3)... % B1_n
                        + Pix_in(  2:2:(h-2), 3:2:(w-1), 3);   % B0

Pix_sum(:,:,1,1,3)      = Pix_in_n(4:2:h,     3:2:(w-1), 3)... % B3_n
                        + Pix_in_n(4:2:h,     1:2:(w-3), 3)... % B2_n
                        + Pix_in(  2:2:(h-2), 1:2:(w-3), 3)... % B1
                        + Pix_in_n(2:2:(h-2), 3:2:(w-1), 3);   % B0_n

Pix_sum(:,:,1,1,4)      = Pix_in_n(4:2:h,     3:2:(w-1), 3)... % B3_n
                        + Pix_in_n(4:2:h,     1:2:(w-3), 3)... % B2_n
                        + Pix_in(  2:2:(h-2), 1:2:(w-3), 3)... % B1
                        + Pix_in(  2:2:(h-2), 3:2:(w-1), 3);   % B0

Pix_sum(:,:,1,1,5)      = Pix_in_n(4:2:h,     3:2:(w-1), 3)... % B3_n
                        + Pix_in(  4:2:h,     1:2:(w-3), 3)... % B2
                        + Pix_in_n(2:2:(h-2), 1:2:(w-3), 3)... % B1_n
                        + Pix_in_n(2:2:(h-2), 3:2:(w-1), 3);   % B0_n

Pix_sum(:,:,1,1,6)      = Pix_in_n(4:2:h,     3:2:(w-1), 3)... % B3_n
                        + Pix_in(  4:2:h,     1:2:(w-3), 3)... % B2
                        + Pix_in_n(2:2:(h-2), 1:2:(w-3), 3)... % B1_n
                        + Pix_in(  2:2:(h-2), 3:2:(w-1), 3);   % B0

Pix_sum(:,:,1,1,7)      = Pix_in_n(4:2:h,     3:2:(w-1), 3)... % B3_n
                        + Pix_in(  4:2:h,     1:2:(w-3), 3)... % B2
                        + Pix_in(  2:2:(h-2), 1:2:(w-3), 3)... % B1
                        + Pix_in_n(2:2:(h-2), 3:2:(w-1), 3);   % B0_n

Pix_sum(:,:,1,1,8)      = Pix_in_n(4:2:h,     3:2:(w-1), 3)... % B3_n
                        + Pix_in(  4:2:h,     1:2:(w-3), 3)... % B2
                        + Pix_in(  2:2:(h-2), 1:2:(w-3), 3)... % B1
                        + Pix_in(  2:2:(h-2), 3:2:(w-1), 3);   % B0

Pix_sum(:,:,1,1,9)      = Pix_in(  4:2:h,     3:2:(w-1), 3)... % B3
                        + Pix_in_n(4:2:h,     1:2:(w-3), 3)... % B2_n
                        + Pix_in_n(2:2:(h-2), 1:2:(w-3), 3)... % B1_n
                        + Pix_in_n(2:2:(h-2), 3:2:(w-1), 3);   % B0_n

Pix_sum(:,:,1,1,10)     = Pix_in(  4:2:h,     3:2:(w-1), 3)... % B3
                        + Pix_in_n(4:2:h,     1:2:(w-3), 3)... % B2_n
                        + Pix_in_n(2:2:(h-2), 1:2:(w-3), 3)... % B1_n
                        + Pix_in(  2:2:(h-2), 3:2:(w-1), 3);   % B0

Pix_sum(:,:,1,1,11)     = Pix_in(  4:2:h,     3:2:(w-1), 3)... % B3
                        + Pix_in_n(4:2:h,     1:2:(w-3), 3)... % B2_n
                        + Pix_in(  2:2:(h-2), 1:2:(w-3), 3)... % B1
                        + Pix_in_n(2:2:(h-2), 3:2:(w-1), 3);   % B0_n

Pix_sum(:,:,1,1,12)     = Pix_in(  4:2:h,     3:2:(w-1), 3)... % B3
                        + Pix_in_n(4:2:h,     1:2:(w-3), 3)... % B2_n
                        + Pix_in(  2:2:(h-2), 1:2:(w-3), 3)... % B1
                        + Pix_in(  2:2:(h-2), 3:2:(w-1), 3);   % B0

Pix_sum(:,:,1,1,13)     = Pix_in(  4:2:h,     3:2:(w-1), 3)... % B3
                        + Pix_in(  4:2:h,     1:2:(w-3), 3)... % B2
                        + Pix_in_n(2:2:(h-2), 1:2:(w-3), 3)... % B1_n
                        + Pix_in_n(2:2:(h-2), 3:2:(w-1), 3);   % B0_n

Pix_sum(:,:,1,1,14)     = Pix_in(  4:2:h,     3:2:(w-1), 3)... % B3
                        + Pix_in(  4:2:h,     1:2:(w-3), 3)... % B2
                        + Pix_in_n(2:2:(h-2), 1:2:(w-3), 3)... % B1_n
                        + Pix_in(  2:2:(h-2), 3:2:(w-1), 3);   % B0

Pix_sum(:,:,1,1,15)     = Pix_in(  4:2:h,     3:2:(w-1), 3)... % B3
                        + Pix_in(  4:2:h,     1:2:(w-3), 3)... % B2
                        + Pix_in(  2:2:(h-2), 1:2:(w-3), 3)... % B1
                        + Pix_in_n(2:2:(h-2), 3:2:(w-1), 3);   % B0_n

Pix_sum(:,:,1,1,16)     = Pix_in(  4:2:h,     3:2:(w-1), 3)... % B3
                        + Pix_in(  4:2:h,     1:2:(w-3), 3)... % B2
                        + Pix_in(  2:2:(h-2), 1:2:(w-3), 3)... % B1
                        + Pix_in(  2:2:(h-2), 3:2:(w-1), 3);   % B0


% Kernel 2 R-Center G Sums

Pix_sum(:,:,1,2,1)      = Pix_in_n(3:2:(h-1), 1:2:(w-3), 2)... % G2_n
                        + Pix_in(  3:2:(h-1), 3:2:(w-1), 2);   % G0

Pix_sum(:,:,1,2,2)      = Pix_in(  3:2:(h-1), 1:2:(w-3), 2)... % G2
                        + Pix_in_n(3:2:(h-1), 3:2:(w-1), 2);   % G0_n

Pix_sum(:,:,1,2,3)      = Pix_in_n(4:2:h,     2:2:(w-2), 2)... % G3_n
                        + Pix_in(  2:2:(h-2), 2:2:(w-2), 2);   % G1

Pix_sum(:,:,1,2,4)      = Pix_in(  4:2:h,     2:2:(w-2), 2)... % G3
                        + Pix_in_n(2:2:(h-2), 2:2:(w-2), 2);   % G1_n


% Kernel 2 B-Center R Sums

Pix_sum(:,:,2,1,1)      = Pix_in_n(3:2:(h-1), 4:2:w,     1)... % R3_n
                        + Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R2_n
                        + Pix_in_n(1:2:(h-3), 2:2:(w-2), 1)... % R1_n
                        + Pix_in_n(1:2:(h-3), 4:2:w,     1);   % R0_n

Pix_sum(:,:,2,1,2)      = Pix_in_n(3:2:(h-1), 4:2:w,     1)... % R3_n
                        + Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R2_n
                        + Pix_in_n(1:2:(h-3), 2:2:(w-2), 1)... % R1_n
                        + Pix_in(  1:2:(h-3), 4:2:w,     1);   % R0

Pix_sum(:,:,2,1,3)      = Pix_in_n(3:2:(h-1), 4:2:w,     1)... % R3_n
                        + Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R2_n
                        + Pix_in(  1:2:(h-3), 2:2:(w-2), 1)... % R1
                        + Pix_in_n(1:2:(h-3), 4:2:w,     1);   % R0_n

Pix_sum(:,:,2,1,4)      = Pix_in_n(3:2:(h-1), 4:2:w,     1)... % R3_n
                        + Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R2_n
                        + Pix_in(  1:2:(h-3), 2:2:(w-2), 1)... % R1
                        + Pix_in(  1:2:(h-3), 4:2:w,     1);   % R0

Pix_sum(:,:,2,1,5)      = Pix_in_n(3:2:(h-1), 4:2:w,     1)... % R3_n
                        + Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R2
                        + Pix_in_n(1:2:(h-3), 2:2:(w-2), 1)... % R1_n
                        + Pix_in_n(1:2:(h-3), 4:2:w,     1);   % R0_n

Pix_sum(:,:,2,1,6)      = Pix_in_n(3:2:(h-1), 4:2:w,     1)... % R3_n
                        + Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R2
                        + Pix_in_n(1:2:(h-3), 2:2:(w-2), 1)... % R1_n
                        + Pix_in(  1:2:(h-3), 4:2:w,     1);   % R0

Pix_sum(:,:,2,1,7)      = Pix_in_n(3:2:(h-1), 4:2:w,     1)... % R3_n
                        + Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R2
                        + Pix_in(  1:2:(h-3), 2:2:(w-2), 1)... % R1
                        + Pix_in_n(1:2:(h-3), 4:2:w,     1);   % R0_n

Pix_sum(:,:,2,1,8)      = Pix_in_n(3:2:(h-1), 4:2:w,     1)... % R3_n
                        + Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R2
                        + Pix_in(  1:2:(h-3), 2:2:(w-2), 1)... % R1
                        + Pix_in(  1:2:(h-3), 4:2:w,     1);   % R0

Pix_sum(:,:,2,1,9)      = Pix_in(  3:2:(h-1), 4:2:w,     1)... % R3
                        + Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R2_n
                        + Pix_in_n(1:2:(h-3), 2:2:(w-2), 1)... % R1_n
                        + Pix_in_n(1:2:(h-3), 4:2:w,     1);   % R0_n

Pix_sum(:,:,2,1,10)     = Pix_in(  3:2:(h-1), 4:2:w,     1)... % R3
                        + Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R2_n
                        + Pix_in_n(1:2:(h-3), 2:2:(w-2), 1)... % R1_n
                        + Pix_in(  1:2:(h-3), 4:2:w,     1);   % R0

Pix_sum(:,:,2,1,11)     = Pix_in(  3:2:(h-1), 4:2:w,     1)... % R3
                        + Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R2_n
                        + Pix_in(  1:2:(h-3), 2:2:(w-2), 1)... % R1
                        + Pix_in_n(1:2:(h-3), 4:2:w,     1);   % R0_n

Pix_sum(:,:,2,1,12)     = Pix_in(  3:2:(h-1), 4:2:w,     1)... % R3
                        + Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R2_n
                        + Pix_in(  1:2:(h-3), 2:2:(w-2), 1)... % R1
                        + Pix_in(  1:2:(h-3), 4:2:w,     1);   % R0

Pix_sum(:,:,2,1,13)     = Pix_in(  3:2:(h-1), 4:2:w,     1)... % R3
                        + Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R2
                        + Pix_in_n(1:2:(h-3), 2:2:(w-2), 1)... % R1_n
                        + Pix_in_n(1:2:(h-3), 4:2:w,     1);   % R0_n

Pix_sum(:,:,2,1,14)     = Pix_in(  3:2:(h-1), 4:2:w,     1)... % R3
                        + Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R2
                        + Pix_in_n(1:2:(h-3), 2:2:(w-2), 1)... % R1_n
                        + Pix_in(  1:2:(h-3), 4:2:w,     1);   % R0

Pix_sum(:,:,2,1,15)     = Pix_in(  3:2:(h-1), 4:2:w,     1)... % R3
                        + Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R2
                        + Pix_in(  1:2:(h-3), 2:2:(w-2), 1)... % R1
                        + Pix_in_n(1:2:(h-3), 4:2:w,     1);   % R0_n

Pix_sum(:,:,2,1,16)     = Pix_in(  3:2:(h-1), 4:2:w,     1)... % R3
                        + Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R2
                        + Pix_in(  1:2:(h-3), 2:2:(w-2), 1)... % R1
                        + Pix_in(  1:2:(h-3), 4:2:w,     1);   % R0


% Kernel 2 B-Center G Sums

Pix_sum(:,:,2,2,1)      = Pix_in_n(2:2:(h-2), 2:2:(w-2), 2)... % G2_n
                        + Pix_in(  2:2:(h-2), 4:2:w,     2);   % G0

Pix_sum(:,:,2,2,2)      = Pix_in(  2:2:(h-2), 2:2:(w-2), 2)... % G2
                        + Pix_in_n(2:2:(h-2), 4:2:w,     2);   % G0_n

Pix_sum(:,:,2,2,3)      = Pix_in_n(3:2:(h-1), 3:2:(w-1), 2)... % G3_n
                        + Pix_in(  1:2:(h-3), 3:2:(w-1), 2);   % G1

Pix_sum(:,:,2,2,4)      = Pix_in(  3:2:(h-1), 3:2:(w-1), 2)... % G3
                        + Pix_in_n(1:2:(h-3), 3:2:(w-1), 2);   % G1_n


% Kernel 2 R-Center Negative Select Sums

Sel_sum_n(:,:,1,1)      = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,1,1);

Sel_sum_n(:,:,1,2)      = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,1,2);

Sel_sum_n(:,:,1,3)      = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,1,3);

Sel_sum_n(:,:,1,4)      = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,1,4);

Sel_sum_n(:,:,1,5)      = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,1,5);

Sel_sum_n(:,:,1,6)      = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,1,6);

Sel_sum_n(:,:,1,7)      = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,1,7);

Sel_sum_n(:,:,1,8)      = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,1,8);

Sel_sum_n(:,:,1,9)      = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,1,9);

Sel_sum_n(:,:,1,10)     = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,1,10);

Sel_sum_n(:,:,1,11)     = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,1,11);

Sel_sum_n(:,:,1,12)     = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,1,12);

Sel_sum_n(:,:,1,13)     = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,1,13);

Sel_sum_n(:,:,1,14)     = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,1,14);

Sel_sum_n(:,:,1,15)     = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,1,15);

Sel_sum_n(:,:,1,16)     = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,1,16);


% Kernel 2 R-Center Positive Select Sums

Sel_sum(:,:,1,1)        = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,1,1);

Sel_sum(:,:,1,2)        = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,1,2);

Sel_sum(:,:,1,3)        = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,1,3);

Sel_sum(:,:,1,4)        = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,1,4);

Sel_sum(:,:,1,5)        = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,1,5);

Sel_sum(:,:,1,6)        = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,1,6);

Sel_sum(:,:,1,7)        = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,1,7);

Sel_sum(:,:,1,8)        = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,1,8);

Sel_sum(:,:,1,9)        = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,1,9);

Sel_sum(:,:,1,10)       = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,1,10);

Sel_sum(:,:,1,11)       = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,1,11);

Sel_sum(:,:,1,12)       = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,1,12);

Sel_sum(:,:,1,13)       = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,1,13);

Sel_sum(:,:,1,14)       = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,1,14);

Sel_sum(:,:,1,15)       = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,1,15);

Sel_sum(:,:,1,16)       = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,1,16);


% Kernel 2 B-Center Negative Select Sums

Sel_sum_n(:,:,2,1)      = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,1,1);

Sel_sum_n(:,:,2,2)      = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,1,2);

Sel_sum_n(:,:,2,3)      = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,1,3);

Sel_sum_n(:,:,2,4)      = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,1,4);

Sel_sum_n(:,:,2,5)      = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,1,5);

Sel_sum_n(:,:,2,6)      = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,1,6);

Sel_sum_n(:,:,2,7)      = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,1,7);

Sel_sum_n(:,:,2,8)      = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,1,8);

Sel_sum_n(:,:,2,9)      = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,1,9);

Sel_sum_n(:,:,2,10)     = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,1,10);

Sel_sum_n(:,:,2,11)     = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,1,11);

Sel_sum_n(:,:,2,12)     = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,1,12);

Sel_sum_n(:,:,2,13)     = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,1,13);

Sel_sum_n(:,:,2,14)     = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,1,14);

Sel_sum_n(:,:,2,15)     = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,1,15);

Sel_sum_n(:,:,2,16)     = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,1,16);


% Kernel 2 B-Center Positive Select Sums

Sel_sum(:,:,2,1)        = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,1,1);

Sel_sum(:,:,2,2)        = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,1,2);

Sel_sum(:,:,2,3)        = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,1,3);

Sel_sum(:,:,2,4)        = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,1,4);

Sel_sum(:,:,2,5)        = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,1,5);

Sel_sum(:,:,2,6)        = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,1,6);

Sel_sum(:,:,2,7)        = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,1,7);

Sel_sum(:,:,2,8)        = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,1,8);

Sel_sum(:,:,2,9)        = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,1,9);

Sel_sum(:,:,2,10)       = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,1,10);

Sel_sum(:,:,2,11)       = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,1,11);

Sel_sum(:,:,2,12)       = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,1,12);

Sel_sum(:,:,2,13)       = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,1,13);

Sel_sum(:,:,2,14)       = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,1,14);

Sel_sum(:,:,2,15)       = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,1,15);

Sel_sum(:,:,2,16)       = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,1,16);


% Kernel 2 R-Center Negative Adjustment Sums

Adj_sum_n(:,:,1,1)      = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,2,1);

Adj_sum_n(:,:,1,2)      = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,2,2);

Adj_sum_n(:,:,1,3)      = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,2,3);

Adj_sum_n(:,:,1,4)      = Pix_in_n(3:2:(h-1), 2:2:(w-2), 1)... % R_n
                        + Pix_sum(:,:,1,2,4);


% Kernel 2 R-Center Positive Adjustment Sums

Adj_sum(:,:,1,1)        = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,2,1);

Adj_sum(:,:,1,2)        = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,2,2);

Adj_sum(:,:,1,3)        = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,2,3);

Adj_sum(:,:,1,4)        = Pix_in(  3:2:(h-1), 2:2:(w-2), 1)... % R
                        + Pix_sum(:,:,1,2,4);


% Kernel 2 B-Center Negative Adjustment Sums

Adj_sum_n(:,:,2,1)      = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,2,1);

Adj_sum_n(:,:,2,2)      = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,2,2);

Adj_sum_n(:,:,2,3)      = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,2,3);

Adj_sum_n(:,:,2,4)      = Pix_in_n(2:2:(h-2), 3:2:(w-1), 3)... % B_n
                        + Pix_sum(:,:,2,2,4);


% Kernel 2 B-Center Positive Adjustment Sums

Adj_sum(:,:,2,1)        = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,2,1);

Adj_sum(:,:,2,2)        = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,2,2);

Adj_sum(:,:,2,3)        = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,2,3);

Adj_sum(:,:,2,4)        = Pix_in(  2:2:(h-2), 3:2:(w-1), 3)... % B
                        + Pix_sum(:,:,2,2,4);


% Kernel 2 Averages

Avg_d(:,:,1)   =...
         bitshift((   Pix_in(  4:2:h,     3:2:(w-1), 3)...        % B3
                    + Pix_in(  2:2:(h-2), 1:2:(w-3), 3)), -1);    % B1

Avg_u(:,:,1)   =...
         bitshift((   Pix_in(  4:2:h,     1:2:(w-3), 3)...        % B2
                    + Pix_in(  2:2:(h-2), 3:2:(w-1), 3)), -1);    % B0

Avg_du(:,:,1)  = bitshift(Pix_sum(:,:,1,1,16), -2);


Avg_d(:,:,2)   =...
 