:py:mod:`kwcoco.demo.perterb` ============================= .. py:module:: kwcoco.demo.perterb Module Contents --------------- Functions ~~~~~~~~~ .. autoapisummary:: kwcoco.demo.perterb.perterb_coco kwcoco.demo.perterb._demo_construct_probs .. py:function:: perterb_coco(coco_dset, **kwargs) Perterbs a coco dataset :Parameters: * **rng** (*int, default=0*) * **box_noise** (*int, default=0*) * **cls_noise** (*int, default=0*) * **null_pred** (*bool, default=False*) * **with_probs** (*bool, default=False*) * **score_noise** (*float, default=0.2*) * **hacked** (*int, default=1*) .. rubric:: Example >>> from kwcoco.demo.perterb import * # NOQA >>> from kwcoco.demo.perterb import _demo_construct_probs >>> import kwcoco >>> coco_dset = true_dset = kwcoco.CocoDataset.demo('shapes8') >>> kwargs = { >>> 'box_noise': 0.5, >>> 'n_fp': 3, >>> 'with_probs': 1, >>> 'with_heatmaps': 1, >>> } >>> pred_dset = perterb_coco(true_dset, **kwargs) >>> pred_dset._check_json_serializable() >>> # xdoctest: +REQUIRES(--show) >>> import kwplot >>> kwplot.autompl() >>> gid = 1 >>> canvas = true_dset.delayed_load(gid).finalize() >>> canvas = true_dset.annots(gid=gid).detections.draw_on(canvas, color='green') >>> canvas = pred_dset.annots(gid=gid).detections.draw_on(canvas, color='blue') >>> kwplot.imshow(canvas) .. py:function:: _demo_construct_probs(pred_cxs, pred_scores, classes, rng, hacked=1) Constructs random probabilities for demo data .. rubric:: Example >>> import kwcoco >>> import kwarray >>> rng = kwarray.ensure_rng(0) >>> classes = kwcoco.CategoryTree.coerce(10) >>> hacked = 1 >>> pred_cxs = rng.randint(0, 10, 10) >>> pred_scores = rng.rand(10) >>> probs = _demo_construct_probs(pred_cxs, pred_scores, classes, rng, hacked) >>> probs.sum(axis=1)