Rank Filters for Image Processing

Important: Please read the installation page for details about how to install the toolboxes. $\newcommand{\dotp}[2]{\langle #1, #2 \rangle}$ $\newcommand{\enscond}[2]{\lbrace #1, #2 \rbrace}$ $\newcommand{\pd}[2]{ \frac{ \partial #1}{\partial #2} }$ $\newcommand{\umin}[1]{\underset{#1}{\min}\;}$ $\newcommand{\umax}[1]{\underset{#1}{\max}\;}$ $\newcommand{\umin}[1]{\underset{#1}{\min}\;}$ $\newcommand{\uargmin}[1]{\underset{#1}{argmin}\;}$ $\newcommand{\norm}[1]{\|#1\|}$ $\newcommand{\abs}[1]{\left|#1\right|}$ $\newcommand{\choice}[1]{ \left\{ \begin{array}{l} #1 \end{array} \right. }$ $\newcommand{\pa}[1]{\left(#1\right)}$ $\newcommand{\diag}[1]{{diag}\left( #1 \right)}$ $\newcommand{\qandq}{\quad\text{and}\quad}$ $\newcommand{\qwhereq}{\quad\text{where}\quad}$ $\newcommand{\qifq}{ \quad \text{if} \quad }$ $\newcommand{\qarrq}{ \quad \Longrightarrow \quad }$ $\newcommand{\ZZ}{\mathbb{Z}}$ $\newcommand{\CC}{\mathbb{C}}$ $\newcommand{\RR}{\mathbb{R}}$ $\newcommand{\EE}{\mathbb{E}}$ $\newcommand{\Zz}{\mathcal{Z}}$ $\newcommand{\Ww}{\mathcal{W}}$ $\newcommand{\Vv}{\mathcal{V}}$ $\newcommand{\Nn}{\mathcal{N}}$ $\newcommand{\NN}{\mathcal{N}}$ $\newcommand{\Hh}{\mathcal{H}}$ $\newcommand{\Bb}{\mathcal{B}}$ $\newcommand{\Ee}{\mathcal{E}}$ $\newcommand{\Cc}{\mathcal{C}}$ $\newcommand{\Gg}{\mathcal{G}}$ $\newcommand{\Ss}{\mathcal{S}}$ $\newcommand{\Pp}{\mathcal{P}}$ $\newcommand{\Ff}{\mathcal{F}}$ $\newcommand{\Xx}{\mathcal{X}}$ $\newcommand{\Mm}{\mathcal{M}}$ $\newcommand{\Ii}{\mathcal{I}}$ $\newcommand{\Dd}{\mathcal{D}}$ $\newcommand{\Ll}{\mathcal{L}}$ $\newcommand{\Tt}{\mathcal{T}}$ $\newcommand{\si}{\sigma}$ $\newcommand{\al}{\alpha}$ $\newcommand{\la}{\lambda}$ $\newcommand{\ga}{\gamma}$ $\newcommand{\Ga}{\Gamma}$ $\newcommand{\La}{\Lambda}$ $\newcommand{\si}{\sigma}$ $\newcommand{\Si}{\Sigma}$ $\newcommand{\be}{\beta}$ $\newcommand{\de}{\delta}$ $\newcommand{\De}{\Delta}$ $\newcommand{\phi}{\varphi}$ $\newcommand{\th}{\theta}$ $\newcommand{\om}{\omega}$ $\newcommand{\Om}{\Omega}$

This numerical tour explores non-linear local filters that proceeds by ordering the pixels in a neighboorhood and selecting a given ranked entry.

In [1]:
using PyPlot
using NtToolBox

Continuous Rank Filtering

We consider an image $f : [0,1]^2 \rightarrow \RR$.

For any $\beta \in [0,1]$, we define the rank filter $\phi_\be^B$ of order $\beta$ associated to a set $B$ to be $$ g = \phi_\beta^B(f) \qwhereq g(x) = \inf \: \enscond{t \in \RR}{ \mu( f^{-1}(]-\infty,t]) \cap x+B ) \geq \mu(B)/2 }. $$ where $\mu$ is the Lebesgue measure on $\RR$.

One usually assumes that $B$ is the ball of radius $\epsilon>0$ $$ B = B_\epsilon = \enscond{x}{\norm{x} \leq \epsilon}. $$

When $\be=0$ (resp. $\be=1$, resp. $\be=1/2$), then $g(x)$ is the miniminimum (resp. maximum, resp. median) value of $f$ in a small neighboorhood of radius $\epsilon$ $$ \phi_0^{B_\epsilon}(f)(x) = \umin{\norm{y-x} \leq \epsilon} f(y), $$ $$ \phi_{1/2}^{B_\epsilon}(f)(x) = \umax{\norm{y-x} \leq \epsilon} f(y), $$ $$ \phi_{1}^{B_\epsilon}(f)(x) = \underset{\norm{y-x} \leq \epsilon}{\text{median}} f(y). $$

The operator $\phi_\beta^B$ is contrast-invariant, meaning that it computes with increasing functions $ \psi : \RR \rightarrow \RR $ $$ \phi_\beta^B \circ \psi = \psi \circ \phi_\beta^B. $$ The axiomatic study of contrast invariant operator was initiated in the comunity of mathematical morphology, see Matheron75, Tukey77, Serra82.

Note also that there exist generalization of rank filters (and in particular the median filter) to vector valued images $ f : [0,1]^2 \rightarrow \RR^d$. Since the notion of rank does not exists anymore, one has to rely on variational caracteriation of the median, see for instance CasSapChu00.

The medial filtering is the most popular rank filter. It is particularly efficient to remove impulse noise, see for instance Piterbarg84, FanHall94. See also AriasDon99 for a theoritical analysis of median filtering and of a two-stage iterated version.

Patches in Images

We apply rank filters to discretized images by interpreting them as piecewise constant functions.

Size $N = n \times n$ of the image.

In [2]:
n = 256;
Out[2]:
256

We load an image $f_0 \in \RR^N$.

In [3]:
f0 = load_image("NtToolBox/src/data/hibiscus.png", n);
Out[3]:
256×256 Array{Float32,2}:
 0.116279  0.110802  0.113704  0.134063  …  0.0287548  0.0287359  0.0314583
 0.118994  0.105394  0.126063  0.153145     0.0137308  0.0191786  0.0328152
 0.121933  0.131637  0.167055  0.1561       0.0191221  0.0219491  0.0383352
 0.1686    0.187318  0.194206  0.179032     0.0218771  0.0327673  0.0437247
 0.202441  0.179545  0.188899  0.180755     0.0342584  0.0396646  0.0410583
 0.236876  0.231387  0.243987  0.195669  …  0.0397783  0.0451862  0.045026 
 0.242166  0.26833   0.392237  0.219388     0.0492727  0.0520715  0.0412221
 0.227555  0.239195  0.222395  0.223745     0.0614059  0.0561919  0.0450853
 0.174463  0.192817  0.173714  0.161738     0.0588799  0.0560296  0.0411872
 0.240959  0.214167  0.198041  0.176431     0.06423    0.0561998  0.0491571
 0.233736  0.268875  0.323605  0.390379  …  0.0613594  0.0601386  0.0492048
 0.469764  0.440609  0.320349  0.217411     0.0590014  0.0561119  0.0479389
 0.217896  0.224526  0.240435  0.225365     0.0605422  0.0628551  0.0480219
 ⋮                                       ⋱                        ⋮        
 0.247533  0.309003  0.308757  0.305036     0.135376   0.126861   0.126032 
 0.246182  0.279635  0.295631  0.297313  …  0.136632   0.129989   0.127163 
 0.240817  0.24315   0.283953  0.312362     0.133973   0.131301   0.120581 
 0.243502  0.235563  0.261751  0.3049       0.128674   0.1311     0.119053 
 0.243583  0.225477  0.2399    0.238397     0.131327   0.117945   0.127137 
 0.227261  0.233908  0.228406  0.247246     0.104366   0.112181   0.119152 
 0.196036  0.223394  0.217576  0.224995  …  0.0903733  0.0930875  0.101424 
 0.21693   0.190604  0.220216  0.217304     0.0862589  0.084944   0.0930124
 0.476838  0.167249  0.212108  0.21071      0.0807355  0.0833831  0.0848607
 0.534911  0.40117   0.175342  0.191631     0.0684402  0.071227   0.087462 
 0.481751  0.479992  0.236952  0.164247     0.0669885  0.0697431  0.0725492
 0.342149  0.467888  0.411812  0.143802  …  0.0684046  0.0711055  0.0766073

Display $f_0$.

