Skip to content

Commit

Permalink
Removed PKL to CSV
Browse files Browse the repository at this point in the history
  • Loading branch information
nishimura5 committed Jan 30, 2025
1 parent 4fbbad3 commit d7e6ff3
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 75 deletions.
18 changes: 0 additions & 18 deletions src/behavior_senpai/file_inout.py
Original file line number Diff line number Diff line change
Expand Up @@ -139,21 +139,3 @@ def save_pkl(org_pkl_path, dst_df, proc_history=None):
dst_df.to_pickle(file_name)
called_in = os.path.basename(inspect.stack()[1].filename)
print(f"{called_in} > {os.path.basename(os.path.basename(file_name))}")


def pkl_to_csv(init_dir="~"):
"""
pklファイルをcsvファイルに変換する
ダイアログを開きファイルを選択させ、同じディレクトリにcsvファイルを保存する
"""
pkl_path = open_pkl(init_dir)
if pkl_path == "" or pkl_path is None:
print("pkl_to_csv() canceled.")
return
csv_path = os.path.splitext(pkl_path)[0] + ".csv"
df = load_track_file(pkl_path, allow_calculated_track_file=True)
if df is None:
return
df.to_csv(csv_path)
csv_name = os.path.basename(csv_path)
return csv_name
73 changes: 16 additions & 57 deletions src/launcher.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,7 @@ def __init__(self, master):

detect_label = ttk.Label(buttons_frame, text="Preparation")
detect_label.pack(side=tk.TOP)
v2k_button = ttk.Button(
buttons_frame, text="Detect", command=lambda: self.launch_detect_window()
)
v2k_button = ttk.Button(buttons_frame, text="Detect", command=lambda: self.launch_detect_window())
v2k_button.pack(side=tk.TOP, fill=tk.X, pady=4)
self.tl_button = ttk.Button(
buttons_frame,
Expand All @@ -58,36 +56,28 @@ def __init__(self, master):
self.member_edit_button = ttk.Button(
buttons_frame,
text="Member",
command=lambda: self.launch_window(
app_member_edit.App, dialog_size="1000x750", edit_df=True, grab=True
),
command=lambda: self.launch_window(app_member_edit.App, dialog_size="1000x750", edit_df=True, grab=True),
state=tk.DISABLED,
)
self.member_edit_button.pack(side=tk.TOP, fill=tk.X, pady=4)
self.area_filter_button = ttk.Button(
buttons_frame,
text="Area",
command=lambda: self.launch_window(
app_area_filter.App, edit_df=True, grab=True
),
command=lambda: self.launch_window(app_area_filter.App, edit_df=True, grab=True),
state=tk.DISABLED,
)
self.area_filter_button.pack(side=tk.TOP, fill=tk.X, pady=4)
self.smooth_button = ttk.Button(
buttons_frame,
text="Smooth",
command=lambda: self.launch_window(
app_smoothing.App, dialog_size="1000x750", edit_df=True, grab=True
),
command=lambda: self.launch_window(app_smoothing.App, dialog_size="1000x750", edit_df=True, grab=True),
state=tk.DISABLED,
)
self.smooth_button.pack(side=tk.TOP, fill=tk.X, pady=4)
self.scene_table_button = ttk.Button(
buttons_frame,
text="Scene table",
command=lambda: self.launch_window(
app_scene_table.App, edit_df=True, grab=True
),
command=lambda: self.launch_window(app_scene_table.App, edit_df=True, grab=True),
state=tk.DISABLED,
)
self.scene_table_button.pack(side=tk.TOP, fill=tk.X, pady=4)
Expand All @@ -104,18 +94,14 @@ def __init__(self, master):
self.multi_point_button = ttk.Button(
buttons_frame,
text="Multiple points",
command=lambda: self.launch_window(
app_points_calc.App, dialog_size="1200x800"
),
command=lambda: self.launch_window(app_points_calc.App, dialog_size="1200x800"),
state=tk.DISABLED,
)
self.multi_point_button.pack(side=tk.TOP, fill=tk.X, pady=4)
self.feat_mix_button = ttk.Button(
buttons_frame,
text="Mix/Norm",
command=lambda: self.launch_window(
app_feat_mix.App, dialog_size="1200x800"
),
command=lambda: self.launch_window(app_feat_mix.App, dialog_size="1200x800"),
state=tk.DISABLED,
)
self.feat_mix_button.pack(side=tk.TOP, fill=tk.X, pady=4)
Expand All @@ -135,10 +121,6 @@ def __init__(self, master):
command=lambda: self.launch_window(pref_list.App),
)
pref_list_button.pack(side=tk.TOP, fill=tk.X, pady=4)
pkl_to_csv_button = ttk.Button(
buttons_frame, text="PKL to CSV tool", command=self.pkl_to_csv
)
pkl_to_csv_button.pack(side=tk.TOP, fill=tk.X, pady=4)

