I am currently working on a project that requires me to generate Hadamard patterns. I came across this in a paper I was told to refer to.

I am not sure what the delta function is meant to do and what it is meant to operate on. I am also not sure why equation 5 is used to generate the pattern. I am not even sure what the inputs for P and H are from reading this text.
The output would look something like this for hadmard pattern size n.
I have already found a way to solve the problem by resizing Hadamard matrices as shown here:
import numpy as np
import cv2 as cv
from scipy.linalg import hadamard
H = hadamard(4096)
temp = []
for n in range(64):
P = np.reshape(H[n],(64,64)) # n is the nth pattern to be generated
blank_image = np.zeros((64,64,3), np.uint8)
for i in range(0,len(P)):
for j in range(len(P[0])):
if (P[i][j]) == 1:
blank_image[i][j] = (255,255,255)
temp.append(P)
cv.imshow("Patterns", blank_image)
cv.waitKey()
cv.destroyAllWindows()
but was told to implement the paper and this is where I am stuck.