In [4]:
figure(figsize = (5,5))
imageplot(f0)

Noise level $\si$.

In [5]:
sigma = .04;
Out[5]:
0.04

Generate a noisy image $f=f_0+\epsilon$ where $\epsilon \times \Nn(0,\si^2\text{Id}_N)$.

In [6]:
using Distributions
f = f0 .+ sigma.*rand(Normal(), n, n);
Out[6]:
256×256 Array{Float64,2}:
 0.114772  0.105344  0.107063  0.121441   …   0.0657353   0.0233756 
 0.110311  0.108213  0.197087  0.0939345      0.0509361   0.0141683 
 0.09125   0.194106  0.198424  0.156751       0.0495803   0.00415511
 0.157416  0.156526  0.187292  0.149025       0.0368      0.0151333 
 0.147951  0.188546  0.225104  0.240929       0.076205   -0.0366769 
 0.232034  0.218108  0.228177  0.212642   …   0.0446797   0.00278841
 0.226353  0.228391  0.389259  0.262028      -0.0398128   0.0412949 
 0.166553  0.175345  0.238151  0.157617       0.0681098   0.0232659 
 0.139443  0.233554  0.200415  0.187086       0.0425438   0.0079569 
 0.210662  0.2297    0.215615  0.15383        0.0146813  -0.0568391 
 0.13838   0.229396  0.374239  0.38232    …  -0.0396493   0.0903054 
 0.509495  0.489149  0.379413  0.261747       0.0585931   0.0405592 
 0.175538  0.194461  0.301568  0.239828       0.118492   -0.00022444
 ⋮                                        ⋱               ⋮         
 0.270615  0.252229  0.315756  0.355736       0.255458    0.138058  
 0.224241  0.319554  0.276628  0.297281   …   0.178452    0.150221  
 0.271247  0.235519  0.291007  0.366537       0.119766    0.0274382 
 0.248166  0.243644  0.276523  0.358626       0.148094    0.139359  
 0.269712  0.300629  0.237094  0.260269       0.119064    0.090374  
 0.271568  0.294264  0.232658  0.221302       0.0825405   0.0694068 
 0.147831  0.203258  0.249593  0.174058   …   0.137787    0.0774287 
 0.166618  0.255677  0.273366  0.257261       0.0280057   0.0944554 
 0.481993  0.195508  0.2474    0.188708       0.0188767   0.118661  
 0.630043  0.374081  0.204699  0.166117       0.0871116   0.151308  
 0.412443  0.524932  0.200204  0.150742       0.0780533   0.0703177 
 0.364963  0.431397  0.468698  0.163196   …   0.0556309   0.0483685 

Display $f$.

In [7]:
figure(figsize = (5,5))
imageplot(clamP(f))

For simplicity, we consider the case where the set $B$ is a square of $w_1 \times w_2$ pixels. where we denote $w$ to be the half width of the patches, and $w_1=2w+1$ the full width.

In [8]:
w = 3
w1 = 2*w + 1;
Out[8]:
7

We define the patch extraction operator $$ p = p_x(f) \in \RR^{w_1 \times w_1} \qwhereq \forall -w \leq s_1,s_2 \leq w, \quad p(s) = f(x+s). $$

We now define the function $\Pi(f) = (p_x(f))_x $ that extracts all possible patches.

We set up large $(n,n,w_1,w_1)$ matrices to index the the X and Y position of the pixel to extract.

In [9]:
include("NtToolBox/src/ndgrid.jl")

(X, Y) = meshgrid(1 : n, 1 : n)
(dX, dY) = meshgrid(-w : w, -w : w)

dX = reshape(dX, (1, 1, w1, w1))
dY = reshape(dY, (1, 1, w1, w1))
X = repeat(X, inner = [1, 1, w1, w1]) + repeat(dX, inner = [n, n, 1, 1])
Y = repeat(Y, inner = [1, 1, w1, w1]) + repeat(dY, inner = [n, n, 1, 1]);
Out[9]:
256×256×7×7 Array{Int64,4}:
[:, :, 1, 1] =
  -2   -2   -2   -2   -2   -2   -2   -2  …   -2   -2   -2   -2   -2   -2   -2
  -1   -1   -1   -1   -1   -1   -1   -1      -1   -1   -1   -1   -1   -1   -1
   0    0    0    0    0    0    0    0       0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3  …    3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8  …    8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 242  242  242  242  242  242  242  242     242  242  242  242  242  242  242
 243  243  243  243  243  243  243  243  …  243  243  243  243  243  243  243
 244  244  244  244  244  244  244  244     244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248  …  248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253  …  253  253  253  253  253  253  253

[:, :, 2, 1] =
  -1   -1   -1   -1   -1   -1   -1   -1  …   -1   -1   -1   -1   -1   -1   -1
   0    0    0    0    0    0    0    0       0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4  …    4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9  …    9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 243  243  243  243  243  243  243  243     243  243  243  243  243  243  243
 244  244  244  244  244  244  244  244  …  244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249  …  249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254  …  254  254  254  254  254  254  254

[:, :, 3, 1] =
   0    0    0    0    0    0    0    0  …    0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5  …    5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10  …   10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 244  244  244  244  244  244  244  244     244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245  …  245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250  …  250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255  …  255  255  255  255  255  255  255

[:, :, 4, 1] =
   1    1    1    1    1    1    1    1  …    1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6  …    6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11  …   11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246  …  246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251  …  251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256  …  256  256  256  256  256  256  256

[:, :, 5, 1] =
   2    2    2    2    2    2    2    2  …    2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7  …    7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12  …   12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14      14   14   14   14   14   14   14
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247  …  247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252  …  252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257  …  257  257  257  257  257  257  257

[:, :, 6, 1] =
   3    3    3    3    3    3    3    3  …    3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8  …    8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13  …   13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14      14   14   14   14   14   14   14
  15   15   15   15   15   15   15   15      15   15   15   15   15   15   15
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248  …  248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253  …  253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257     257  257  257  257  257  257  257
 258  258  258  258  258  258  258  258  …  258  258  258  258  258  258  258

[:, :, 7, 1] =
   4    4    4    4    4    4    4    4  …    4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9  …    9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14  …   14   14   14   14   14   14   14
  15   15   15   15   15   15   15   15      15   15   15   15   15   15   15
  16   16   16   16   16   16   16   16      16   16   16   16   16   16   16
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249  …  249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254  …  254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257     257  257  257  257  257  257  257
 258  258  258  258  258  258  258  258     258  258  258  258  258  258  258
 259  259  259  259  259  259  259  259  …  259  259  259  259  259  259  259

[:, :, 1, 2] =
  -2   -2   -2   -2   -2   -2   -2   -2  …   -2   -2   -2   -2   -2   -2   -2
  -1   -1   -1   -1   -1   -1   -1   -1      -1   -1   -1   -1   -1   -1   -1
   0    0    0    0    0    0    0    0       0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3  …    3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8  …    8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 242  242  242  242  242  242  242  242     242  242  242  242  242  242  242
 243  243  243  243  243  243  243  243  …  243  243  243  243  243  243  243
 244  244  244  244  244  244  244  244     244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248  …  248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253  …  253  253  253  253  253  253  253

[:, :, 2, 2] =
  -1   -1   -1   -1   -1   -1   -1   -1  …   -1   -1   -1   -1   -1   -1   -1
   0    0    0    0    0    0    0    0       0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4  …    4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9  …    9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 243  243  243  243  243  243  243  243     243  243  243  243  243  243  243
 244  244  244  244  244  244  244  244  …  244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249  …  249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254  …  254  254  254  254  254  254  254

[:, :, 3, 2] =
   0    0    0    0    0    0    0    0  …    0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5  …    5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10  …   10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 244  244  244  244  244  244  244  244     244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245  …  245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250  …  250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255  …  255  255  255  255  255  255  255

[:, :, 4, 2] =
   1    1    1    1    1    1    1    1  …    1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6  …    6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11  …   11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246  …  246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251  …  251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256  …  256  256  256  256  256  256  256

[:, :, 5, 2] =
   2    2    2    2    2    2    2    2  …    2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7  …    7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12  …   12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14      14   14   14   14   14   14   14
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247  …  247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252  …  252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257  …  257  257  257  257  257  257  257

[:, :, 6, 2] =
   3    3    3    3    3    3    3    3  …    3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8  …    8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13  …   13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14      14   14   14   14   14   14   14
  15   15   15   15   15   15   15   15      15   15   15   15   15   15   15
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248  …  248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253  …  253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257     257  257  257  257  257  257  257
 258  258  258  258  258  258  258  258  …  258  258  258  258  258  258  258

