mirror of
https://github.com/EyeTrackVR/EyeTrackVR.git
synced 2025-11-04 14:39:42 +08:00
small tuning
This commit is contained in:
parent
9abb30d000
commit
91b81b98bc
@ -299,7 +299,7 @@ class CameraWidget:
|
||||
graph = window[self.gui_output_graph]
|
||||
graph.erase()
|
||||
|
||||
if eye_info.info_type != InformationOrigin.FAILURE and not eye_info.blink:
|
||||
if eye_info.info_type != InformationOrigin.FAILURE: #and not eye_info.blink:
|
||||
graph.update(background_color="white")
|
||||
if not np.isnan(eye_info.x) and not np.isnan(eye_info.y):
|
||||
|
||||
@ -317,8 +317,8 @@ class CameraWidget:
|
||||
line_color="white",
|
||||
)
|
||||
|
||||
elif eye_info.blink:
|
||||
graph.update(background_color="#6f4ca1")
|
||||
# elif eye_info.blink:
|
||||
# graph.update(background_color="#6f4ca1")
|
||||
elif eye_info.info_type == InformationOrigin.FAILURE:
|
||||
graph.update(background_color="red")
|
||||
# Relay information to OSC
|
||||
|
||||
@ -268,10 +268,10 @@ class EyeProcessor:
|
||||
# self.output_images_and_update(thresh, EyeInformation(InformationOrigin.HSRAC, 0, 0, 0, False))
|
||||
def HSFM(self):
|
||||
cx, cy, frame = External_Run_HSF.HSFS(self)
|
||||
eyeopen = intense(cx, cy, frame) #not sure if i want this run on every algo or on the system..
|
||||
eyeopen = intense(cx, cy, self.current_image_gray) #not sure if i want this run on every algo or on the system..
|
||||
out_x, out_y = cal_osc(self, cx, cy)
|
||||
if cx == 0:
|
||||
self.output_images_and_update(frame, EyeInformation(InformationOrigin.HSF, out_x, out_y, 0, True)) #update app
|
||||
self.output_images_and_update(frame, EyeInformation(InformationOrigin.HSF, out_x, out_y, 0, eyeopen)) #update app
|
||||
else:
|
||||
self.output_images_and_update(frame, EyeInformation(InformationOrigin.HSF, out_x, out_y, 0, eyeopen))
|
||||
|
||||
|
||||
@ -599,7 +599,7 @@ class CenterCorrection(object):
|
||||
center_x, center_y = orig_x, orig_y
|
||||
self.frame_mask.fill(0)
|
||||
|
||||
cv2.circle(self.frame_mask, center=(center_x, center_y), radius=int(self.radius * 2), color=255, thickness=-1)
|
||||
# cv2.circle(self.frame_mask, center=(center_x, center_y), radius=int(self.radius * 2), color=255, thickness=-1)
|
||||
|
||||
# bottleneck
|
||||
cv2.calcHist([gray_frame], [0], None, [256], [0, 256], hist=self.hist)
|
||||
@ -803,9 +803,9 @@ class HSRAC_cls(object):
|
||||
lower_y = center_y - radius
|
||||
# Crop the image using the calculated bounds
|
||||
cropped_image = gray_frame[lower_y:upper_y, lower_x:upper_x]
|
||||
if imshow_enable or save_video:
|
||||
cv2.circle(frame, (orig_x, orig_y), 6, (0, 0, 255), -1)
|
||||
cv2.circle(frame, (center_x, center_y), 3, (255, 0, 0), -1)
|
||||
# if imshow_enable or save_video:
|
||||
# cv2.circle(frame, (orig_x, orig_y), 6, (0, 0, 255), -1)
|
||||
# cv2.circle(frame, (center_x, center_y), 3, (255, 0, 0), -1)
|
||||
# If you want to update response_max. it may be more cost-effective to rewrite response_list in the following way
|
||||
# https://stackoverflow.com/questions/42771110/fastest-way-to-left-cycle-a-numpy-array-like-pop-push-for-a-queue
|
||||
|
||||
|
||||
@ -19,8 +19,15 @@ client = udp_client.SimpleUDPClient(OSCip, OSCport)
|
||||
fname = "test_list.txt"
|
||||
data = pd.read_csv(fname, sep=",")
|
||||
|
||||
fl = []
|
||||
|
||||
def intense(x, y, frame):
|
||||
upper_x = x + 25
|
||||
lower_x = x - 25
|
||||
upper_y = y + 25
|
||||
lower_y = y - 25
|
||||
frame = frame[lower_y:upper_y, lower_x:upper_x]
|
||||
|
||||
xy = int(str(x) + str(y) + str(x+y))
|
||||
intensity = np.sum(frame)
|
||||
#print(intensity)
|
||||
@ -31,6 +38,13 @@ def intense(x, y, frame):
|
||||
if intensity < data.at[dfb, 'intensity']: #if current intensity value is less (more pupil), save that
|
||||
data.at[dfb, 'intensity'] = intensity # set value
|
||||
changed = True
|
||||
print("var adjusted")
|
||||
|
||||
else:
|
||||
intensitya = data.at[dfb, 'intensity'] - 3 #if current intensity value is less (more pupil), save that
|
||||
data.at[dfb, 'intensity'] = intensitya # set value
|
||||
changed = True
|
||||
# print("var inc", intensity, intensitya)
|
||||
|
||||
|
||||
except: # that value is not yet saved
|
||||
@ -42,8 +56,12 @@ def intense(x, y, frame):
|
||||
if intensity > data.at[0, 'intensity']: #if current intensity value is more (less pupil), save that NOTE: we have the
|
||||
data.at[0, 'intensity'] = intensity # set value at 0 index
|
||||
changed = True
|
||||
|
||||
print("new max", intensity)
|
||||
|
||||
else:
|
||||
intensityd = data.at[0, 'intensity'] - 10 #continuously adjust closed intensity, will be set when user blink, used to allow eyes to close when lighting changes
|
||||
data.at[0, 'intensity'] = intensityd # set value at 0 index
|
||||
changed = True
|
||||
|
||||
except: # there is no max intensity yet, create
|
||||
data.at[0, 'intensity'] = intensity # set value at 0 index
|
||||
@ -56,8 +74,9 @@ def intense(x, y, frame):
|
||||
#eyeopen = (intensity - minp) / (maxp - minp)
|
||||
eyeopen = (intensity - maxp) / (minp - maxp)
|
||||
eyeopen = 1 - eyeopen
|
||||
print(intensity, maxp, minp, x, y)
|
||||
# eyeopen = max(0.0, min(1.0, eyeopen))
|
||||
print(f"EYEOPEN: {eyeopen}")
|
||||
# print(f"EYEOPEN: {eyeopen}")
|
||||
client.send_message("/avatar/parameters/RightEyeLidExpandedSqueeze", float(eyeopen)) # open r
|
||||
client.send_message("/avatar/parameters/LeftEyeLidExpandedSqueeze", float(eyeopen))
|
||||
except:
|
||||
@ -67,17 +86,8 @@ def intense(x, y, frame):
|
||||
if changed == True:
|
||||
data.to_csv(fname, encoding='utf-8', index=False) #save file since we made a change
|
||||
|
||||
#e = data.at[dfb,'intensity'] #find intensity with value
|
||||
|
||||
|
||||
|
||||
#data.at[dfb, 'intensity'] = 4 # set value
|
||||
|
||||
#data.to_csv(fname, encoding='utf-8', index=False) #save file
|
||||
|
||||
|
||||
#data.loc[len(data.index)] = [xy, intensity]
|
||||
|
||||
return eyeopen
|
||||
|
||||
#vid = cv2.VideoCapture("http://192.168.1.43:4747/video")
|
||||
|
||||
@ -44,7 +44,7 @@ class VRChatOSC:
|
||||
(eye_id, eye_info) = self.msg_queue.get(block=True, timeout=0.1)
|
||||
except:
|
||||
continue
|
||||
|
||||
#eye_info.blink
|
||||
if not eye_info.blink:
|
||||
if self.config.tracker_single_eye == 1 or self.config.tracker_single_eye == 2:
|
||||
self.client.send_message("/avatar/parameters/LeftEyeX", eye_info.x) # only one eye is detected or there is an error. Send mirrored data to both eyes.
|
||||
|
||||
308
EyeTrackApp/test_list.txt
Normal file
308
EyeTrackApp/test_list.txt
Normal file
@ -0,0 +1,308 @@
|
||||
xy,intensity
|
||||
473582.0,357639.0
|
||||
473583.0,250971.0
|
||||
463582.0,259772.0
|
||||
463581.0,250001.0
|
||||
463481.0,262307.0
|
||||
473482.0,259063.0
|
||||
503485.0,253050.0
|
||||
513586.0,242916.0
|
||||
523486.0,245595.0
|
||||
523587.0,239752.0
|
||||
523588.0,235965.0
|
||||
533589.0,234207.0
|
||||
553792.0,227890.0
|
||||
573997.0,219112.0
|
||||
594099.0,211998.0
|
||||
6040100.0,97336.0
|
||||
6040101.0,204647.0
|
||||
6041101.0,206041.0
|
||||
553692.0,222899.0
|
||||
533689.0,234080.0
|
||||
523689.0,235235.0
|
||||
533588.0,234591.0
|
||||
513587.0,240166.0
|
||||
503586.0,242147.0
|
||||
483584.0,248543.0
|
||||
453681.0,252077.0
|
||||
453581.0,252706.0
|
||||
453580.0,238681.0
|
||||
443580.0,251563.0
|
||||
0.0,-282.0
|
||||
483583.0,246862.0
|
||||
513687.0,239926.0
|
||||
513486.0,244214.0
|
||||
543691.0,229066.0
|
||||
553691.0,224848.0
|
||||
563793.0,222710.0
|
||||
563693.0,221737.0
|
||||
563692.0,221532.0
|
||||
543589.0,233991.0
|
||||
523688.0,237634.0
|
||||
513688.0,240610.0
|
||||
503686.0,241587.0
|
||||
493686.0,243116.0
|
||||
483685.0,241468.0
|
||||
483785.0,242252.0
|
||||
473784.0,243209.0
|
||||
463784.0,244225.0
|
||||
453884.0,245899.0
|
||||
453883.0,245353.0
|
||||
443883.0,244192.0
|
||||
443882.0,245493.0
|
||||
433982.0,246043.0
|
||||
433882.0,246397.0
|
||||
423982.0,247620.0
|
||||
423981.0,248308.0
|
||||
433881.0,250237.0
|
||||
443782.0,255290.0
|
||||
453782.0,251893.0
|
||||
463783.0,247845.0
|
||||
443781.0,256185.0
|
||||
453783.0,252276.0
|
||||
463682.0,257657.0
|
||||
473683.0,248249.0
|
||||
473684.0,254666.0
|
||||
483684.0,253290.0
|
||||
493685.0,253745.0
|
||||
553590.0,160147.0
|
||||
563591.0,228955.0
|
||||
573592.0,227065.0
|
||||
583594.0,229045.0
|
||||
573593.0,229591.0
|
||||
563592.0,230609.0
|
||||
553490.0,235088.0
|
||||
543489.0,235599.0
|
||||
503585.0,235551.0
|
||||
493585.0,252256.0
|
||||
463683.0,249050.0
|
||||
453682.0,256510.0
|
||||
433780.0,257233.0
|
||||
423780.0,257321.0
|
||||
433781.0,254818.0
|
||||
423881.0,255737.0
|
||||
463884.0,245749.0
|
||||
473785.0,242568.0
|
||||
483786.0,249030.0
|
||||
493786.0,247564.0
|
||||
503787.0,244608.0
|
||||
543690.0,234709.0
|
||||
543590.0,233992.0
|
||||
553591.0,232013.0
|
||||
583593.0,228357.0
|
||||
583493.0,226658.0
|
||||
593594.0,228134.0
|
||||
583492.0,227921.0
|
||||
573391.0,231334.0
|
||||
573390.0,231444.0
|
||||
563390.0,234623.0
|
||||
563389.0,234593.0
|
||||
553388.0,237340.0
|
||||
543387.0,235194.0
|
||||
533386.0,239102.0
|
||||
523386.0,241225.0
|
||||
523385.0,241552.0
|
||||
513384.0,250384.0
|
||||
503383.0,253299.0
|
||||
493383.0,254572.0
|
||||
483382.0,258460.0
|
||||
473481.0,259955.0
|
||||
463480.0,258556.0
|
||||
453480.0,259863.0
|
||||
443680.0,261992.0
|
||||
433579.0,261555.0
|
||||
433679.0,259909.0
|
||||
433680.0,256797.0
|
||||
423880.0,258517.0
|
||||
424082.0,253054.0
|
||||
434083.0,250342.0
|
||||
434084.0,248101.0
|
||||
444084.0,246720.0
|
||||
444085.0,250595.0
|
||||
444488.0,265335.0
|
||||
464995.0,289119.0
|
||||
4954104.0,295429.0
|
||||
4953103.0,294742.0
|
||||
454893.0,283001.0
|
||||
464591.0,271508.0
|
||||
474491.0,264746.0
|
||||
484290.0,258544.0
|
||||
484190.0,255352.0
|
||||
484089.0,251344.0
|
||||
494089.0,245657.0
|
||||
493989.0,232298.0
|
||||
503990.0,230283.0
|
||||
513890.0,238264.0
|
||||
513990.0,226967.0
|
||||
523890.0,235722.0
|
||||
523891.0,234865.0
|
||||
533891.0,233355.0
|
||||
533791.0,232810.0
|
||||
543791.0,232428.0
|
||||
523790.0,237078.0
|
||||
513789.0,242689.0
|
||||
513788.0,242871.0
|
||||
533488.0,237010.0
|
||||
533487.0,238427.0
|
||||
533387.0,237412.0
|
||||
513385.0,244320.0
|
||||
503384.0,248585.0
|
||||
493382.0,255212.0
|
||||
483381.0,254841.0
|
||||
473381.0,258108.0
|
||||
473380.0,257087.0
|
||||
453479.0,260130.0
|
||||
443579.0,261332.0
|
||||
473885.0,242285.0
|
||||
483886.0,240662.0
|
||||
483887.0,238495.0
|
||||
493887.0,236504.0
|
||||
493988.0,234020.0
|
||||
503989.0,232407.0
|
||||
513991.0,225947.0
|
||||
523991.0,224778.0
|
||||
504090.0,229604.0
|
||||
494090.0,233456.0
|
||||
483988.0,236861.0
|
||||
484088.0,237088.0
|
||||
483987.0,239272.0
|
||||
473987.0,238618.0
|
||||
473986.0,240348.0
|
||||
473886.0,241339.0
|
||||
493484.0,249358.0
|
||||
503484.0,247653.0
|
||||
543388.0,233512.0
|
||||
523284.0,256409.0
|
||||
543084.0,269285.0
|
||||
542983.0,280529.0
|
||||
542883.0,291685.0
|
||||
9738135.0,213939.0
|
||||
9638134.0,219657.0
|
||||
9738136.0,213451.0
|
||||
9839137.0,204007.0
|
||||
9839138.0,204217.0
|
||||
9440134.0,228059.0
|
||||
9241134.0,240587.0
|
||||
9141133.0,246331.0
|
||||
9539134.0,224047.0
|
||||
9739136.0,211537.0
|
||||
533084.0,279261.0
|
||||
533184.0,262679.0
|
||||
523285.0,255018.0
|
||||
532983.0,274461.0
|
||||
532781.0,302302.0
|
||||
9637133.0,222471.0
|
||||
9537132.0,229626.0
|
||||
9737135.0,215710.0
|
||||
9637134.0,221660.0
|
||||
9537133.0,229847.0
|
||||
9737134.0,215498.0
|
||||
523184.0,257570.0
|
||||
494291.0,298100.0
|
||||
5250102.0,307350.0
|
||||
514192.0,302543.0
|
||||
523487.0,269115.0
|
||||
493483.0,259705.0
|
||||
483482.0,264756.0
|
||||
483483.0,263669.0
|
||||
542782.0,288667.0
|
||||
543185.0,253212.0
|
||||
533185.0,257473.0
|
||||
533285.0,252283.0
|
||||
513284.0,256989.0
|
||||
8552138.0,258478.0
|
||||
5151103.0,312095.0
|
||||
514799.0,313296.0
|
||||
544296.0,302653.0
|
||||
533892.0,289151.0
|
||||
543488.0,256997.0
|
||||
514395.0,299664.0
|
||||
5351104.0,304022.0
|
||||
485098.0,307963.0
|
||||
514294.0,304829.0
|
||||
503687.0,251585.0
|
||||
503788.0,248328.0
|
||||
493888.0,246838.0
|
||||
464086.0,252127.0
|
||||
454085.0,239326.0
|
||||
443984.0,255446.0
|
||||
433983.0,256770.0
|
||||
443681.0,264741.0
|
||||
543286.0,253677.0
|
||||
543186.0,251910.0
|
||||
513283.0,258668.0
|
||||
503283.0,259877.0
|
||||
493282.0,264590.0
|
||||
483281.0,266513.0
|
||||
463380.0,269924.0
|
||||
483280.0,270615.0
|
||||
493079.0,271830.0
|
||||
492979.0,271781.0
|
||||
492978.0,272371.0
|
||||
493080.0,271169.0
|
||||
513082.0,261750.0
|
||||
513183.0,260039.0
|
||||
523083.0,271107.0
|
||||
532881.0,278287.0
|
||||
9635131.0,228473.0
|
||||
9535130.0,233599.0
|
||||
9535131.0,233232.0
|
||||
9436130.0,236829.0
|
||||
9736134.0,218341.0
|
||||
8850138.0,238086.0
|
||||
5249101.0,310885.0
|
||||
494695.0,315451.0
|
||||
533286.0,252608.0
|
||||
504394.0,302886.0
|
||||
504293.0,306282.0
|
||||
522982.0,272159.0
|
||||
9635132.0,229019.0
|
||||
9736133.0,218560.0
|
||||
523082.0,298688.0
|
||||
493181.0,280463.0
|
||||
504696.0,307991.0
|
||||
9149141.0,221327.0
|
||||
504091.0,304619.0
|
||||
493787.0,253151.0
|
||||
513182.0,261244.0
|
||||
513081.0,263879.0
|
||||
503181.0,264893.0
|
||||
493584.0,256296.0
|
||||
503182.0,264151.0
|
||||
6050110.0,143710.0
|
||||
554095.0,79411.0
|
||||
10050150.0,83752.0
|
||||
6045105.0,146315.0
|
||||
6540105.0,48067.0
|
||||
6535100.0,137496.0
|
||||
653095.0,86445.0
|
||||
7535110.0,153158.0
|
||||
4040.0,-6.0
|
||||
7030100.0,163605.0
|
||||
652085.0,0.0
|
||||
65065.0,-15.0
|
||||
6565130.0,235622.0
|
||||
6555120.0,292006.0
|
||||
6560125.0,234630.0
|
||||
5560115.0,372229.0
|
||||
5055105.0,272624.0
|
||||
5550105.0,241914.0
|
||||
5050100.0,318630.0
|
||||
5555110.0,252782.0
|
||||
6055115.0,217787.0
|
||||
5545100.0,225673.0
|
||||
504595.0,236617.0
|
||||
405090.0,262150.0
|
||||
455095.0,272500.0
|
||||
454590.0,267193.0
|
||||
405595.0,267416.0
|
||||
404080.0,215254.0
|
||||
4060100.0,273388.0
|
||||
603595.0,269172.0
|
||||
404585.0,257809.0
|
||||
403575.0,253865.0
|
||||
403070.0,264744.0
|
||||
453075.0,265099.0
|
||||
503080.0,261448.0
|
||||
6550115.0,158537.0
|
||||
4065105.0,67964.0
|
||||
Loading…
Reference in New Issue
Block a user