mwmathis's picture
Update dlc_utils.py
d1d45e2
raw
history blame
1.79 kB
import deeplabcut
from tkinter import W
import gradio as gr
import numpy as np
from dlclive import DLCLive, Processor
##########################################
def predict_dlc(list_np_crops,
kpts_likelihood_th,
DLCmodel,
dlc_proc):
# run dlc thru list of crops
dlc_live = DLCLive("superanimal_quadruped", processor=dlc_proc)
dlc_live.init_inference(list_np_crops[0])
list_kpts_per_crop = []
all_kypts = []
np_aux = np.empty((1,3)) # can I avoid hardcoding here?
for crop in list_np_crops:
# scale crop here?
keypts_xyp = dlc_live.get_pose(crop) # third column is llk!
# set kpts below threhsold to nan
#pdb.set_trace()
keypts_xyp[keypts_xyp[:,-1] < kpts_likelihood_th,:] = np_aux.fill(np.nan)
# add kpts of this crop to list
list_kpts_per_crop.append(keypts_xyp)
all_kypts.append(keypts_xyp)
return list_kpts_per_crop
# WIP error
'''
File "/home/user/app/dlc_utils.py", line 15, in predict_dlc
dlc_live = DLCLive(DLCmodel, processor=dlc_proc)
File "/home/user/.local/lib/python3.8/site-packages/dlclive/dlclive.py", line 155, in __init__
self.read_config()
File "/home/user/.local/lib/python3.8/site-packages/dlclive/dlclive.py", line 166, in read_config
cfg_path = Path(self.path).resolve() / "pose_cfg.yaml"
File "/usr/local/lib/python3.8/pathlib.py", line 1041, in __new__
self = cls._from_parts(args, init=False)
File "/usr/local/lib/python3.8/pathlib.py", line 682, in _from_parts
drv, root, parts = self._parse_args(args)
File "/usr/local/lib/python3.8/pathlib.py", line 666, in _parse_args
a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType
'''