[:, :, 7, 2] =
   4    4    4    4    4    4    4    4  …    4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9  …    9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14  …   14   14   14   14   14   14   14
  15   15   15   15   15   15   15   15      15   15   15   15   15   15   15
  16   16   16   16   16   16   16   16      16   16   16   16   16   16   16
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249  …  249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254  …  254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257     257  257  257  257  257  257  257
 258  258  258  258  258  258  258  258     258  258  258  258  258  258  258
 259  259  259  259  259  259  259  259  …  259  259  259  259  259  259  259

[:, :, 1, 3] =
  -2   -2   -2   -2   -2   -2   -2   -2  …   -2   -2   -2   -2   -2   -2   -2
  -1   -1   -1   -1   -1   -1   -1   -1      -1   -1   -1   -1   -1   -1   -1
   0    0    0    0    0    0    0    0       0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3  …    3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8  …    8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 242  242  242  242  242  242  242  242     242  242  242  242  242  242  242
 243  243  243  243  243  243  243  243  …  243  243  243  243  243  243  243
 244  244  244  244  244  244  244  244     244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248  …  248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253  …  253  253  253  253  253  253  253

[:, :, 2, 3] =
  -1   -1   -1   -1   -1   -1   -1   -1  …   -1   -1   -1   -1   -1   -1   -1
   0    0    0    0    0    0    0    0       0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4  …    4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9  …    9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 243  243  243  243  243  243  243  243     243  243  243  243  243  243  243
 244  244  244  244  244  244  244  244  …  244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249  …  249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254  …  254  254  254  254  254  254  254

[:, :, 3, 3] =
   0    0    0    0    0    0    0    0  …    0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5  …    5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10  …   10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 244  244  244  244  244  244  244  244     244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245  …  245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250  …  250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255  …  255  255  255  255  255  255  255

[:, :, 4, 3] =
   1    1    1    1    1    1    1    1  …    1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6  …    6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11  …   11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246  …  246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251  …  251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256  …  256  256  256  256  256  256  256

[:, :, 5, 3] =
   2    2    2    2    2    2    2    2  …    2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7  …    7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12  …   12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14      14   14   14   14   14   14   14
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247  …  247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252  …  252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257  …  257  257  257  257  257  257  257

[:, :, 6, 3] =
   3    3    3    3    3    3    3    3  …    3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8  …    8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13  …   13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14      14   14   14   14   14   14   14
  15   15   15   15   15   15   15   15      15   15   15   15   15   15   15
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248  …  248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253  …  253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257     257  257  257  257  257  257  257
 258  258  258  258  258  258  258  258  …  258  258  258  258  258  258  258

[:, :, 7, 3] =
   4    4    4    4    4    4    4    4  …    4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9  …    9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14  …   14   14   14   14   14   14   14
  15   15   15   15   15   15   15   15      15   15   15   15   15   15   15
  16   16   16   16   16   16   16   16      16   16   16   16   16   16   16
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249  …  249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254  …  254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257     257  257  257  257  257  257  257
 258  258  258  258  258  258  258  258     258  258  258  258  258  258  258
 259  259  259  259  259  259  259  259  …  259  259  259  259  259  259  259

[:, :, 1, 4] =
  -2   -2   -2   -2   -2   -2   -2   -2  …   -2   -2   -2   -2   -2   -2   -2
  -1   -1   -1   -1   -1   -1   -1   -1      -1   -1   -1   -1   -1   -1   -1
   0    0    0    0    0    0    0    0       0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3  …    3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8  …    8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 242  242  242  242  242  242  242  242     242  242  242  242  242  242  242
 243  243  243  243  243  243  243  243  …  243  243  243  243  243  243  243
 244  244  244  244  244  244  244  244     244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248  …  248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253  …  253  253  253  253  253  253  253

[:, :, 2, 4] =
  -1   -1   -1   -1   -1   -1   -1   -1  …   -1   -1   -1   -1   -1   -1   -1
   0    0    0    0    0    0    0    0       0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4  …    4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9  …    9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 243  243  243  243  243  243  243  243     243  243  243  243  243  243  243
 244  244  244  244  244  244  244  244  …  244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249  …  249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254  …  254  254  254  254  254  254  254

[:, :, 3, 4] =
   0    0    0    0    0    0    0    0  …    0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5  …    5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10  …   10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 244  244  244  244  244  244  244  244     244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245  …  245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250  …  250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255  …  255  255  255  255  255  255  255

[:, :, 4, 4] =
   1    1    1    1    1    1    1    1  …    1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6  …    6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11  …   11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246  …  246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251  …  251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256  …  256  256  256  256  256  256  256

[:, :, 5, 4] =
   2    2    2    2    2    2    2    2  …    2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7  …    7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12  …   12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14      14   14   14   14   14   14   14
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247  …  247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252  …  252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257  …  257  257  257  257  257  257  257

[:, :, 6, 4] =
   3    3    3    3    3    3    3    3  …    3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8  …    8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13  …   13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14      14   14   14   14   14   14   14
  15   15   15   15   15   15   15   15      15   15   15   15   15   15   15
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248  …  248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253  …  253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257     257  257  257  257  257  257  257
 258  258  258  258  258  258  258  258  …  258  258  258  258  258  258  258

[:, :, 7, 4] =
   4    4    4    4    4    4    4    4  …    4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9  …    9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14  …   14   14   14   14   14   14   14
  15   15   15   15   15   15   15   15      15   15   15   15   15   15   15
  16   16   16   16   16   16   16   16      16   16   16   16   16   16   16
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249  …  249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254  …  254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257     257  257  257  257  257  257  257
 258  258  258  258  258  258  258  258     258  258  258  258  258  258  258
 259  259  259  259  259  259  259  259  …  259  259  259  259  259  259  259

[:, :, 1, 5] =
  -2   -2   -2   -2   -2   -2   -2   -2  …   -2   -2   -2   -2   -2   -2   -2
  -1   -1   -1   -1   -1   -1   -1   -1      -1   -1   -1   -1   -1   -1   -1
   0    0    0    0    0    0    0    0       0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3  …    3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8  …    8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 242  242  242  242  242  242  242  242     242  242  242  242  242  242  242
 243  243  243  243  243  243  243  243  …  243  243  243  243  243  243  243
 244  244  244  244  244  244  244  244     244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248  …  248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253  …  253  253  253  253  253  253  253

[:, :, 2, 5] =
  -1   -1   -1   -1   -1   -1   -1   -1  …   -1   -1   -1   -1   -1   -1   -1
   0    0    0    0    0    0    0    0       0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4  …    4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9  …    9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 243  243  243  243  243  243  243  243     243  243  243  243  243  243  243
 244  244  244  244  244  244  244  244  …  244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249  …  249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254  …  254  254  254  254  254  254  254

[:, :, 3, 5] =
   0    0    0    0    0    0    0    0  …    0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5  …    5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10  …   10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 244  244  244  244  244  244  244  244     244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245  …  245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250  …  250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255  …  255  255  255  255  255  255  255

[:, :, 4, 5] =
   1    1    1    1    1    1    1    1  …    1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6  …    6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11  …   11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246  …  246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251  …  251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256  …  256  256  256  256  256  256  256

[:, :, 5, 5] =
   2    2    2    2    2    2    2    2  …    2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7  …    7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12  …   12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14      14   14   14   14   14   14   14
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247  …  247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252  …  252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257  …  257  257  257  257  257  257  257

[:, :, 6, 5] =
   3    3    3    3    3    3    3    3  …    3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8  …    8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13  …   13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14      14   14   14   14   14   14   14
  15   15   15   15   15   15   15   15      15   15   15   15   15   15   15
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248  …  248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253  …  253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257     257  257  257  257  257  257  257
 258  258  258  258  258  258  258  258  …  258  258  258  258  258  258  258

[:, :, 7, 5] =
   4    4    4    4    4    4    4    4  …    4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9  …    9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14  …   14   14   14   14   14   14   14
  15   15   15   15   15   15   15   15      15   15   15   15   15   15   15
  16   16   16   16   16   16   16   16      16   16   16   16   16   16   16
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249  …  249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254  …  254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257     257  257  257  257  257  257  257
 258  258  258  258  258  258  258  258     258  258  258  258  258  258  258
 259  259  259  259  259  259  259  259  …  259  259  259  259  259  259  259

