Skip to content

Instantly share code, notes, and snippets.

View ven-kyoshiro's full-sized avatar
🐹
pep8

Mukai Ven Kyoshiro ven-kyoshiro

🐹
pep8
  • Tokyo
View GitHub Profile
@ven-kyoshiro
ven-kyoshiro / configuration_space_visualization.py
Last active August 3, 2023 04:43
configuration space visualization
import numpy as np
import matplotlib.pyplot as plt
def ccw(A,B,C):
return (C[1]-A[1]) * (B[0]-A[0]) > (B[1]-A[1]) * (C[0]-A[0])
def intersect(A,B,C,D):
# check AB vs CD
return ccw(A,C,D) != ccw(B,C,D) and ccw(A,B,C) != ccw(A,B,D)
class LineSegment:
@ven-kyoshiro
ven-kyoshiro / visualize_2dof_robot_collision_area.py
Last active November 16, 2022 00:41
visualize2Dcollision
import numpy as np
def ccw(A,B,C):
return (C[1]-A[1]) * (B[0]-A[0]) > (B[1]-A[1]) * (C[0]-A[0])
def intersect(A,B,C,D):
# check AB vs CD
return ccw(A,C,D) != ccw(B,C,D) and ccw(A,B,C) != ccw(A,B,D)
class LineSegment:
def __init__(self,xy1,xy2):
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np
"""
marge two scatter animation
"""
fig = plt.figure()
@ven-kyoshiro
ven-kyoshiro / calc_precision_recall.py
Created March 25, 2021 03:19
Bounding box群のPrecisionとRecallを計算するための関数覚書
def bb_intersection_over_union(boxA, boxB):
""" calculate IOU score between boxA and boxB
Args:
boxA : [hori_lo,virt_lo,hori_hi,virt_hi]
boxB : [hori_lo,virt_lo,hori_hi,virt_hi]
Returns:
iou_score
"""
# determine the (x, y)-coordinates of the intersection rectangle
xA = max(boxA[0], boxB[0])
@ven-kyoshiro
ven-kyoshiro / video2activity_remove_dontmove_are.py
Last active February 26, 2021 05:57
video2activity_remove_dontmove_are.py
"""
# 変更点
- video2activityで画像を出力するフォルダを指定できるように
- video2activity('200922_4_10min.mp4','test.csv',visualize=True,visualize_dir='hoge')
- ↑の場合 hoge以下に画像が出力される
- 動画内でずっと黒色になっている部分を検出して,白く塗りつぶす処理を追加
- video2activity('200922_4_10min.mp4','test.csv',remove_dontmove=True)
"""
import tqdm
import time
import tqdm
import time
import pandas as pd
import numpy as np
import cv2
import matplotlib.pyplot as plt
from sklearn.cluster import DBSCAN
def measure_position(arr,mouse_area_max,mouse_area_min,
@ven-kyoshiro
ven-kyoshiro / val2color.py
Last active May 22, 2019 04:58
[0,1] to RGB tuple
import matplotlib.pyplot as plt
import numpy as np
def val2color(x):
assert x<=1, 'x should be in the [0,1]'
base =0.5
if x<1/3:
g=x*3.
r= 1-g
b=0
import pprint
import numpy as np
class PolynomialPredictor(object):
def __init__(self,u,v,n=1,debug=True):
self.n = n
u = np.array(u)
A = np.array([u**i for i in range(self.n,-1,-1)]).T
b = np.array([v]).T
self.alpha = np.matmul(np.matmul( np.linalg.inv( np.matmul(A.T,A) ), A.T ), b )
self.sum_of_se = np.sum((np.matmul(A,np.fliplr(self.alpha))-b)**2)
@ven-kyoshiro
ven-kyoshiro / multivariable_normal_sigma.py
Created March 14, 2019 14:16
able to plot sigma area of multivariable normal distribution
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as pat
rot = lambda th:np.array([[np.cos(th),-np.sin(th)],[np.sin(th),np.cos(th)]])
mu = np.array([0.,0.])
S = np.array([[1,0],[0,6]]) @ rot(np.pi/3)
x = np.random.multivariate_normal(mu, S,10000)
fig = plt.figure(figsize=(10, 10))
ax = fig.add_subplot(111)
@ven-kyoshiro
ven-kyoshiro / color_wheel.py
Last active January 23, 2019 08:37
you can convert xy to RGB
import matplotlib.pyplot as plt
import math
def xy2color(x,y):
norm = min(1.0,(x*x + y*y)**(1/2))
rad = math.atan2(x,y)+math.pi
if rad < math.pi*2/3:
ratio = rad/(math.pi*2/3)
r = 1.-ratio
g = ratio
b = 0