Charles Kabui commited on
Commit
1d814bd
·
1 Parent(s): ff111cc

pre_message_style

Browse files
Files changed (1) hide show
  1. main.py +12 -5
main.py CHANGED
@@ -22,7 +22,7 @@ cache = {
22
  'original_document_image_1': None,
23
  'original_document_image_2': None
24
  }
25
- pre_message_style = 'overflow:auto;border:2px solid pink;padding:4px;border-radius:4px;'
26
  visualize_bboxes_on_image_kwargs = {
27
  'label_text_color': 'white',
28
  'label_fill_color': 'black',
@@ -45,7 +45,8 @@ def similarity_fn(model: lp.Detectron2LayoutModel, document_image_1: Image.Image
45
  show_vectors_type = False
46
  try:
47
  if document_image_1 is None or document_image_2 is None:
48
- message = f'<pre style="{pre_message_style}">Please load both the documents to compare.<pre>'
 
49
  else:
50
  input_document_image_1_hash = str(average_hash(document_image_1))
51
  input_document_image_2_hash = str(average_hash(document_image_2))
@@ -54,6 +55,7 @@ def similarity_fn(model: lp.Detectron2LayoutModel, document_image_1: Image.Image
54
  document_image_1_features = cache['document_image_1_features']
55
  document_image_1 = cache['original_document_image_1']
56
  else:
 
57
  document_image_1_features = get_features(
58
  document_image_1, model, label_names)
59
  cache['document_image_1_features'] = document_image_1_features
@@ -63,11 +65,13 @@ def similarity_fn(model: lp.Detectron2LayoutModel, document_image_1: Image.Image
63
  document_image_2_features = cache['document_image_2_features']
64
  document_image_2 = cache['original_document_image_2']
65
  else:
 
66
  document_image_2_features = get_features(
67
  document_image_2, model, label_names)
68
  cache['document_image_2_features'] = document_image_2_features
69
  cache['original_document_image_2'] = document_image_2
70
 
 
71
  [[similarity]] = cosine_similarity(
72
  [
73
  cache['document_image_1_features'][vectors_type]
@@ -75,7 +79,9 @@ def similarity_fn(model: lp.Detectron2LayoutModel, document_image_1: Image.Image
75
  [
76
  cache['document_image_2_features'][vectors_type]
77
  ])
78
- message = f'<pre style="{pre_message_style}">Similarity between the two documents is: {round(similarity, 4)}<pre>'
 
 
79
  document_image_1 = visualize_bboxes_on_image(
80
  image=document_image_1,
81
  bboxes=cache['document_image_1_features'][annotations['predicted_bboxes']],
@@ -106,9 +112,10 @@ def similarity_fn(model: lp.Detectron2LayoutModel, document_image_1: Image.Image
106
 
107
  show_vectors_type = True
108
  except Exception as e:
109
- message = f'<pre style="{pre_message_style}">{traceback.format_exc()}<pre>'
 
110
  return [
111
- gr.HTML(message, visible=True),
112
  document_image_1,
113
  document_image_2,
114
  gr.Dropdown(visible=show_vectors_type)
 
22
  'original_document_image_1': None,
23
  'original_document_image_2': None
24
  }
25
+ pre_message_style = 'border:2px solid pink;padding:4px;border-radius:4px;font-size: 16px;font-weight: 700;background-image: linear-gradient(to bottom right, #e0e619, #ffffff, #FF77CC, rgb(255, 122, 89));'
26
  visualize_bboxes_on_image_kwargs = {
27
  'label_text_color': 'white',
28
  'label_fill_color': 'black',
 
45
  show_vectors_type = False
46
  try:
47
  if document_image_1 is None or document_image_2 is None:
48
+ message = 'Please load both the documents to compare.'
49
+ gr.Info(message)
50
  else:
51
  input_document_image_1_hash = str(average_hash(document_image_1))
52
  input_document_image_2_hash = str(average_hash(document_image_2))
 
55
  document_image_1_features = cache['document_image_1_features']
56
  document_image_1 = cache['original_document_image_1']
57
  else:
58
+ gr.Info('Generating features for document 1')
59
  document_image_1_features = get_features(
60
  document_image_1, model, label_names)
61
  cache['document_image_1_features'] = document_image_1_features
 
65
  document_image_2_features = cache['document_image_2_features']
66
  document_image_2 = cache['original_document_image_2']
67
  else:
68
+ gr.Info('Generating features for document 2')
69
  document_image_2_features = get_features(
70
  document_image_2, model, label_names)
71
  cache['document_image_2_features'] = document_image_2_features
72
  cache['original_document_image_2'] = document_image_2
73
 
74
+ gr.Info('Calculating similarity')
75
  [[similarity]] = cosine_similarity(
76
  [
77
  cache['document_image_1_features'][vectors_type]
 
79
  [
80
  cache['document_image_2_features'][vectors_type]
81
  ])
82
+ message = f'Similarity between the two documents is: {round(similarity, 4)}'
83
+ gr.Info(message)
84
+ gr.Info('Visualizing the bounding boxes for the predicted layout elements on the documents.')
85
  document_image_1 = visualize_bboxes_on_image(
86
  image=document_image_1,
87
  bboxes=cache['document_image_1_features'][annotations['predicted_bboxes']],
 
112
 
113
  show_vectors_type = True
114
  except Exception as e:
115
+ message = f'<pre style="overflow:auto;">{traceback.format_exc()}</pre>'
116
+ gr.Info(message)
117
  return [
118
+ gr.HTML(f'<div style="{pre_message_style}">{message}</div>', visible=True),
119
  document_image_1,
120
  document_image_2,
121
  gr.Dropdown(visible=show_vectors_type)