MCPcopy Create free account
hub / github.com/SooLab/CGFormer / createIndex

Method createIndex

tools/refer.py:76–138  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

74 print('DONE (t=%.2fs)' % (time.time() - tic))
75
76 def createIndex(self):
77 # create sets of mapping
78 # 1) Refs: {ref_id: ref}
79 # 2) Anns: {ann_id: ann}
80 # 3) Imgs: {image_id: image}
81 # 4) Cats: {category_id: category_name}
82 # 5) Sents: {sent_id: sent}
83 # 6) imgToRefs: {image_id: refs}
84 # 7) imgToAnns: {image_id: anns}
85 # 8) refToAnn: {ref_id: ann}
86 # 9) annToRef: {ann_id: ref}
87 # 10) catToRefs: {category_id: refs}
88 # 11) sentToRef: {sent_id: ref}
89 # 12) sentToTokens: {sent_id: tokens}
90 print('creating index...')
91 # fetch info from instances
92 Anns, Imgs, Cats, imgToAnns = {}, {}, {}, {}
93 for ann in self.data['annotations']:
94 Anns[ann['id']] = ann
95 imgToAnns[ann['image_id']] = imgToAnns.get(ann['image_id'],
96 []) + [ann]
97 for img in self.data['images']:
98 Imgs[img['id']] = img
99 for cat in self.data['categories']:
100 Cats[cat['id']] = cat['name']
101
102 # fetch info from refs
103 Refs, imgToRefs, refToAnn, annToRef, catToRefs = {}, {}, {}, {}, {}
104 Sents, sentToRef, sentToTokens = {}, {}, {}
105 for ref in self.data['refs']:
106 # ids
107 ref_id = ref['ref_id']
108 ann_id = ref['ann_id']
109 category_id = ref['category_id']
110 image_id = ref['image_id']
111
112 # add mapping related to ref
113 Refs[ref_id] = ref
114 imgToRefs[image_id] = imgToRefs.get(image_id, []) + [ref]
115 catToRefs[category_id] = catToRefs.get(category_id, []) + [ref]
116 refToAnn[ref_id] = Anns[ann_id]
117 annToRef[ann_id] = ref
118
119 # add mapping of sent
120 for sent in ref['sentences']:
121 Sents[sent['sent_id']] = sent
122 sentToRef[sent['sent_id']] = ref
123 sentToTokens[sent['sent_id']] = sent['tokens']
124
125 # create class members
126 self.Refs = Refs
127 self.Anns = Anns
128 self.Imgs = Imgs
129 self.Cats = Cats
130 self.Sents = Sents
131 self.imgToRefs = imgToRefs
132 self.imgToAnns = imgToAnns
133 self.refToAnn = refToAnn

Callers 1

__init__Method · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected