Skip to content

Commit 2845f6c

Browse files
author
arch
committed
remove threads for now
1 parent c9ec8f0 commit 2845f6c

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

funscript_editor/algorithms/funscriptgenerator.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@
3232

3333
import funscript_editor.algorithms.signalprocessing as sp
3434
import numpy as np
35-
import multiprocessing as mp
36-
import threading
3735

3836
@dataclass
3937
class FunscriptGeneratorParameter:
@@ -77,7 +75,7 @@ class FunscriptGeneratorParameter:
7775
max_threshold: float = float(HYPERPARAMETER['max_threshold'])
7876

7977

80-
def merge_score(item: list, number_of_trackers: int, return_queue: mp.Queue) -> None:
78+
def merge_score(item: list, number_of_trackers: int) -> list:
8179
""" Merge score for given number of trackers
8280
8381
Note:
@@ -88,20 +86,19 @@ def merge_score(item: list, number_of_trackers: int, return_queue: mp.Queue) ->
8886
Args:
8987
item (list): score for each tracker
9088
number_of_trackers (int): number of used tracker (pairs)
91-
return_queue (mp.Queue): queue for return value
9289
9390
Returns:
9491
list: merged score
9592
"""
9693
if number_of_trackers == 1:
97-
return_queue.put(item[0] if len(item) > 0 else [])
94+
return item[0] if len(item) > 0 else []
9895
else:
9996
max_frame_number = max([len(item[i]) for i in range(number_of_trackers)])
10097
arr = np.ma.empty((max_frame_number,number_of_trackers))
10198
arr.mask = True
10299
for tracker_number in range(number_of_trackers):
103100
arr[:item[tracker_number].shape[0],tracker_number] = item[tracker_number]
104-
return_queue.put(list(filter(None.__ne__, arr.mean(axis=1).tolist())))
101+
return list(filter(None.__ne__, arr.mean(axis=1).tolist()))
105102

106103

107104
class FunscriptGeneratorThread(QtCore.QThread):
@@ -416,6 +413,7 @@ def calculate_score(self, bboxes) -> None:
416413
score['y'][tracker_number] = np.array([max([x[1] for x in bboxes['Woman'][tracker_number]]) - w[1] for w in bboxes['Woman'][tracker_number]])
417414

418415
self.logger.info("Merge Scores")
416+
"""
419417
pool, queue = {}, {}
420418
for metric in score.keys():
421419
queue[metric] = mp.Queue()
@@ -425,6 +423,10 @@ def calculate_score(self, bboxes) -> None:
425423
for metric in score.keys():
426424
pool[metric].join()
427425
score[metric] = queue[metric].get()
426+
"""
427+
428+
for metric in score.keys():
429+
score[metric] = merge_score(score[metric], self.params.number_of_trackers)
428430

429431
self.logger.info("Scale Score to 0 - 100")
430432
for metric in score.keys():
@@ -989,6 +991,11 @@ def tracking(self) -> str:
989991
if video.isTimeout():
990992
status = "Reach a corrupt video frame"
991993

994+
for i in range(self.params.number_of_trackers):
995+
trackers_woman[i].stop()
996+
if self.params.track_men:
997+
trackers_men[i].stop()
998+
992999
self.__show_loading_screen(first_frame.shape)
9931000
self.logger.info("Raw tracking data: %d Tracking points for %d seconds of the video", len(bboxes["Woman"]), int(len(bboxes["Woman"])*(self.params.skip_frames + 1)/self.video_info.fps))
9941001
video.stop()

0 commit comments

Comments
 (0)