code: 
  """simple docstring"""
  
  
  
  
  
  from cva import COLOR_BGR2GRAY, cvtColor, imread, imshow, waitKey
  from numpy import array, dot, pad, ravel, uinta, zeros
  
  
  
  
  
  
  
  def 			__a  (	__lowerCamelCase,	__lowerCamelCase						):
     UpperCAmelCase_  ,     UpperCAmelCase_      :      Any      =					image.shape
     UpperCAmelCase_      :      str      =					cols - block_size[1] + 1
     UpperCAmelCase_      :      Dict      =					rows - block_size[0] + 1
     UpperCAmelCase_      :      Optional[int]      =					zeros((dst_height * dst_width, block_size[1] * block_size[0])						)
     UpperCAmelCase_      :      str      =					0
     for i in range(0,	__lowerCamelCase						):
        for j in range(0,	__lowerCamelCase						):
           UpperCAmelCase_      :      List[str]      =					ravel(image[i : i + block_size[0], j : j + block_size[1]]						)
           UpperCAmelCase_      :      Optional[Any]      =					window
           row += 1
  
     return image_array
  
  
  
  
  
  
  
  def 			__a  (	__lowerCamelCase,	__lowerCamelCase						):
     UpperCAmelCase_  ,     UpperCAmelCase_      :      Optional[Any]      =					image.shape[0], image.shape[1]
     UpperCAmelCase_      :      Optional[Any]      =					filter_kernel.shape[0]
     UpperCAmelCase_      :      int      =					k_size // 2
     # Pads image with the edge values of array.
     UpperCAmelCase_      :      List[str]      =					pad(__lowerCamelCase,	__lowerCamelCase,	mode="edge"						)
  
     # im2col, turn the k_size*k_size pixels into a row and np.vstack all rows
     UpperCAmelCase_      :      int      =					imacol(__lowerCamelCase,	(k_size, k_size)						)
  
     #  turn the kernel into shape(k*k, 1)
     UpperCAmelCase_      :      int      =					ravel(__lowerCamelCase						)
     # reshape and get the dst image
     UpperCAmelCase_      :      int      =					dot(__lowerCamelCase,	__lowerCamelCase						).reshape(__lowerCamelCase,	__lowerCamelCase						)
     return dst
  
  
  if __name__ == "__main__":
      # read original image
      _a	 =							imread(R'../image_data/lena.jpg')
      # turn image in gray scale value
      _a	 =							cvtColor(img, COLOR_BGR2GRAY)
      # Laplace operator
      _a	 =							array([[0, 1, 0], [1, -4, 1], [0, 1, 0]])
      _a	 =							img_convolve(gray, Laplace_kernel).astype(uinta)
      imshow('Laplacian', out)
      waitKey(0)
  
  
  
style_context: 
  """simple docstring"""
  
  
  
  
  
  from __future__ import annotations
  
  from statistics import mean
  
  
  
  
  
  
  
  def 			__a  (	__lowerCamelCase						):
     UpperCAmelCase_      :      Dict      =					2
     UpperCAmelCase_      :      Any      =					list(__lowerCamelCase						)
     UpperCAmelCase_      :      List[Any]      =					[0] * len(__lowerCamelCase						)
     UpperCAmelCase_      :      str      =					0
     while True:
        UpperCAmelCase_      :      int      =					True
        for i, burst_time in enumerate(__lowerCamelCase						):
           if rem_burst_times[i] > 0:
              UpperCAmelCase_      :      List[Any]      =					False
              if rem_burst_times[i] > quantum:
                 t += quantum
                 rem_burst_times[i] -= quantum
              else:
                 t += rem_burst_times[i]
                 UpperCAmelCase_      :      Optional[int]      =					t - burst_time
                 UpperCAmelCase_      :      Union[str, Any]      =					0
        if done is True:
           return waiting_times
  
  
  
  
  
  
  
  def 			__a  (	__lowerCamelCase,	__lowerCamelCase						):
     return [burst + waiting for burst, waiting in zip(__lowerCamelCase,	__lowerCamelCase						)]
  
  
  if __name__ == "__main__":
      _a	 =							[3, 5, 7]
      _a	 =							calculate_waiting_times(burst_times)
      _a	 =							calculate_turn_around_times(burst_times, waiting_times)
      print('Process ID \tBurst Time \tWaiting Time \tTurnaround Time')
      for i, burst_time in enumerate(burst_times):
          print(
              f"""  {i + 1}\t\t  {burst_time}\t\t  {waiting_times[i]}\t\t  """
              f"""{turn_around_times[i]}"""
          )
      print(f"""\nAverage waiting time = {mean(waiting_times):.5f}""")
      print(f"""Average turn around time = {mean(turn_around_times):.5f}""")
  
  
  