[:, :, 1, 6] =
  -2   -2   -2   -2   -2   -2   -2   -2  …   -2   -2   -2   -2   -2   -2   -2
  -1   -1   -1   -1   -1   -1   -1   -1      -1   -1   -1   -1   -1   -1   -1
   0    0    0    0    0    0    0    0       0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3  …    3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8  …    8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 242  242  242  242  242  242  242  242     242  242  242  242  242  242  242
 243  243  243  243  243  243  243  243  …  243  243  243  243  243  243  243
 244  244  244  244  244  244  244  244     244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248  …  248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253  …  253  253  253  253  253  253  253

[:, :, 2, 6] =
  -1   -1   -1   -1   -1   -1   -1   -1  …   -1   -1   -1   -1   -1   -1   -1
   0    0    0    0    0    0    0    0       0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4  …    4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9  …    9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 243  243  243  243  243  243  243  243     243  243  243  243  243  243  243
 244  244  244  244  244  244  244  244  …  244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249  …  249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254  …  254  254  254  254  254  254  254

[:, :, 3, 6] =
   0    0    0    0    0    0    0    0  …    0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5  …    5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10  …   10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 244  244  244  244  244  244  244  244     244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245  …  245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250  …  250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255  …  255  255  255  255  255  255  255

[:, :, 4, 6] =
   1    1    1    1    1    1    1    1  …    1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6  …    6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11  …   11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246  …  246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251  …  251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256  …  256  256  256  256  256  256  256

[:, :, 5, 6] =
   2    2    2    2    2    2    2    2  …    2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7  …    7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12  …   12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14      14   14   14   14   14   14   14
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247  …  247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252  …  252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257  …  257  257  257  257  257  257  257

[:, :, 6, 6] =
   3    3    3    3    3    3    3    3  …    3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8  …    8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13  …   13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14      14   14   14   14   14   14   14
  15   15   15   15   15   15   15   15      15   15   15   15   15   15   15
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248  …  248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253  …  253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257     257  257  257  257  257  257  257
 258  258  258  258  258  258  258  258  …  258  258  258  258  258  258  258

[:, :, 7, 6] =
   4    4    4    4    4    4    4    4  …    4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9  …    9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14  …   14   14   14   14   14   14   14
  15   15   15   15   15   15   15   15      15   15   15   15   15   15   15
  16   16   16   16   16   16   16   16      16   16   16   16   16   16   16
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249  …  249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254  …  254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257     257  257  257  257  257  257  257
 258  258  258  258  258  258  258  258     258  258  258  258  258  258  258
 259  259  259  259  259  259  259  259  …  259  259  259  259  259  259  259

[:, :, 1, 7] =
  -2   -2   -2   -2   -2   -2   -2   -2  …   -2   -2   -2   -2   -2   -2   -2
  -1   -1   -1   -1   -1   -1   -1   -1      -1   -1   -1   -1   -1   -1   -1
   0    0    0    0    0    0    0    0       0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3  …    3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8  …    8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 242  242  242  242  242  242  242  242     242  242  242  242  242  242  242
 243  243  243  243  243  243  243  243  …  243  243  243  243  243  243  243
 244  244  244  244  244  244  244  244     244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248  …  248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253  …  253  253  253  253  253  253  253

[:, :, 2, 7] =
  -1   -1   -1   -1   -1   -1   -1   -1  …   -1   -1   -1   -1   -1   -1   -1
   0    0    0    0    0    0    0    0       0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4  …    4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9  …    9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 243  243  243  243  243  243  243  243     243  243  243  243  243  243  243
 244  244  244  244  244  244  244  244  …  244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249  …  249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254  …  254  254  254  254  254  254  254

[:, :, 3, 7] =
   0    0    0    0    0    0    0    0  …    0    0    0    0    0    0    0
   1    1    1    1    1    1    1    1       1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5  …    5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10  …   10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 244  244  244  244  244  244  244  244     244  244  244  244  244  244  244
 245  245  245  245  245  245  245  245  …  245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250  …  250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255  …  255  255  255  255  255  255  255

[:, :, 4, 7] =
   1    1    1    1    1    1    1    1  …    1    1    1    1    1    1    1
   2    2    2    2    2    2    2    2       2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6  …    6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11  …   11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 245  245  245  245  245  245  245  245     245  245  245  245  245  245  245
 246  246  246  246  246  246  246  246  …  246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251  …  251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256  …  256  256  256  256  256  256  256

[:, :, 5, 7] =
   2    2    2    2    2    2    2    2  …    2    2    2    2    2    2    2
   3    3    3    3    3    3    3    3       3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7  …    7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12  …   12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14      14   14   14   14   14   14   14
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 246  246  246  246  246  246  246  246     246  246  246  246  246  246  246
 247  247  247  247  247  247  247  247  …  247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252  …  252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257  …  257  257  257  257  257  257  257

[:, :, 6, 7] =
   3    3    3    3    3    3    3    3  …    3    3    3    3    3    3    3
   4    4    4    4    4    4    4    4       4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8  …    8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9       9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13  …   13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14      14   14   14   14   14   14   14
  15   15   15   15   15   15   15   15      15   15   15   15   15   15   15
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 247  247  247  247  247  247  247  247     247  247  247  247  247  247  247
 248  248  248  248  248  248  248  248  …  248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249     249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253  …  253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254     254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257     257  257  257  257  257  257  257
 258  258  258  258  258  258  258  258  …  258  258  258  258  258  258  258

[:, :, 7, 7] =
   4    4    4    4    4    4    4    4  …    4    4    4    4    4    4    4
   5    5    5    5    5    5    5    5       5    5    5    5    5    5    5
   6    6    6    6    6    6    6    6       6    6    6    6    6    6    6
   7    7    7    7    7    7    7    7       7    7    7    7    7    7    7
   8    8    8    8    8    8    8    8       8    8    8    8    8    8    8
   9    9    9    9    9    9    9    9  …    9    9    9    9    9    9    9
  10   10   10   10   10   10   10   10      10   10   10   10   10   10   10
  11   11   11   11   11   11   11   11      11   11   11   11   11   11   11
  12   12   12   12   12   12   12   12      12   12   12   12   12   12   12
  13   13   13   13   13   13   13   13      13   13   13   13   13   13   13
  14   14   14   14   14   14   14   14  …   14   14   14   14   14   14   14
  15   15   15   15   15   15   15   15      15   15   15   15   15   15   15
  16   16   16   16   16   16   16   16      16   16   16   16   16   16   16
   ⋮                        ⋮            ⋱         ⋮                        ⋮
 248  248  248  248  248  248  248  248     248  248  248  248  248  248  248
 249  249  249  249  249  249  249  249  …  249  249  249  249  249  249  249
 250  250  250  250  250  250  250  250     250  250  250  250  250  250  250
 251  251  251  251  251  251  251  251     251  251  251  251  251  251  251
 252  252  252  252  252  252  252  252     252  252  252  252  252  252  252
 253  253  253  253  253  253  253  253     253  253  253  253  253  253  253
 254  254  254  254  254  254  254  254  …  254  254  254  254  254  254  254
 255  255  255  255  255  255  255  255     255  255  255  255  255  255  255
 256  256  256  256  256  256  256  256     256  256  256  256  256  256  256
 257  257  257  257  257  257  257  257     257  257  257  257  257  257  257
 258  258  258  258  258  258  258  258     258  258  258  258  258  258  258
 259  259  259  259  259  259  259  259  …  259  259  259  259  259  259  259

We handle boundary condition by reflexion.

In [10]:
X[X .< 1] = 2 .- X[X .< 1] 
Y[Y .< 1] = 2 .- Y[Y .< 1]
X[X .> n] = 2*n .- X[X .> n]
Y[Y .> n] = 2*n .- Y[Y .> n];
Out[10]:
10752-element Array{Int64,1}:
 255
 255
 255
 255
 255
 255
 255
 255
 255
 255
 255
 255
 255
   ⋮
 255
 254
 253
 255
 254
 253
 255
 254
 253
 255
 254
 253

Patch extractor operator $\Pi$.

In [11]:
I = X + (Y-1)*n
for i in 1 : Base.div(n, w)
    for j in 1 : Base.div(n, w)
        I[i, j, :, :] = transpose(I[i, j, :, :])
    end
end
        
