Loading [MathJax]/extensions/tex2jax.js
LSST Applications g0d33ba9806+b932483eba,g0fba68d861+d53f2a615d,g1e78f5e6d3+1e869f36eb,g1ec0fe41b4+f536777771,g1fd858c14a+d5f4961c99,g35bb328faa+fcb1d3bbc8,g4af146b050+2e821d8f6b,g4d2262a081+b02c98aa00,g53246c7159+fcb1d3bbc8,g5a012ec0e7+b20b785ecb,g60b5630c4e+b932483eba,g67b6fd64d1+4086c0989b,g78460c75b0+2f9a1b4bcd,g786e29fd12+cf7ec2a62a,g7b71ed6315+fcb1d3bbc8,g87b7deb4dc+7d8c31d03d,g8852436030+a639f189fc,g89139ef638+4086c0989b,g9125e01d80+fcb1d3bbc8,g94187f82dc+b932483eba,g989de1cb63+4086c0989b,g9f33ca652e+898eabdf38,g9f7030ddb1+b068313d7a,ga2b97cdc51+b932483eba,ga44b1db4f6+2bd830756e,gabe3b4be73+1e0a283bba,gabf8522325+fa80ff7197,gb1101e3267+f4f1608365,gb58c049af0+f03b321e39,gb89ab40317+4086c0989b,gcf25f946ba+a639f189fc,gd6cbbdb0b4+af3c3595f5,gd9a9a58781+fcb1d3bbc8,gde0f65d7ad+4078fef7e5,ge278dab8ac+d65b3c2b70,ge410e46f29+4086c0989b,gf67bdafdda+4086c0989b,gfe06eef73a+6e83fc67a4,v29.0.0.rc5
LSST Data Management Base Package
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
lsst.scarlet.lite.bbox Namespace Reference

Classes

class  Box
 

Functions

tuple[tuple[slice,...], tuple[slice,...]] overlapped_slices (Box bbox1, Box bbox2)
 

Function Documentation

◆ overlapped_slices()

tuple[tuple[slice, ...], tuple[slice, ...]] lsst.scarlet.lite.bbox.overlapped_slices ( Box bbox1,
Box bbox2 )
Slices of bbox1 and bbox2 that overlap

Parameters
----------
bbox1:
    The first box.
bbox2:
    The second box.

Returns
-------
slices: tuple[Sequence[slice], Sequence[slice]]
    The slice of an array bounded by `bbox1` and
    the slice of an array bounded by `bbox2` in the
    overlapping region.

Definition at line 486 of file bbox.py.

486def overlapped_slices(bbox1: Box, bbox2: Box) -> tuple[tuple[slice, ...], tuple[slice, ...]]:
487 """Slices of bbox1 and bbox2 that overlap
488
489 Parameters
490 ----------
491 bbox1:
492 The first box.
493 bbox2:
494 The second box.
495
496 Returns
497 -------
498 slices: tuple[Sequence[slice], Sequence[slice]]
499 The slice of an array bounded by `bbox1` and
500 the slice of an array bounded by `bbox2` in the
501 overlapping region.
502 """
503 overlap = bbox1 & bbox2
504 if np.all(np.array(overlap.shape) == 0):
505 # There was no overlap, so return empty slices
506 return (slice(0, 0),) * len(overlap.shape), (slice(0, 0),) * len(overlap.shape)
507 _bbox1 = overlap - bbox1.origin
508 _bbox2 = overlap - bbox2.origin
509 slices = (
510 _bbox1.slices,
511 _bbox2.slices,
512 )
513 return slices