# srcにlicense.jsonがある場合はボタンを表示
license_path = "./src/license.json"
Expand Down Expand Up @@ -171,17 +153,13 @@ def __init__(self, master):
self.go_to_folder_btn = ttk.Button(
calc_case_frame,
text="Open calc folder",
command=lambda: windows_and_mac.go_to_folder(
os.path.dirname(os.path.dirname(self.pkl_path)), "calc"
),
command=lambda: windows_and_mac.go_to_folder(os.path.dirname(os.path.dirname(self.pkl_path)), "calc"),
)
self.go_to_folder_btn.pack(padx=(4, 0))

save_frame = ttk.Frame(head_frame)
save_frame.pack(anchor=tk.E)
self.save_button = ttk.Button(
save_frame, text="Overwrite", command=self.overwrite, width=10
)
self.save_button = ttk.Button(save_frame, text="Overwrite", command=self.overwrite, width=10)
self.save_button.pack()
self.save_button["state"] = tk.DISABLED
compare_button = ttk.Button(
Expand All @@ -202,14 +180,10 @@ def __init__(self, master):

attrs_frame = ttk.Frame(view_frame)
attrs_frame.pack(side=tk.RIGHT, anchor=tk.N)
self.attrs_textbox = tk.Text(
attrs_frame, relief=tk.FLAT, width=40, padx=10, pady=10
)
self.attrs_textbox = tk.Text(attrs_frame, relief=tk.FLAT, width=40, padx=10, pady=10)
self.attrs_textbox.pack(fill=tk.BOTH, expand=True, padx=(10, 0))

keypoints_btn = ttk.Button(
attrs_frame, text="Keypoint samples", command=self.open_kp_samples
)
keypoints_btn = ttk.Button(attrs_frame, text="Keypoint samples", command=self.open_kp_samples)
keypoints_btn.pack(padx=(10, 0), pady=(5, 0), expand=True, fill=tk.X)

self.vcap = vcap.VideoCap()
Expand Down Expand Up @@ -255,16 +229,11 @@ def load(self, event=None):
self.pkl_dir = os.path.dirname(self.pkl_path)
self.vcap.set_frame_size(src_attrs.attrs["frame_size"])
if isinstance(src_attrs.attrs["video_name"], list):
video_list = [
os.path.abspath(os.path.join(self.pkl_dir, os.pardir, video))
for video in src_attrs.attrs["video_name"]
]
video_list = [os.path.abspath(os.path.join(self.pkl_dir, os.pardir, video)) for video in src_attrs.attrs["video_name"]]
self.cap = vcap.MultiVcap(self.vcap)
self.cap.open_files(video_list)
else:
self.vcap.open_file(
os.path.join(self.pkl_dir, os.pardir, src_attrs.attrs["video_name"])
)
self.vcap.open_file(os.path.join(self.pkl_dir, os.pardir, src_attrs.attrs["video_name"]))
self.cap = self.vcap

# UIの更新
Expand Down Expand Up @@ -348,10 +317,7 @@ def launch_window(self, app, dialog_size="", edit_df=False, grab=False):
return
if self.a.dst_df is None:
return
if (
self.src_df.equals(self.a.dst_df) is True
and self.src_df.attrs == self.a.dst_df.attrs
):
if self.src_df.equals(self.a.dst_df) is True and self.src_df.attrs == self.a.dst_df.attrs:
return

print("DataFrame Updated")
Expand All @@ -371,7 +337,9 @@ def launch_window(self, app, dialog_size="", edit_df=False, grab=False):
print(f"member_num = {member_count}")

def launch_dlc_to_trk(self, h5_path):
window_pos = self.master.geometry().split("+")[1:]
dlg_modal = tk.Toplevel(self)
dlg_modal.geometry(f"+{window_pos[0]}+{window_pos[1]}")
dlg_modal.focus_set()
dlg_modal.grab_set()
dlg_modal.transient(self.master)
Expand All @@ -385,15 +353,6 @@ def open_kp_samples(self):
kp_sample_dialog = app_keypoint_samples.App(self, dataset_name)
self.wait_window(kp_sample_dialog)

def pkl_to_csv(self):
dir_path = os.path.dirname(self.pkl_path)
csv_name = file_inout.pkl_to_csv(dir_path)
if csv_name is None:
return
messagebox.showinfo(
"PKL to CSV", f"Conversion finished.\nfile name: {csv_name}"
)

def overwrite(self):
pkl_name = file_inout.overwrite_track_file(self.pkl_path, self.src_df)
messagebox.showinfo("Overwrite", f"Overwritten.\nfile name: {pkl_name}")
Expand Down

0 comments on commit d7e6ff3

Please sign in to comment.