Pi = f -> reshape(f[I], (n, n, w1*w1))
Pi(f);
Out[11]:
256×256×49 Array{Float64,3}:
[:, :, 1] =
 0.149025      0.156751    0.0939345  …  0.174058   0.257261   0.188708 
 0.187292      0.198424    0.197087      0.249593   0.273366   0.2474   
 0.156526      0.194106    0.108213      0.203258   0.255677   0.195508 
 0.157416      0.09125     0.110311      0.147831   0.166618   0.481993 
 0.156526      0.194106    0.108213      0.203258   0.255677   0.195508 
 0.187292      0.198424    0.197087   …  0.249593   0.273366   0.2474   
 0.149025      0.156751    0.0939345     0.174058   0.257261   0.188708 
 0.172625      0.121482    0.125642      0.226465   0.162255   0.238564 
 0.156354      0.129231    0.19552       0.236931   0.240488   0.210275 
 0.103827      0.148446    0.146989      0.318358   0.431761   0.332057 
 0.187405      0.0717975   0.165663   …  0.228651   0.167916   0.239054 
 0.211038      0.262391    0.170467      0.238519   0.223545   0.230995 
 0.268735      0.267792    0.159248      0.315574   0.292346   0.237907 
 ⋮                                    ⋱                        ⋮        
 0.134526      0.0924799   0.160356      0.207096   0.127727   0.0381167
 0.16096       0.181872    0.189489   …  0.200793   0.0946361  0.0930378
 0.119397      0.211486    0.109942      0.127007   0.0903574  0.234103 
 0.148652      0.160793    0.119045      0.130204   0.106108   0.118835 
 0.0635844     0.190068    0.121474      0.149581   0.136428   0.0981085
 0.101373      0.109305    0.136434      0.175996   0.099095   0.0623861
 0.000358282   0.107627    0.147529   …  0.155155   0.144552   0.044013 
 0.0420659     0.0235099   0.0679079     0.210707   0.129841   0.0846607
 0.0236848    -0.0203751   0.134365      0.150461   0.123607   0.0406605
 0.0287613     0.0291541   0.0324472     0.104116   0.122338   0.0730193
 0.0106478    -0.00552674  0.0415626     0.0886524  0.113786   0.111948 
 0.102421     -0.0007033   0.0324355  …  0.102791   0.109307   0.147607 

[:, :, 2] =
 0.156751      0.0939345   0.121441   …  0.249593   0.273366   0.2474   
 0.198424      0.197087    0.107063      0.203258   0.255677   0.195508 
 0.194106      0.108213    0.105344      0.147831   0.166618   0.481993 
 0.09125       0.110311    0.114772      0.203258   0.255677   0.195508 
 0.194106      0.108213    0.105344      0.249593   0.273366   0.2474   
 0.198424      0.197087    0.107063   …  0.174058   0.257261   0.188708 
 0.156751      0.0939345   0.121441      0.226465   0.162255   0.238564 
 0.121482      0.125642    0.0486968     0.236931   0.240488   0.210275 
 0.129231      0.19552     0.085594      0.318358   0.431761   0.332057 
 0.148446      0.146989    0.133371      0.228651   0.167916   0.239054 
 0.0717975     0.165663    0.156312   …  0.238519   0.223545   0.230995 
 0.262391      0.170467    0.162685      0.315574   0.292346   0.237907 
 0.267792      0.159248    0.138842      0.293746   0.268041   0.233173 
 ⋮                                    ⋱                        ⋮        
 0.16096       0.181872    0.189489      0.200793   0.0946361  0.0930378
 0.119397      0.211486    0.109942   …  0.127007   0.0903574  0.234103 
 0.148652      0.160793    0.119045      0.130204   0.106108   0.118835 
 0.0635844     0.190068    0.121474      0.149581   0.136428   0.0981085
 0.101373      0.109305    0.136434      0.175996   0.099095   0.0623861
 0.000358282   0.107627    0.147529      0.155155   0.144552   0.044013 
 0.0420659     0.0235099   0.0679079  …  0.210707   0.129841   0.0846607
 0.0236848    -0.0203751   0.134365      0.150461   0.123607   0.0406605
 0.0287613     0.0291541   0.0324472     0.104116   0.122338   0.0730193
 0.0106478    -0.00552674  0.0415626     0.0886524  0.113786   0.111948 
 0.102421     -0.0007033   0.0324355     0.102791   0.109307   0.147607 
 0.00828267    0.0344683   0.0134943  …  0.0726556  0.108334   0.101225 

[:, :, 3] =
 0.0939345     0.121441    0.0939345  …  0.203258   0.255677   0.195508 
 0.197087      0.107063    0.197087      0.147831   0.166618   0.481993 
 0.108213      0.105344    0.108213      0.203258   0.255677   0.195508 
 0.110311      0.114772    0.110311      0.249593   0.273366   0.2474   
 0.108213      0.105344    0.108213      0.174058   0.257261   0.188708 
 0.197087      0.107063    0.197087   …  0.226465   0.162255   0.238564 
 0.0939345     0.121441    0.0939345     0.236931   0.240488   0.210275 
 0.125642      0.0486968   0.125642      0.318358   0.431761   0.332057 
 0.19552       0.085594    0.19552       0.228651   0.167916   0.239054 
 0.146989      0.133371    0.146989      0.238519   0.223545   0.230995 
 0.165663      0.156312    0.165663   …  0.315574   0.292346   0.237907 
 0.170467      0.162685    0.170467      0.293746   0.268041   0.233173 
 0.159248      0.138842    0.159248      0.233755   0.263721   0.286175 
 ⋮                                    ⋱                        ⋮        
 0.119397      0.211486    0.109942      0.127007   0.0903574  0.234103 
 0.148652      0.160793    0.119045   …  0.130204   0.106108   0.118835 
 0.0635844     0.190068    0.121474      0.149581   0.136428   0.0981085
 0.101373      0.109305    0.136434      0.175996   0.099095   0.0623861
 0.000358282   0.107627    0.147529      0.155155   0.144552   0.044013 
 0.0420659     0.0235099   0.0679079     0.210707   0.129841   0.0846607
 0.0236848    -0.0203751   0.134365   …  0.150461   0.123607   0.0406605
 0.0287613     0.0291541   0.0324472     0.104116   0.122338   0.0730193
 0.0106478    -0.00552674  0.0415626     0.0886524  0.113786   0.111948 
 0.102421     -0.0007033   0.0324355     0.102791   0.109307   0.147607 
 0.00828267    0.0344683   0.0134943     0.0726556  0.108334   0.101225 
 0.0368        0.0495803   0.0509361  …  0.137787   0.0280057  0.0188767

...

[:, :, 47] =
 0.0939345     0.156751     0.149025    …   0.524932   0.374081   0.195508 
 0.125642      0.121482     0.172625        0.200204   0.204699   0.2474   
 0.19552       0.129231     0.156354        0.150742   0.166117   0.188708 
 0.146989      0.148446     0.103827        0.218461   0.218437   0.238564 
 0.165663      0.0717975    0.187405        0.189023   0.292622   0.210275 
 0.170467      0.262391     0.211038    …   0.365701   0.376411   0.332057 
 0.159248      0.267792     0.268735        0.30337    0.279026   0.239054 
 0.18562       0.137005     0.189609        0.28749    0.19804    0.230995 
 0.188607      0.242915     0.234702        0.290097   0.257253   0.237907 
 0.228297      0.149969     0.382722        0.288788   0.279859   0.233173 
 0.238514      0.231974     0.370069    …   0.259965   0.348417   0.286175 
 0.264326      0.272157     0.169178        0.319622   0.224068   0.216238 
 0.26741       0.398823     0.0718746       0.169366   0.250736   0.267595 
 ⋮                                      ⋱                         ⋮        
 0.0635844     0.0915603    0.0205199       0.0747481  0.052986   0.0981085
 0.101373      0.126429     0.00986551  …   0.0702762  0.129937   0.0623861
 0.000358282   0.00138209   0.0441279      -0.0586144  0.0546166  0.044013 
 0.0420659     0.0634842   -0.0381625       0.151441   0.0420701  0.0846607
 0.0236848     0.00604683   0.0255284       0.0916322  0.0473419  0.0406605
 0.0287613     0.0211243    0.128846        0.0880231  0.0917012  0.0730193
 0.0106478     0.00640446  -0.0144661   …   0.0530275  0.0413055  0.111948 
 0.102421      0.028632    -0.039096        0.0774692  0.105287   0.147607 
 0.00828267   -0.01133      0.0699409       0.082484   0.107345   0.101225 
 0.0368        0.076205     0.0446797       0.0780533  0.0871116  0.0188767
 0.0151333    -0.0366769    0.00278841      0.0703177  0.151308   0.118661 
 0.0368        0.076205     0.0446797   …   0.0780533  0.0871116  0.0188767

