msabia commited on
Commit
e247857
·
verified ·
1 Parent(s): ee387cc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +40 -18
app.py CHANGED
@@ -7,9 +7,13 @@ from PIL import Image
7
  import io
8
  import pickle
9
 
10
- def get_image(file, dataset_image_mask, processid_to_index, idx):
11
  # idx = processid_to_index[query_id]
12
- image_enc_padded = file["image"][idx].astype(np.uint8)
 
 
 
 
13
  enc_length = dataset_image_mask[idx]
14
  image_enc = image_enc_padded[:enc_length]
15
  image = Image.open(io.BytesIO(image_enc))
@@ -47,27 +51,45 @@ def searchEmbeddings(id):
47
  id_list.append(id)
48
 
49
  # get image data
50
- dataset_hdf5_all_key = h5py.File('full5m/BIOSCAN_5M.hdf5', "r", libver="latest")['all_keys']
51
- dataset_processid_list = [item.decode("utf-8") for item in dataset_hdf5_all_key["processid"][:]]
52
- dataset_image_mask = dataset_hdf5_all_key["image_mask"][:]
53
- processid_to_index = {pid: idx for idx, pid in enumerate(dataset_processid_list)}
54
-
55
- image1 = get_image(dataset_hdf5_all_key, dataset_image_mask, processid_to_index, I[0][0])
56
- image2 = get_image(dataset_hdf5_all_key, dataset_image_mask, processid_to_index, I[0][1])
57
- image3 = get_image(dataset_hdf5_all_key, dataset_image_mask, processid_to_index, I[0][2])
58
- image4 = get_image(dataset_hdf5_all_key, dataset_image_mask, processid_to_index, I[0][3])
59
- image5 = get_image(dataset_hdf5_all_key, dataset_image_mask, processid_to_index, I[0][4])
60
- image6 = get_image(dataset_hdf5_all_key, dataset_image_mask, processid_to_index, I[0][5])
61
- image7 = get_image(dataset_hdf5_all_key, dataset_image_mask, processid_to_index, I[0][6])
62
- image8 = get_image(dataset_hdf5_all_key, dataset_image_mask, processid_to_index, I[0][7])
63
- image9 = get_image(dataset_hdf5_all_key, dataset_image_mask, processid_to_index, I[0][8])
64
- image10 = get_image(dataset_hdf5_all_key, dataset_image_mask, processid_to_index, I[0][9])
 
 
 
 
 
 
65
 
66
  # return id_list, id_list[0], id_list[1], id_list[2], id_list[3], id_list[4], id_list[5], id_list[6], id_list[7], id_list[8], id_list[9], image1, image2, image3, image4, image5, image6, image7, image8, image9, image10
67
  # return id_list, indx_to_id_dict[I[0][0]], indx_to_id_dict[I[0][1]], indx_to_id_dict[I[0][2]], indx_to_id_dict[I[0][3]], indx_to_id_dict[I[0][4]], indx_to_id_dict[I[0][5]], indx_to_id_dict[I[0][6]], indx_to_id_dict[I[0][7]], indx_to_id_dict[I[0][8]], indx_to_id_dict[I[0][9]]
68
  return id_list, image1, image2, image3, image4, image5, image6, image7, image8, image9, image10
69
 
70
  with gr.Blocks() as demo:
 
 
 
 
 
 
 
 
 
 
 
 
71
  with gr.Column():
72
  process_id = gr.Textbox(label="ID:", info="Enter a sample ID to search for")
73
  process_id_list = gr.Textbox(label="Closest 10 matches:" )
@@ -90,4 +112,4 @@ with gr.Blocks() as demo:
90
  outputs=[process_id_list, image1, image2, image3, image4, image5, image6, image7, image8, image9, image10])
91
 
92
  # ARONZ671-20
93
- demo.launch(share=True)
 
7
  import io
8
  import pickle
9
 
10
+ def get_image(image1, image2, dataset_image_mask, processid_to_index, idx):
11
  # idx = processid_to_index[query_id]
