Focus corpus helpers

Focus-corpus helpers for Atom-HiFi runner orchestration.

atom_hifi.corpus.filter_atoms(atoms, desc, elements)[source]

Return (idx, desc_focused, atoms_focused) for the focus atoms.

The is_focus per-atom array (extxyz column, int 0/1) and the elements (focus_elements) list are combined with AND: an atom is a focus atom iff its element is requested and its is_focus flag is 1. With focus_elements=null the element mask is all-True, so is_focus alone selects focus atoms.

atom_hifi.corpus.focus_arrays(lib, desc_list, focus_elements)[source]

Return focus-only structures, descriptor array, structure map, desc list.

atom_hifi.corpus.validate_focus_species(lib, lib_focus, focus_elements, focus_explicit)[source]

Fail fast if an explicit focus element has zero focus atoms.