filter_annotations#
- Dataset.filter_annotations(index: Any, mode: Literal['loc', 'iloc'] = 'loc', remove_emptied_images: bool = False) Self[source]#
Method equivalent of
loc_annotandiloc_annot, except you can choose to remove emptied images as well.- Parameters:
index – Index object used in
self.annotations.loc[]orself.annotations.iloc[]mode – whether to be equivalent to
Dataset.loc_annot()orDataset.iloc_annot. Default to “loc”remove_emptied_images – if set to True, will remove images that were initially with annotations, but are now empty. In that case, it will keep the images that were already empty before calling this method. Default to False.
- Returns:
Filtered dataset
See also
Example
>>> from lours.utils.doc_utils import dummy_dataset >>> example = dummy_dataset(2, 2, seed=1) >>> example Dataset object containing 2 images and 2 objects Name : shake_effort_many Images root : care/suggest Images : width height relative_path type split id 0 955 229 determine/story.jpg .jpg train 1 131 840 air/method.bmp .bmp train Annotations : image_id category_str category_id ... box_y_min box_width box_height id ... 0 1 listen 14 ... 276.974642 9.718823 184.684056 1 0 reach 22 ... 6.311037 123.141689 174.239136 [2 rows x 8 columns] Label map : {14: 'listen', 15: 'marriage', 22: 'reach'} >>> example.filter_annotations(example.annotations["box_height"] > 180) Dataset object containing 2 images and 1 object Name : shake_effort_many Images root : care/suggest Images : width height relative_path type split id 0 955 229 determine/story.jpg .jpg train 1 131 840 air/method.bmp .bmp train Annotations : image_id category_str category_id ... box_y_min box_width box_height id ... 0 1 listen 14 ... 276.974642 9.718823 184.684056 [1 rows x 8 columns] Label map : {14: 'listen', 15: 'marriage', 22: 'reach'}
>>> example.filter_annotations(0, mode="iloc") Dataset object containing 2 images and 1 object Name : shake_effort_many Images root : care/suggest Images : width height relative_path type split id 0 955 229 determine/story.jpg .jpg train 1 131 840 air/method.bmp .bmp train Annotations : image_id category_str category_id ... box_y_min box_width box_height id ... 0 1 listen 14 ... 276.974642 9.718823 184.684056 [1 rows x 8 columns] Label map : {14: 'listen', 15: 'marriage', 22: 'reach'}
>>> example.filter_annotations(0, mode="iloc", remove_emptied_images=True) Dataset object containing 1 image and 1 object Name : shake_effort_many Images root : care/suggest Images : width height relative_path type split id 1 131 840 air/method.bmp .bmp train Annotations : image_id category_str category_id ... box_y_min box_width box_height id ... 0 1 listen 14 ... 276.974642 9.718823 184.684056 [1 rows x 8 columns] Label map : {14: 'listen', 15: 'marriage', 22: 'reach'}