12
+ if (idx < 162834):
13
+ image_enc_padded = image1[idx].astype(np.uint8)
14
+ elif(idx >= 162834):
15
+ image_enc_padded = image2[idx-162834].astype(np.uint8)
16
+
17
  enc_length = dataset_image_mask[idx]
18
  image_enc = image_enc_padded[:enc_length]
19
  image = Image.open(io.BytesIO(image_enc))
 
51
  id_list.append(id)
52
 
53
  # get image data
54
+ # with open("dataset_processid_list.pickle", "rb") as f:
55
+ # dataset_processid_list = pickle.load(f)
56
+ # with open("dataset_image_mask.pickle", "rb") as f:
57
+ # dataset_image_mask = pickle.load(f)
58
+ # with open("processid_to_index.pickle", "rb") as f:
59
+ # processid_to_index = pickle.load(f)
60
+ # with open("dataset_image1.pickle", "rb") as f:
61
+ # dataset_image1 = pickle.load(f)
62
+ # with open("dataset_image2.pickle", "rb") as f:
63
+ # dataset_image2 = pickle.load(f)
64
+
65
+ image1 = get_image(dataset_image1, dataset_image2, dataset_image_mask, processid_to_index, I[0][0])
66
+ image2 = get_image(dataset_image1, dataset_image2, dataset_image_mask, processid_to_index, I[0][1])
67
+ image3 = get_image(dataset_image1, dataset_image2, dataset_image_mask, processid_to_index, I[0][2])
68
+ image4 = get_image(dataset_image1, dataset_image2, dataset_image_mask, processid_to_index, I[0][3])
69
+ image5 = get_image(dataset_image1, dataset_image2, dataset_image_mask, processid_to_index, I[0][4])
70
+ image6 = get_image(dataset_image1, dataset_image2, dataset_image_mask, processid_to_index, I[0][5])
71
+ image7 = get_image(dataset_image1, dataset_image2, dataset_image_mask, processid_to_index, I[0][6])
72
+ image8 = get_image(dataset_image1, dataset_image2, dataset_image_mask, processid_to_index, I[0][7])
73
+ image9 = get_image(dataset_image1, dataset_image2, dataset_image_mask, processid_to_index, I[0][8])
74
+ image10 = get_image(dataset_image1, dataset_image2, dataset_image_mask, processid_to_index, I[0][9])
75
 
76
  # return id_list, id_list[0], id_list[1], id_list[2], id_list[3], id_list[4], id_list[5], id_list[6], id_list[7], id_list[8], id_list[9], image1, image2, image3, image4, image5, image6, image7, image8, image9, image10
77
  # return id_list, indx_to_id_dict[I[0][0]], indx_to_id_dict[I[0][1]], indx_to_id_dict[I[0][2]], indx_to_id_dict[I[0][3]], indx_to_id_dict[I[0][4]], indx_to_id_dict[I[0][5]], indx_to_id_dict[I[0][6]], indx_to_id_dict[I[0][7]], indx_to_id_dict[I[0][8]], indx_to_id_dict[I[0][9]]
78
  return id_list, image1, image2, image3, image4, image5, image6, image7, image8, image9, image10
79
 
80
  with gr.Blocks() as demo:
81
+
82
+ with open("dataset_processid_list.pickle", "rb") as f:
83
+ dataset_processid_list = pickle.load(f)
84
+ with open("dataset_image_mask.pickle", "rb") as f:
85
+ dataset_image_mask = pickle.load(f)
86
+ with open("processid_to_index.pickle", "rb") as f:
87
+ processid_to_index = pickle.load(f)
88
+ with open("dataset_image1.pickle", "rb") as f:
89
+ dataset_image1 = pickle.load(f)
90
+ with open("dataset_image2.pickle", "rb") as f:
91
+ dataset_image2 = pickle.load(f)
92
+
93
  with gr.Column():
94
  process_id = gr.Textbox(label="ID:", info="Enter a sample ID to search for")
95
  process_id_list = gr.Textbox(label="Closest 10 matches:" )
 
112
  outputs=[process_id_list, image1, image2, image3, image4, image5, image6, image7, image8, image9, image10])
113
 
114
  # ARONZ671-20
115
+ demo.launch()