personal TODO: if loop_probes is an integer, we create the variable "selected" to make a copy of base_probe and then load the result into frame_data. but if selected = arange(Ntotal), then we don't really need all 20+ lines of mostly-copied code. reduce cyclomatic complexity, reduce testing paths required, reduce all the places updates are required if things are changed.