docstr: Apply vertical flip to the frame
  
   Returns:
       ret (pd.DataFrame): The modified frame.
code: def forward(self, frame: pd.DataFrame) -> pd.DataFrame:
      """
      Apply vertical flip to the frame
  
       Returns:
           ret (pd.DataFrame): The modified frame.
      """
  
      def verticalFlip(row: pd.Series) -> np.ndarray:
          row = row.to_list()
          frame = row[0]
          try_to_import_cv2()
          import cv2
  
          frame = cv2.flip(frame, 0)
          # since cv2 by default reads an image in BGR
          frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
          return frame
  
      ret = pd.DataFrame()
      ret["vertically_flipped_frame_array"] = frame.apply(
          verticalFlip, axis=1
      )
      return ret
  
file_path: evadb/evadb/functions/ndarray/vertical_flip.py
imports: import numpy
  import pandas
  from evadb.catalog.catalog_type import NdArrayType
  from evadb.functions.abstract.abstract_function import AbstractFunction
  from evadb.functions.decorators.decorators import forward, setup
  from evadb.functions.decorators.io_descriptors.data_types import PandasDataframe
  from evadb.utils.generic_utils import try_to_import_cv2
label_desc: Use image node_id 3 for calling the VerticalFlip obj's underlying member method code with example usage: obj.forward(frame) and returns: ret, frame