Difficulty understanding method to generate hadamard patterns

69 Views Asked by At

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. enter image description here

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.

enter image description here

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.