@@ -41,11 +41,12 @@ class FunscriptGeneratorParameter:
4141 supervised_tracking : bool
4242 metric : str
4343 projection : str
44+ invert : bool
45+ start_frame : int
46+ end_frame : int = - 1 # default is video end (-1)
4447 number_of_trackers : int = 1
4548
4649 # Settings
47- start_frame : int = 0 # default is video start (input: set current video position)
48- end_frame : int = - 1 # default is video end (-1)
4950 raw_output : bool = SETTINGS ["raw_output" ]
5051 max_playback_fps : int = max ((0 , int (SETTINGS ['max_playback_fps' ])))
5152 use_zoom : bool = SETTINGS ['use_zoom' ]
@@ -101,7 +102,7 @@ def __init__(self,
101102 self .score = {
102103 'x' : [],
103104 'y' : [],
104- 'euclideanDistance ' : [],
105+ 'distance ' : [],
105106 'roll' : []
106107 }
107108
@@ -338,7 +339,7 @@ def calculate_score(self, bboxes) -> None:
338339 score = {
339340 'x' :[np .array ([]) for _ in range (self .params .number_of_trackers )],
340341 'y' :[np .array ([]) for _ in range (self .params .number_of_trackers )],
341- 'euclideanDistance ' : [np .array ([]) for _ in range (self .params .number_of_trackers )],
342+ 'distance ' : [np .array ([]) for _ in range (self .params .number_of_trackers )],
342343 'roll' : [np .array ([]) for _ in range (self .params .number_of_trackers )]
343344 }
344345 for tracker_number in range (self .params .number_of_trackers ):
@@ -350,7 +351,7 @@ def calculate_score(self, bboxes) -> None:
350351 score ['x' ][tracker_number ] = np .array ([w [0 ] - m [0 ] for w , m in zip (bboxes ['Woman' ][tracker_number ], bboxes ['Men' ][tracker_number ])])
351352 score ['y' ][tracker_number ] = np .array ([m [1 ] - w [1 ] for w , m in zip (bboxes ['Woman' ][tracker_number ], bboxes ['Men' ][tracker_number ])])
352353
353- score ['euclideanDistance ' ][tracker_number ] = np .array ([np .sqrt (np .sum ((np .array (m ) - np .array (w )) ** 2 , axis = 0 )) \
354+ score ['distance ' ][tracker_number ] = np .array ([np .sqrt (np .sum ((np .array (m ) - np .array (w )) ** 2 , axis = 0 )) \
354355 for w , m in zip (woman_center , men_center )])
355356
356357 for i in range ( min (( len (men_center ), len (woman_center ) )) ):
@@ -386,7 +387,7 @@ def get_mean(item):
386387
387388 self .score ['x' ] = sp .scale_signal (get_mean (score ['x' ]), 0 , 100 )
388389 self .score ['y' ] = sp .scale_signal (get_mean (score ['y' ]), 0 , 100 )
389- self .score ['euclideanDistance ' ] = sp .scale_signal (get_mean (score ['euclideanDistance ' ]), 0 , 100 )
390+ self .score ['distance ' ] = sp .scale_signal (get_mean (score ['distance ' ]), 0 , 100 )
390391 self .score ['roll' ] = sp .scale_signal (get_mean (score ['roll' ]), 0 , 100 )
391392
392393
@@ -1129,6 +1130,8 @@ def run(self) -> None:
11291130 self .plot_y_score ('debug.png' , idx_list )
11301131
11311132 self .create_funscript (idx_dict )
1133+ if self .params .invert :
1134+ self .funscript .invert_actions ()
11321135 self .finished (status , True )
11331136 except Exception as ex :
11341137 self .logger .critical ("The program crashed die to a fatal error" , exc_info = ex )
0 commit comments