[:, :, 48] =
 0.156751      0.149025     0.240929    …   0.200204   0.204699   0.2474   
 0.121482      0.172625     0.16456         0.150742   0.166117   0.188708 
 0.129231      0.156354     0.136764        0.218461   0.218437   0.238564 
 0.148446      0.103827     0.215877        0.189023   0.292622   0.210275 
 0.0717975     0.187405     0.126173        0.365701   0.376411   0.332057 
 0.262391      0.211038     0.240095    …   0.30337    0.279026   0.239054 
 0.267792      0.268735     0.248261        0.28749    0.19804    0.230995 
 0.137005      0.189609     0.306711        0.290097   0.257253   0.237907 
 0.242915      0.234702     0.248266        0.288788   0.279859   0.233173 
 0.149969      0.382722     0.171917        0.259965   0.348417   0.286175 
 0.231974      0.370069     0.153497    …   0.319622   0.224068   0.216238 
 0.272157      0.169178     0.0955184       0.169366   0.250736   0.267595 
 0.398823      0.0718746    0.0522659       0.167178   0.139326   0.147604 
 ⋮                                      ⋱                         ⋮        
 0.101373      0.126429     0.00986551      0.0702762  0.129937   0.0623861
 0.000358282   0.00138209   0.0441279   …  -0.0586144  0.0546166  0.044013 
 0.0420659     0.0634842   -0.0381625       0.151441   0.0420701  0.0846607
 0.0236848     0.00604683   0.0255284       0.0916322  0.0473419  0.0406605
 0.0287613     0.0211243    0.128846        0.0880231  0.0917012  0.0730193
 0.0106478     0.00640446  -0.0144661       0.0530275  0.0413055  0.111948 
 0.102421      0.028632    -0.039096    …   0.0774692  0.105287   0.147607 
 0.00828267   -0.01133      0.0699409       0.082484   0.107345   0.101225 
 0.0368        0.076205     0.0446797       0.0780533  0.0871116  0.0188767
 0.0151333    -0.0366769    0.00278841      0.0703177  0.151308   0.118661 
 0.0368        0.076205     0.0446797       0.0780533  0.0871116  0.0188767
 0.00828267   -0.01133      0.0699409   …   0.082484   0.107345   0.101225 

[:, :, 49] =
 0.149025      0.240929     0.212642    …   0.150742   0.166117   0.188708 
 0.172625      0.16456      0.199422        0.218461   0.218437   0.238564 
 0.156354      0.136764     0.153834        0.189023   0.292622   0.210275 
 0.103827      0.215877     0.105064        0.365701   0.376411   0.332057 
 0.187405      0.126173     0.253447        0.30337    0.279026   0.239054 
 0.211038      0.240095     0.312458    …   0.28749    0.19804    0.230995 
 0.268735      0.248261     0.463218        0.290097   0.257253   0.237907 
 0.189609      0.306711     0.246605        0.288788   0.279859   0.233173 
 0.234702      0.248266     0.175262        0.259965   0.348417   0.286175 
 0.382722      0.171917     0.205089        0.319622   0.224068   0.216238 
 0.370069      0.153497     0.15277     …   0.169366   0.250736   0.267595 
 0.169178      0.0955184    0.115215        0.167178   0.139326   0.147604 
 0.0718746     0.0522659    0.0879985       0.228614   0.229078   0.200206 
 ⋮                                      ⋱                         ⋮        
 0.000358282   0.00138209   0.0441279      -0.0586144  0.0546166  0.044013 
 0.0420659     0.0634842   -0.0381625   …   0.151441   0.0420701  0.0846607
 0.0236848     0.00604683   0.0255284       0.0916322  0.0473419  0.0406605
 0.0287613     0.0211243    0.128846        0.0880231  0.0917012  0.0730193
 0.0106478     0.00640446  -0.0144661       0.0530275  0.0413055  0.111948 
 0.102421      0.028632    -0.039096        0.0774692  0.105287   0.147607 
 0.00828267   -0.01133      0.0699409   …   0.082484   0.107345   0.101225 
 0.0368        0.076205     0.0446797       0.0780533  0.0871116  0.0188767
 0.0151333    -0.0366769    0.00278841      0.0703177  0.151308   0.118661 
 0.0368        0.076205     0.0446797       0.0780533  0.0871116  0.0188767
 0.00828267   -0.01133      0.0699409       0.082484   0.107345   0.101225 
 0.102421      0.028632    -0.039096    …   0.0774692  0.105287   0.147607 

We store the patches $\Pi(f)$ as a $n \times n \times w_1^2$ matrix $P$ such that, for each pixel $x$, $P(x)$ is a vector of size $w_1^2$ storing the entries of $p_x(f)$.

In [12]:
P = Pi(f);
Out[12]:
256×256×49 Array{Float64,3}:
[:, :, 1] =
 0.149025      0.156751    0.0939345  …  0.174058   0.257261   0.188708 
 0.187292      0.198424    0.197087      0.249593   0.273366   0.2474   
 0.156526      0.194106    0.108213      0.203258   0.255677   0.195508 
 0.157416      0.09125     0.110311      0.147831   0.166618   0.481993 
 0.156526      0.194106    0.108213      0.203258   0.255677   0.195508 
 0.187292      0.198424    0.197087   …  0.249593   0.273366   0.2474   
 0.149025      0.156751    0.0939345     0.174058   0.257261   0.188708 
 0.172625      0.121482    0.125642      0.226465   0.162255   0.238564 
 0.156354      0.129231    0.19552       0.236931   0.240488   0.210275 
 0.103827      0.148446    0.146989      0.318358   0.431761   0.332057 
 0.187405      0.0717975   0.165663   …  0.228651   0.167916   0.239054 
 0.211038      0.262391    0.170467      0.238519   0.223545   0.230995 
 0.268735      0.267792    0.159248      0.315574   0.292346   0.237907 
 ⋮                                    ⋱                        ⋮        
 0.134526      0.0924799   0.160356      0.207096   0.127727   0.0381167
 0.16096       0.181872    0.189489   …  0.200793   0.0946361  0.0930378
 0.119397      0.211486    0.109942      0.127007   0.0903574  0.234103 
 0.148652      0.160793    0.119045      0.130204   0.106108   0.118835 
 0.0635844     0.190068    0.121474      0.149581   0.136428   0.0981085
 0.101373      0.109305    0.136434      0.175996   0.099095   0.0623861
 0.000358282   0.107627    0.147529   …  0.155155   0.144552   0.044013 
 0.0420659     0.0235099   0.0679079     0.210707   0.129841   0.0846607
 0.0236848    -0.0203751   0.134365      0.150461   0.123607   0.0406605
 0.0287613     0.0291541   0.0324472     0.104116   0.122338   0.0730193
 0.0106478    -0.00552674  0.0415626     0.0886524  0.113786   0.111948 
 0.102421     -0.0007033   0.0324355  …  0.102791   0.109307   0.147607 

[:, :, 2] =
 0.156751      0.0939345   0.121441   …  0.249593   0.273366   0.2474   
 0.198424      0.197087    0.107063      0.203258   0.255677   0.195508 
 0.194106      0.108213    0.105344      0.147831   0.166618   0.481993 
 0.09125       0.110311    0.114772      0.203258   0.255677   0.195508 
 0.194106      0.108213    0.105344      0.249593   0.273366   0.2474   
 0.198424      0.197087    0.107063   …  0.174058   0.257261   0.188708 
 0.156751      0.0939345   0.121441      0.226465   0.162255   0.238564 
 0.121482      0.125642    0.0486968     0.236931   0.240488   0.210275 
 0.129231      0.19552     0.085594      0.318358   0.431761   0.332057 
 0.148446      0.146989    0.133371      0.228651   0.167916   0.239054 
 0.0717975     0.165663    0.156312   …  0.238519   0.223545   0.230995 
 0.262391      0.170467    0.162685      0.315574   0.292346   0.237907 
 0.267792      0.159248    0.138842      0.293746   0.268041   0.233173 
 ⋮                                    ⋱                        ⋮        
 0.16096       0.181872    0.189489      0.200793   0.0946361  0.0930378
 0.119397      0.211486    0.109942   …  0.127007   0.0903574  0.234103 
 0.148652      0.160793    0.119045      0.130204   0.106108   0.118835 
 0.0635844     0.190068    0.121474      0.149581   0.136428   0.0981085
 0.101373      0.109305    0.136434      0.175996   0.099095   0.0623861
 0.000358282   0.107627    0.147529      0.155155   0.144552   0.044013 
 0.0420659     0.0235099   0.0679079  …  0.210707   0.129841   0.0846607
 0.0236848    -0.0203751   0.134365      0.150461   0.123607   0.0406605
 0.0287613     0.0291541   0.0324472     0.104116   0.122338   0.0730193
 0.0106478    -0.00552674  0.0415626     0.0886524  0.113786   0.111948 
 0.102421     -0.0007033   0.0324355     0.102791   0.109307   0.147607 
 0.00828267    0.0344683   0.0134943  …  0.0726556  0.108334   0.101225 

