Your OS
Mac
Your Python version
Python3.13.13 ( python3.11.15 also have this problem)
What is your library version?
pose2sim 0.10.47
Your problem
Hello! I am a first-year graduate student at a sports university in China. First of all, I would like to sincerely thank you for Pose2Sim—it has provided great conceptual inspiration and technical support for my thesis project.I am using a MacBook with the M5 Pro chip. However, I ran into an issue at the very first step: Pose2Sim.calibration(), problem like this:
" **
In [1]: from Pose2Sim import Pose2Sim
In [2]: Pose2Sim.calibration()
Matplotlib is building the font cache; this may take a moment.
Failed to extract font properties from /System/Library/PrivateFrameworks/FontServices.framework/Resources/Reserved/PingFangUI.ttc: FT_Open_Face (ft2font.cpp line 200) failed with error 0x02: unknown file format
Failed to extract font properties from /System/Library/Fonts/Apple Color Emoji.ttc: Non-scalable fonts are not supported
Failed to extract font properties from /System/Library/Fonts/LastResort.otf: tuple indices must be integers or slices, not str
Failed to extract font properties from /System/Library/Fonts/Supplemental/NISC18030.ttf: Non-scalable fonts are not supported
generated new fontManager
Camera calibration
On Friday 26. June 2026, 13:23:06
Calibration directory: ~/demo/calibration
Calculating intrinsic parameters...
Camera int_cam01_img:
cam01_01_int.jpg: Corners found.
AttributeError Traceback (most recent call last)
Cell In[2], line 1
----> 1 Pose2Sim.calibration()
File /site-packages/Pose2Sim/Pose2Sim.py:374, in calibration(config)
372 def calibration(config=None):
373 pipeline = Pose2SimPipeline(config)
--> 374 pipeline.calibration()
File /site-packages/Pose2Sim/Pose2Sim.py:212, in Pose2SimPipeline.calibration(self)
209 logging.info("---------------------------------------------------------------------\n")
211 start = time.time()
--> 212 calibrate_cams_all(config_dict)
213 elapsed = time.time() - start
214 logging.info(f'\nCalibration took {elapsed:.2f} seconds.\n')
File /calibration.py:1627, in calibrate_cams_all(config_dict)
1624 calib_fun = calib_mapping[calib_full_type]
1626 # Calibrate
-> 1627 ret, C, S, D, K, R, T = calib_fun(*args_calib_fun)
1629 # Write calibration file
1630 toml_write(calib_output_path, C, S, D, K, R, T)
File /calibration.py:516, in calib_calc_fun(calib_dir, intrinsics_config_dict, extrinsics_config_dict, save_debug_images)
513 # calculate intrinsics otherwise
514 else:
515 logging.info(f'\nCalculating intrinsic parameters...')
--> 516 ret, C, S, D, K, R, T = calibrate_intrinsics(calib_dir, intrinsics_config_dict, save_debug_images=save_debug_images)
517 nb_cams_intrinsics = len(C)
519 # Early write intrinsics in calibration file
File /calibration.py:767, in calibrate_intrinsics(calib_dir, intrinsics_config_dict, save_debug_images, extrinsics_method)
765 # If not satisfied, tries to detect corners
766 plt.close('all')
--> 767 imgp_confirmed, objp_confirmed = findCorners(img_path, intrinsics_corners_nb, objp=objp, show=show_detection_intrinsics)
768 if isinstance(imgp_confirmed, np.ndarray):
769 imgpoints.append(imgp_confirmed)
File /calibration.py:1036, in findCorners(img_path, corner_nb, objp, show)
1034 if var_to_delete in globals():
1035 del globals()[var_to_delete]
-> 1036 imgp_objp_confirmed = imgp_objp_visualizer_clicker(img, imgp=imgp, objp=objp, img_path=img_path)
1037 else:
1038 imgp_objp_confirmed = imgp
File /calibration.py:1381, in imgp_objp_visualizer_clicker(img, imgp, objp, img_path)
1379 ax.imshow(img)
1380 figManager = plt.get_current_fig_manager()
-> 1381 figManager.window.showMaximized()
1382 plt.tight_layout()
1384 # Allow for zoom and pan in image
AttributeError: 'FigureManagerMac' object has no attribute 'window'** "
I also tried using an AI agent to help diagnose the problem, and it seemed to point to an issue with the interactive backend. Forcing the use of TkAgg made the interaction work properly. And I don't have a deep understanding of the code, so I'm not sure if this modification is correct or if it might cause other issues down the line. I would really appreciate it if you could give me some official guidance on this.
Thank you very much for your time and help!
Your OS
Mac
Your Python version
Python3.13.13 ( python3.11.15 also have this problem)
What is your library version?
pose2sim 0.10.47
Your problem
Hello! I am a first-year graduate student at a sports university in China. First of all, I would like to sincerely thank you for Pose2Sim—it has provided great conceptual inspiration and technical support for my thesis project.I am using a MacBook with the M5 Pro chip. However, I ran into an issue at the very first step: Pose2Sim.calibration(), problem like this:
" **
In [1]: from Pose2Sim import Pose2Sim
In [2]: Pose2Sim.calibration()
Matplotlib is building the font cache; this may take a moment.
Failed to extract font properties from /System/Library/PrivateFrameworks/FontServices.framework/Resources/Reserved/PingFangUI.ttc: FT_Open_Face (ft2font.cpp line 200) failed with error 0x02: unknown file format
Failed to extract font properties from /System/Library/Fonts/Apple Color Emoji.ttc: Non-scalable fonts are not supported
Failed to extract font properties from /System/Library/Fonts/LastResort.otf: tuple indices must be integers or slices, not str
Failed to extract font properties from /System/Library/Fonts/Supplemental/NISC18030.ttf: Non-scalable fonts are not supported
generated new fontManager
Camera calibration
On Friday 26. June 2026, 13:23:06
Calibration directory: ~/demo/calibration
Calculating intrinsic parameters...
Camera int_cam01_img:
cam01_01_int.jpg: Corners found.
AttributeError Traceback (most recent call last)
Cell In[2], line 1
----> 1 Pose2Sim.calibration()
File /site-packages/Pose2Sim/Pose2Sim.py:374, in calibration(config)
372 def calibration(config=None):
373 pipeline = Pose2SimPipeline(config)
--> 374 pipeline.calibration()
File /site-packages/Pose2Sim/Pose2Sim.py:212, in Pose2SimPipeline.calibration(self)
209 logging.info("---------------------------------------------------------------------\n")
211 start = time.time()
--> 212 calibrate_cams_all(config_dict)
213 elapsed = time.time() - start
214 logging.info(f'\nCalibration took {elapsed:.2f} seconds.\n')
File /calibration.py:1627, in calibrate_cams_all(config_dict)
1624 calib_fun = calib_mapping[calib_full_type]
1626 # Calibrate
-> 1627 ret, C, S, D, K, R, T = calib_fun(*args_calib_fun)
1629 # Write calibration file
1630 toml_write(calib_output_path, C, S, D, K, R, T)
File /calibration.py:516, in calib_calc_fun(calib_dir, intrinsics_config_dict, extrinsics_config_dict, save_debug_images)
513 # calculate intrinsics otherwise
514 else:
515 logging.info(f'\nCalculating intrinsic parameters...')
--> 516 ret, C, S, D, K, R, T = calibrate_intrinsics(calib_dir, intrinsics_config_dict, save_debug_images=save_debug_images)
517 nb_cams_intrinsics = len(C)
519 # Early write intrinsics in calibration file
File /calibration.py:767, in calibrate_intrinsics(calib_dir, intrinsics_config_dict, save_debug_images, extrinsics_method)
765 # If not satisfied, tries to detect corners
766 plt.close('all')
--> 767 imgp_confirmed, objp_confirmed = findCorners(img_path, intrinsics_corners_nb, objp=objp, show=show_detection_intrinsics)
768 if isinstance(imgp_confirmed, np.ndarray):
769 imgpoints.append(imgp_confirmed)
File /calibration.py:1036, in findCorners(img_path, corner_nb, objp, show)
1034 if var_to_delete in globals():
1035 del globals()[var_to_delete]
-> 1036 imgp_objp_confirmed = imgp_objp_visualizer_clicker(img, imgp=imgp, objp=objp, img_path=img_path)
1037 else:
1038 imgp_objp_confirmed = imgp
File /calibration.py:1381, in imgp_objp_visualizer_clicker(img, imgp, objp, img_path)
1379 ax.imshow(img)
1380 figManager = plt.get_current_fig_manager()
-> 1381 figManager.window.showMaximized()
1382 plt.tight_layout()
1384 # Allow for zoom and pan in image
AttributeError: 'FigureManagerMac' object has no attribute 'window'** "
I also tried using an AI agent to help diagnose the problem, and it seemed to point to an issue with the interactive backend. Forcing the use of TkAgg made the interaction work properly. And I don't have a deep understanding of the code, so I'm not sure if this modification is correct or if it might cause other issues down the line. I would really appreciate it if you could give me some official guidance on this.
Thank you very much for your time and help!