The module fmdt.api provides a set of convenient wrapper functions to the
executables fmdt-detect and fmdt-visu.
It is important to know that if fmdt-detect or fmdt-visu are not found on
your system's $PATH then the functions in this module will immediately fail.
detect
The complete signature for the function fmdt.api.detect (aliased as
fmdt.detect) is:
def detect(
vid_in_path: str,
vid_in_start: int | None = None,
vid_in_stop: int | None = None,
vid_in_skip: int | None = None,
vid_in_buff: bool | None = None,
vid_in_loop: int | None = None,
vid_in_threads: int | None = None,
ccl_hyst_lo: int | None = None,
ccl_hyst_hi: int | None = None,
ccl_fra_path: str | None = None,
ccl_fra_id: bool | None = None,
cca_mag: bool | None = None,
cca_ell: bool | None = None,
mrp_s_min: int | None = None,
mrp_s_max: int | None = None,
knn_k: int | None = None,
knn_d: int | None = None,
knn_s: int | None = None,
trk_ext_d: int | None = None,
trk_ext_o: int | None = None,
trk_angle: float | None = None,
trk_star_min: int | None = None,
trk_meteor_min: int | None = None,
trk_meteor_max: int | None = None,
trk_ddev: float | None = None,
trk_all: bool | None = None,
trk_bb_path: str | None = None,
trk_roi_path: str | None = None,
trk_path: str | None = None,
log_path: str | None = None,
log: bool = False
) -> fmdt.args.Args:
All of these parameters except for trk_path and log are extensively
documented in the main project
here.
trk_path is the name of a file where the stdout of fmdt-detect will be
redirected.
For example, the command line call
./exe/fmdt-detect --vid-in-path ./2022_05_31_tauh_34_meteors.mp4 --trk-bb-path ./out_detect_bb.txt > ./out_detect_tracks.txt
Would get translated as
>>> fmdt.detect(vid_in_path="2022_05_31_tauh_34_meteors.mp4", trk_bb_path="out_detect_bb.txt", trk_path = "out_detect_tracks.txt")
In practice, I've found that the most important parameters are
vid_in_path,trk_path,trk_roi_path,
as the execution of fmdt.visu depends on their inclusion.