LSST Applications g0f08755f38+c89d42e150,g1635faa6d4+b6cf076a36,g1653933729+a8ce1bb630,g1a0ca8cf93+4c08b13bf7,g28da252d5a+f33f8200ef,g29321ee8c0+0187be18b1,g2bbee38e9b+9634bc57db,g2bc492864f+9634bc57db,g2cdde0e794+c2c89b37c4,g3156d2b45e+41e33cbcdc,g347aa1857d+9634bc57db,g35bb328faa+a8ce1bb630,g3a166c0a6a+9634bc57db,g3e281a1b8c+9f2c4e2fc3,g414038480c+077ccc18e7,g41af890bb2+e740673f1a,g5fbc88fb19+17cd334064,g7642f7d749+c89d42e150,g781aacb6e4+a8ce1bb630,g80478fca09+f8b2ab54e1,g82479be7b0+e2bd23ab8b,g858d7b2824+c89d42e150,g9125e01d80+a8ce1bb630,g9726552aa6+10f999ec6a,ga5288a1d22+065360aec4,gacf8899fa4+9553554aa7,gae0086650b+a8ce1bb630,gb58c049af0+d64f4d3760,gbd46683f8f+ac57cbb13d,gc28159a63d+9634bc57db,gcf0d15dbbd+e37acf7834,gda3e153d99+c89d42e150,gda6a2b7d83+e37acf7834,gdaeeff99f8+1711a396fd,ge2409df99d+cb1e6652d6,ge79ae78c31+9634bc57db,gf0baf85859+147a0692ba,gf3967379c6+02b11634a5,w.2024.45
LSST Data Management Base Package
Loading...
Searching...
No Matches
Classes | Functions
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