[:, :, 3] =
 0.0939345     0.121441    0.0939345  …  0.203258   0.255677   0.195508 
 0.197087      0.107063    0.197087      0.147831   0.166618   0.481993 
 0.108213      0.105344    0.108213      0.203258   0.255677   0.195508 
 0.110311      0.114772    0.110311      0.249593   0.273366   0.2474   
 0.108213      0.105344    0.108213      0.174058   0.257261   0.188708 
 0.197087      0.107063    0.197087   …  0.226465   0.162255   0.238564 
 0.0939345     0.121441    0.0939345     0.236931   0.240488   0.210275 
 0.125642      0.0486968   0.125642      0.318358   0.431761   0.332057 
 0.19552       0.085594    0.19552       0.228651   0.167916   0.239054 
 0.146989      0.133371    0.146989      0.238519   0.223545   0.230995 
 0.165663      0.156312    0.165663   …  0.315574   0.292346   0.237907 
 0.170467      0.162685    0.170467      0.293746   0.268041   0.233173 
 0.159248      0.138842    0.159248      0.233755   0.263721   0.286175 
 ⋮                                    ⋱                        ⋮        
 0.119397      0.211486    0.109942      0.127007   0.0903574  0.234103 
 0.148652      0.160793    0.119045   …  0.130204   0.106108   0.118835 
 0.0635844     0.190068    0.121474      0.149581   0.136428   0.0981085
 0.101373      0.109305    0.136434      0.175996   0.099095   0.0623861
 0.000358282   0.107627    0.147529      0.155155   0.144552   0.044013 
 0.0420659     0.0235099   0.0679079     0.210707   0.129841   0.0846607
 0.0236848    -0.0203751   0.134365   …  0.150461   0.123607   0.0406605
 0.0287613     0.0291541   0.0324472     0.104116   0.122338   0.0730193
 0.0106478    -0.00552674  0.0415626     0.0886524  0.113786   0.111948 
 0.102421     -0.0007033   0.0324355     0.102791   0.109307   0.147607 
 0.00828267    0.0344683   0.0134943     0.0726556  0.108334   0.101225 
 0.0368        0.0495803   0.0509361  …  0.137787   0.0280057  0.0188767

...

[:, :, 47] =
 0.0939345     0.156751     0.149025    …   0.524932   0.374081   0.195508 
 0.125642      0.121482     0.172625        0.200204   0.204699   0.2474   
 0.19552       0.129231     0.156354        0.150742   0.166117   0.188708 
 0.146989      0.148446     0.103827        0.218461   0.218437   0.238564 
 0.165663      0.0717975    0.187405        0.189023   0.292622   0.210275 
 0.170467      0.262391     0.211038    …   0.365701   0.376411   0.332057 
 0.159248      0.267792     0.268735        0.30337    0.279026   0.239054 
 0.18562       0.137005     0.189609        0.28749    0.19804    0.230995 
 0.188607      0.242915     0.234702        0.290097   0.257253   0.237907 
 0.228297      0.149969     0.382722        0.288788   0.279859   0.233173 
 0.238514      0.231974     0.370069    …   0.259965   0.348417   0.286175 
 0.264326      0.272157     0.169178        0.319622   0.224068   0.216238 
 0.26741       0.398823     0.0718746       0.169366   0.250736   0.267595 
 ⋮                                      ⋱                         ⋮        
 0.0635844     0.0915603    0.0205199       0.0747481  0.052986   0.0981085
 0.101373      0.126429     0.00986551  …   0.0702762  0.129937   0.0623861
 0.000358282   0.00138209   0.0441279      -0.0586144  0.0546166  0.044013 
 0.0420659     0.0634842   -0.0381625       0.151441   0.0420701  0.0846607
 0.0236848     0.00604683   0.0255284       0.0916322  0.0473419  0.0406605
 0.0287613     0.0211243    0.128846        0.0880231  0.0917012  0.0730193
 0.0106478     0.00640446  -0.0144661   …   0.0530275  0.0413055  0.111948 
 0.102421      0.028632    -0.039096        0.0774692  0.105287   0.147607 
 0.00828267   -0.01133      0.0699409       0.082484   0.107345   0.101225 
 0.0368        0.076205     0.0446797       0.0780533  0.0871116  0.0188767
 0.0151333    -0.0366769    0.00278841      0.0703177  0.151308   0.118661 
 0.0368        0.076205     0.0446797   …   0.0780533  0.0871116  0.0188767

[:, :, 48] =
 0.156751      0.149025     0.240929    …   0.200204   0.204699   0.2474   
 0.121482      0.172625     0.16456         0.150742   0.166117   0.188708 
 0.129231      0.156354     0.136764        0.218461   0.218437   0.238564 
 0.148446      0.103827     0.215877        0.189023   0.292622   0.210275 
 0.0717975     0.187405     0.126173        0.365701   0.376411   0.332057 
 0.262391      0.211038     0.240095    …   0.30337    0.279026   0.239054 
 0.267792      0.268735     0.248261        0.28749    0.19804    0.230995 
 0.137005      0.189609     0.306711        0.290097   0.257253   0.237907 
 0.242915      0.234702     0.248266        0.288788   0.279859   0.233173 
 0.149969      0.382722     0.171917        0.259965   0.348417   0.286175 
 0.231974      0.370069     0.153497    …   0.319622   0.224068   0.216238 
 0.272157      0.169178     0.0955184       0.169366   0.250736   0.267595 
 0.398823      0.0718746    0.0522659       0.167178   0.139326   0.147604 
 ⋮                                      ⋱                         ⋮        
 0.101373      0.126429     0.00986551      0.0702762  0.129937   0.0623861
 0.000358282   0.00138209   0.0441279   …  -0.0586144  0.0546166  0.044013 
 0.0420659     0.0634842   -0.0381625       0.151441   0.0420701  0.0846607
 0.0236848     0.00604683   0.0255284       0.0916322  0.0473419  0.0406605
 0.0287613     0.0211243    0.128846        0.0880231  0.0917012  0.0730193
 0.0106478     0.00640446  -0.0144661       0.0530275  0.0413055  0.111948 
 0.102421      0.028632    -0.039096    …   0.0774692  0.105287   0.147607 
 0.00828267   -0.01133      0.0699409       0.082484   0.107345   0.101225 
 0.0368        0.076205     0.0446797       0.0780533  0.0871116  0.0188767
 0.0151333    -0.0366769    0.00278841      0.0703177  0.151308   0.118661 
 0.0368        0.076205     0.0446797       0.0780533  0.0871116  0.0188767
 0.00828267   -0.01133      0.0699409   …   0.082484   0.107345   0.101225 

[:, :, 49] =
 0.149025      0.240929     0.212642    …   0.150742   0.166117   0.188708 
 0.172625      0.16456      0.199422        0.218461   0.218437   0.238564 
 0.156354      0.136764     0.153834        0.189023   0.292622   0.210275 
 0.103827      0.215877     0.105064        0.365701   0.376411   0.332057 
 0.187405      0.126173     0.253447        0.30337    0.279026   0.239054 
 0.211038      0.240095     0.312458    …   0.28749    0.19804    0.230995 
 0.268735      0.248261     0.463218        0.290097   0.257253   0.237907 
 0.189609      0.306711     0.246605        0.288788   0.279859   0.233173 
 0.234702      0.248266     0.175262        0.259965   0.348417   0.286175 
 0.382722      0.171917     0.205089        0.319622   0.224068   0.216238 
 0.370069      0.153497     0.15277     …   0.169366   0.250736   0.267595 
 0.169178      0.0955184    0.115215        0.167178   0.139326   0.147604 
 0.0718746     0.0522659    0.0879985       0.228614   0.229078   0.200206 
 ⋮                                      ⋱                         ⋮        
 0.000358282   0.00138209   0.0441279      -0.0586144  0.0546166  0.044013 
 0.0420659     0.0634842   -0.0381625   …   0.151441   0.0420701  0.0846607
 0.0236848     0.00604683   0.0255284       0.0916322  0.0473419  0.0406605
 0.0287613     0.0211243    0.128846        0.0880231  0.0917012  0.0730193
 0.0106478     0.00640446  -0.0144661       0.0530275  0.0413055  0.111948 
 0.102421      0.028632    -0.039096        0.0774692  0.105287   0.147607 
 0.00828267   -0.01133      0.0699409   …   0.082484   0.107345   0.101225 
 0.0368        0.076205     0.0446797       0.0780533  0.0871116  0.0188767
 0.0151333    -0.0366769    0.00278841      0.0703177  0.151308   0.118661 
 0.0368        0.076205     0.0446797       0.0780533  0.0871116  0.0188767
 0.00828267   -0.01133      0.0699409       0.082484   0.107345   0.101225 
 0.102421      0.028632    -0.039096    …   0.0774692  0.105287   0.147607 

