Error: TypeError: 'DeviceFunctionTemplate' object is not callable

import os
import cv2
import time
import numpy as np
from numba import jit,cuda
from google.colab import drive

drive.mount('/content/gdrive')

#@cuda.jit('f8[:,:](u1[:,:])', parallel=True, cache=True, device=True)
@cuda.jit(device=True)
def normalize_mat(depth_src):
    depth_min = depth_src.min()
    depth_max = depth_src.max()
    depth = (depth_src - depth_min) / (depth_max - depth_min)

    return depth

def generate_stereo(depth_dir, depth_prefix, out_dir, f):
    filename = f.split(".")[0]
    print("=== Start processing:", filename, "===")
    depth_src = cv2.imread(os.path.join(depth_dir, depth_prefix + filename + ".jpg"), cv2.IMREAD_GRAYSCALE)

    depth = normalize_mat(depth_src)
    depth = depth * 255

    cv2.imwrite(os.path.join(out_dir, "depth_" + filename + ".jpg"), depth)

def file_processing_im(depth_dir, depth_prefix, out_dir):
    for f in os.listdir(depth_dir):
        filename = f.split(".")[0]
        generate_stereo( depth_dir, depth_prefix, out_dir, filename)

def main():
    start_time = time.time()

    depth_dir = 'gdrive/MyDrive/depth/'
    depth_prefix = 'Depth_'
    out_dir = 'gdrive/MyDrive/output/'

    if not os.path.exists(out_dir):
        os.mkdir(out_dir)

    file_processing_im(depth_dir, depth_prefix, out_dir)
    
    print(time.time() - start_time, "seconds for base generation")

if __name__ == "__main__":
    main()