parameters: (self, imgIds=[], catIds=[], areaRng=[], iscrowd=None)
return_statement: return ids
docstring: Get ann ids that satisfy given filter conditions. default skips that filter
          :param imgIds  (int array)     : get anns for given imgs
                 catIds  (int array)     : get anns for given cats
                 areaRng (float array)   : get anns for given area range (e.g. [0 inf])
                 iscrowd (boolean)       : get anns for given crowd label (False or True)
          :return: ids (int array)       : integer array of ann ids
docstring_summary: Get ann ids that satisfy given filter conditions. default skips that filter
          :param imgIds  (int array)     : get anns for given imgs
                 catIds  (int array)     : get anns for given cats
                 areaRng (float array)   : get anns for given area range (e.g. [0 inf])
                 iscrowd (boolean)       : get anns for given crowd label (False or True)
          :return: ids (int array)       : integer array of ann ids
docstring_tokens: Get ann ids that satisfy given filter conditions . default skips that filter : param imgIds ( int array ) : get anns for given imgs catIds ( int array ) : get anns for given cats areaRng ( float array ) : get anns for given area range ( e . g . [ 0 inf ] ) iscrowd ( boolean ) : get anns for given crowd label ( False or True ) : return : ids ( int array ) : integer array of ann ids
function: def getAnnIds(self, imgIds=[], catIds=[], areaRng=[], iscrowd=None):
          """
          Get ann ids that satisfy given filter conditions. default skips that filter
          :param imgIds  (int array)     : get anns for given imgs
                 catIds  (int array)     : get anns for given cats
                 areaRng (float array)   : get anns for given area range (e.g. [0 inf])
                 iscrowd (boolean)       : get anns for given crowd label (False or True)
          :return: ids (int array)       : integer array of ann ids
          """
          imgIds = imgIds if type(imgIds) == list else [imgIds]
          catIds = catIds if type(catIds) == list else [catIds]
  
          if len(imgIds) == len(catIds) == len(areaRng) == 0:
              anns = self.dataset['annotations']
          else:
              if not len(imgIds) == 0:
                  # this can be changed by defaultdict
                  lists = [self.imgToAnns[imgId] for imgId in imgIds if imgId in self.imgToAnns]
                  anns = list(itertools.chain.from_iterable(lists))
              else:
                  anns = self.dataset['annotations']
              anns = anns if len(catIds)  == 0 else [ann for ann in anns if ann['category_id'] in catIds]
              anns = anns if len(areaRng) == 0 else [ann for ann in anns if ann['area'] > areaRng[0] and ann['area'] < areaRng[1]]
          if not iscrowd == None:
              ids = [ann['id'] for ann in anns if ann['iscrowd'] == iscrowd]
          else:
              ids = [ann['id'] for ann in anns]
          return ids
function_tokens: def getAnnIds ( self , imgIds = [ ] , catIds = [ ] , areaRng = [ ] , iscrowd = None ) : imgIds = imgIds if type ( imgIds ) == list else [ imgIds ] catIds = catIds if type ( catIds ) == list else [ catIds ] if len ( imgIds ) == len ( catIds ) == len ( areaRng ) == 0 : anns = self . dataset [ 'annotations' ] else : if not len ( imgIds ) == 0 : # this can be changed by defaultdict lists = [ self . imgToAnns [ imgId ] for imgId in imgIds if imgId in self . imgToAnns ] anns = list ( itertools . chain . from_iterable ( lists ) ) else : anns = self . dataset [ 'annotations' ] anns = anns if len ( catIds ) == 0 else [ ann for ann in anns if ann [ 'category_id' ] in catIds ] anns = anns if len ( areaRng ) == 0 else [ ann for ann in anns if ann [ 'area' ] > areaRng [ 0 ] and ann [ 'area' ] < areaRng [ 1 ] ] if not iscrowd == None : ids = [ ann [ 'id' ] for ann in anns if ann [ 'iscrowd' ] == iscrowd ] else : ids = [ ann [ 'id' ] for ann in anns ] return ids