pynbody.halo.details.number_mapping.MonotonicHaloNumberMapper#

class pynbody.halo.details.number_mapping.MonotonicHaloNumberMapper(halo_numbers: ndarray[tuple[int, ...], dtype[int]])[source]#

Bases: HaloNumberMapper

Attributes:
all_numbers

Methods

index_to_number(halo_index)

Convert a zero-based offset to a halo number

number_to_index(halo_number)

Convert a halo number to a zero-based index

__init__(halo_numbers: ndarray[tuple[int, ...], dtype[int]])[source]#

A HaloNumberMapper maps halo numbers (arbitrary unique integers) to zero-based indices within a halo catalogue.

The halo_numbers array must be monotonically increasing.

index_to_number(halo_index: int | ndarray[tuple[int, ...], dtype[int]]) int | ndarray[tuple[int, ...], dtype[int]][source]#

Convert a zero-based offset to a halo number

number_to_index(halo_number: int | ndarray[tuple[int, ...], dtype[int]]) int | ndarray[tuple[int, ...], dtype[int]][source]#

Convert a halo number to a zero-based index