scenic.core.pruning¶
Pruning parts of the sample space which violate requirements.
Summary of Module Members¶
Functions
Get the current value of an object’s property, taking into account prior pruning. |
|
Find where objects aligned to the given fields can satisfy the given RH bounds. |
|
Match calls to a given method, taking into account distribution decorators. |
|
Match uniform samples from a Region, returning the Region if any. |
|
Match headings defined by a PolygonalVectorField at the given position. |
|
Upper bound the distance between the given Objects. |
|
Prune a Scenario, removing infeasible parts of the space. |
|
Prune based on the requirement that individual Objects fit within their container. |
|
Prune based on requirements bounding the relative heading of an Object. |
|
Lower/upper bound the possible RH between two headings with bounded disturbances. |
|
Upper bound the distance from an Object to another it can see. |
Member Details¶
-
currentPropValue
(obj, prop)[source]¶ Get the current value of an object’s property, taking into account prior pruning.
-
isMethodCall
(thing, method)[source]¶ Match calls to a given method, taking into account distribution decorators.
-
matchPolygonalField
(heading, position)[source]¶ Match headings defined by a PolygonalVectorField at the given position.
Matches headings exactly equal to a PolygonalVectorField, or offset by a bounded disturbance. Returns a triplet consisting of the matched field if any, together with lower/upper bounds on the disturbance.
-
prune
(scenario, verbosity=1)[source]¶ Prune a Scenario, removing infeasible parts of the space.
This function directly modifies the Distributions used in the Scenario, but leaves the conditional distribution under the scenario’s requirements unchanged.
-
pruneContainment
(scenario, verbosity)[source]¶ Prune based on the requirement that individual Objects fit within their container.
Specifically, if O is positioned uniformly in region B and has container C, then we can instead pick a position uniformly in their intersection. If we can also lower bound the radius of O, then we can first erode C by that distance.
-
pruneRelativeHeading
(scenario, verbosity)[source]¶ Prune based on requirements bounding the relative heading of an Object.
Specifically, if an object O is:
positioned uniformly within a polygonal region B;
aligned to a polygonal vector field F (up to a bounded offset);
and another object O’ is:
aligned to a polygonal vector field F’ (up to a bounded offset);
at most some finite maximum distance from O;
required to have relative heading within a bounded offset of that of O;
then we can instead position O uniformly in the subset of B intersecting the cells of F which satisfy the relative heading requirements w.r.t. some cell of F’ which is within the distance bound.
-
maxDistanceBetween
(scenario, obj, target)[source]¶ Upper bound the distance between the given Objects.
-
visibilityBound
(obj, target)[source]¶ Upper bound the distance from an Object to another it can see.