def METHOD_NAME(noisy_image, ir_image):
    t1 = time.perf_counter()
    ir_image = np.array(ir_image).astype("uint16")
    cropped_ir , cropped_noisy = [], []
    width, height = 848, 480
    w, h = cropped_w, cropped_h
    for col_i in range(0, width, w):
        for row_i in range(0, height, h):
            cropped_ir.append(ir_image[row_i:row_i+h, col_i:col_i+w])
            cropped_noisy.append(noisy_image[row_i:row_i+h, col_i:col_i+w])
    # fill with zero to get size 480x480 for both images
    fill = np.zeros((h, w - cropped_ir[-1].shape[1]), dtype="uint16")
    cropped_ir[-1] = np.hstack((cropped_ir[-1], fill))
    cropped_noisy[-1] = np.hstack((cropped_noisy[-1], fill))
    t2 = time.perf_counter()
    print('image cropping : ', t2 - t1, 'seconds')
    cropped_image_offsets = [(0,0), (0,480)]
    whole_image = np.zeros((height, width, channels), dtype="float32")
    for i in range(len(cropped_ir)):
        t1 = time.perf_counter()
        noisy_images_plt = cropped_noisy[i].reshape(1, cropped_w, cropped_h, 1)
        ir_images_plt = cropped_ir[i].reshape(1, cropped_w, cropped_h, 1)
        im_and_ir = np.stack((noisy_images_plt, ir_images_plt), axis=3)
        im_and_ir = im_and_ir.reshape(1, cropped_w, cropped_h, channels)
        img = np.array(im_and_ir)
        # Parse numbers as floats
        img = img.astype('float32')
        # Normalize data : remove average then devide by standard deviation
        img = img / 65535
        sample = img
        row, col = cropped_image_offsets[i]
        t2 = time.perf_counter()
        print('image channeling : ', t2 - t1, 'seconds')
        t1 = time.perf_counter()
        denoised_image = model.METHOD_NAME(sample)
        t2 = time.perf_counter()
        print('prediction only : ', t2 - t1, 'seconds')
        row_end = row + cropped_h
        col_end = col + cropped_w
        denoised_row = cropped_h
        denoised_col = cropped_w
        if row + cropped_h >= height:
            row_end = height - 1
            denoised_row = abs(row - row_end)
        if col + cropped_w >= width:
            col_end = width - 1
            denoised_col = abs(col - col_end)
        # combine tested images
        whole_image[row:row_end, col:col_end] = denoised_image[:, 0:denoised_row, 0:denoised_col, :]
    return whole_image[:, :, 0]