Display some example of patches.

In [13]:
figure(figsize = (5,5))

for i in 1:16
    x = rand(1:n)
    y = rand(1:n)
    imageplot(reshape(P[x, y, :], (w1, w1)), "", [4, 4, i])
end

Linear Filter

A linear filter (convolution) can be computed using this patch representation as $$ g(x) = \sum_{i} \la_i p_x(f)_i. $$

In the case where $\la_i=1/w_1^2$, this defines the mean value inside the patch: $$ g(x) = \frac{1}{w_1^2} \sum_{i} p_x(f)_i. $$

In [14]:
Pmean = f -> mean(Pi(f), 3)
Pmean(f);
Out[14]:
256×256×1 Array{Float64,3}:
[:, :, 1] =
 0.148283   0.154691   0.16204    …  0.282161   0.296818   0.29694  
 0.147616   0.151984   0.159783      0.286      0.300655   0.303734 
 0.143027   0.146224   0.153917      0.280187   0.296895   0.299887 
 0.141167   0.145997   0.152315      0.280011   0.294418   0.296603 
 0.144704   0.148478   0.15563       0.262443   0.268037   0.265238 
 0.153427   0.15714    0.164824   …  0.244728   0.24601    0.244591 
 0.158687   0.161211   0.172276      0.245359   0.246366   0.244366 
 0.163632   0.16667    0.178831      0.257029   0.257915   0.256602 
 0.17627    0.179749   0.188939      0.267264   0.270653   0.268242 
 0.189338   0.188915   0.198728      0.270065   0.273721   0.273194 
 0.207416   0.200286   0.209368   …  0.249557   0.25288    0.255951 
 0.221554   0.214171   0.216342      0.236418   0.2388     0.240719 
 0.229538   0.221161   0.215968      0.23267    0.235947   0.239135 
 ⋮                                ⋱                        ⋮        
 0.133876   0.130373   0.119092      0.110398   0.0994353  0.0971842
 0.123187   0.121941   0.108918   …  0.108255   0.0968821  0.0955378
 0.105233   0.1042     0.0916193     0.104851   0.0935978  0.0905933
 0.0908436  0.0901411  0.0830293     0.100059   0.0891829  0.0822383
 0.0729072  0.0738451  0.0685899     0.0934663  0.0817375  0.0744956
 0.0611652  0.0600262  0.0574476     0.0927329  0.0830264  0.0773482
 0.0480283  0.0459777  0.0461525  …  0.0894689  0.0814104  0.0763362
 0.0400716  0.0388043  0.040175      0.0909061  0.0838651  0.0806565
 0.0340859  0.0313242  0.0339256     0.0880422  0.0859505  0.0841579
 0.0340277  0.0324301  0.0339947     0.0840658  0.0830444  0.0827583
 0.0324908  0.0306488  0.0309028     0.0822555  0.0821955  0.0827708
 0.0346863  0.031425   0.0310778  …  0.0857721  0.0867293  0.0881238

Display it.

In [15]:
figure(figsize = (5,5))
imageplot(Pmean(f)[:, :])

Note that this is not a rank filter (this a linear filter) and that it is not contrast invariant. This is shown by displaying $$ \phi_\beta^B(f) - \psi^{-1} \circ \phi_\beta^B \circ \psi(f) $$ which is non-zero.

In [16]:
p = 100
psi = f -> f.^(1/p)
ipsi = f -> f.^p

figure(figsize = (5,5))
imageplot(Pmean(abs(f))[:, :] - ipsi(Pmean(psi(abs(f))))[:, :])

Opening and Closing Rank Filters

We now come back to the discrete computation of a rank filter $\phi_\be^B$ for $B$ a square of width $w_1 \times w_1$ pixels.

It is defined as $g=\phi_\beta^B(f)$ where $$ g(x) = \text{rank}_{r(\beta)}( p_x(f) ) $$ where $\text{rank}_r(v)$ extracted the element of order $k$ in the sorted value of $v \in \RR^Q$ (here $Q=w_1^2$). More precisely, we denote $$ v_{\si(1)} \leq v_{\si(2)} \leq \ldots \leq v_{\si(Q)} $$ where $\si \in \Sigma_Q$ is an ordering permutation, which can be computed in $ O(N \log(N)) $ operations with the QuickSort algorithm. Then the ranked valued is $$ \text{rank}_r(v) = v_{\si(r)}. $$

In order to be consistent with the continuous definition of the rank filter, one should define the rank as $$ r=r(\beta) = \lfloor Q r \rfloor. $$

In [17]:
r = beta -> min(ceil(beta*w1*w1), w1*w1 - 1)
Out[17]:
(::#11) (generic function with 1 method)

Shortcut for the rank filter.

In [18]:
subsample = (x, s) -> x[: , : , s]
phi = (f, beta) -> subsample(sort(Pi(f), 3), Int(r(beta)) + 1)
Out[18]:
(::#15) (generic function with 1 method)

Exercise 1

Compute the rank filter for several values of $\beta$.

In [21]:
include("NtSolutions/denoisingadv_7_rankfilters/exo1.jl")
Out[21]:
256×256 Array{Float64,2}:
 0.198424  0.240929  0.240929  0.389259  …  0.630043  0.630043  0.630043
 0.198424  0.240929  0.240929  0.389259     0.630043  0.630043  0.630043
 0.198424  0.240929  0.240929  0.389259     0.630043  0.630043  0.630043
 0.198424  0.240929  0.240929  0.389259     0.630043  0.630043  0.630043
 0.198424  0.240929  0.253447  0.407904     0.524932  0.524932  0.524932
 0.262391  0.262391  0.312458  0.407904  …  0.468698  0.468698  0.468698
 0.268735  0.268735  0.463218  0.463218     0.431761  0.431761  0.376411
 0.268735  0.306711  0.463218  0.463218     0.431761  0.431761  0.376411
 0.268735  0.306711  0.463218  0.463218     0.431761  0.431761  0.376411
 0.382722  0.382722  0.463218  0.463218     0.431761  0.431761  0.376411
 0.382722  0.382722  0.463218  0.463218  …  0.348417  0.348417  0.348417
 0.382722  0.382722  0.463218  0.463218     0.348417  0.348417  0.348417
 0.398823  0.398823  0.463218  0.463218     0.348417  0.348417  0.348417
 ⋮                                       ⋱                      ⋮       
 0.219218  0.219218  0.219218  0.219218     0.234103  0.234103  0.234103
 0.219218  0.219218  0.219218  0.219218  …  0.234103  0.234103  0.234103
 0.219218  0.219218  0.219218  0.219218     0.234103  0.234103  0.234103
 0.219218  0.219218  0.219218  0.219218     0.227547  0.227547  0.227547
 0.219218  0.219218  0.219218  0.219218     0.210707  0.172393  0.172393
 0.219218  0.219218  0.219218  0.219218     0.210707  0.172393  0.172393
 0.219218  0.219218  0.219218  0.219218  …  0.210707  0.151441  0.151441
 0.134365  0.134365  0.134365  0.134365     0.210707  0.151441  0.151441
 0.134365  0.134365  0.134365  0.134365     0.151308  0.151308  0.151308
 0.102421  0.102421  0.128846  0.128846     0.151308  0.151308  0.151308
 0.102421  0.102421  0.102421  0.102421     0.151308  0.151308  0.151308
 0.102421  0.102421  0.102421  0.102421  …  0.151308  0.151308  0.151308
In [20]:
## Insert your code here.

The case $\beta=0$ corresponds to the closing operator from mathematical morphology (min filter).

In [29]:
closing = f -> phi(f, 0)
figure(figsize = (5,5))
imageplot(closing(f))

The case $\beta=1$ corresponds to the opening operator from mathematical morphology (max filter).

In [30]:
opening = f -> phi(f, 1)
figure(figsize = (5,5))
imageplot(opening(f))

Exercise 2

Compute a closing followed by an opening.

In [31]:
include("NtSolutions/denoisingadv_7_rankfilters/exo2.jl")