code: def ctc_greedy_decoder(probs_seq, blank=95, keep_blank_in_idxs=True):
      """
      CTC greedy (best path) decoder.
      """
      raw_str = np.argmax(np.array(probs_seq), axis=1)
      remove_blank_in_pos = None if keep_blank_in_idxs else blank
      dedup_str, keep_idx_list = get_keep_pos_idxs(
          raw_str, remove_blank=remove_blank_in_pos
      )
      dst_str = remove_blank(dedup_str, blank=blank)
      return dst_str, keep_idx_list
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import cv2
  import math
  import numpy
  from itertools import groupby
  from skimage.morphology._skeletonize import thin
label_desc: Use image node_id 9 for calling a global function with example usage: ctc_greedy_decoder(probs_seq, blank, keep_blank_in_idxs) and returns: dst_str,  keep_idx_list