CaliPy is a Qt-based calibration application written in Python. It displays results generated by bbo(lab)-calibcam in the background to check camera calibration.
Currently supported calibration patterns:
Currently supported camera models:
CaliPy depends on the following Python packages:
- NumPy
- PyYAML
- OpenCV
- ImageIO with FFMPEG support
- Construct
- PyQt5
- PyQtGraph
- Bbolab/calibcamlib
- Bbolab/svidreader
- PyInstaller (optional, for standalone build)
Current best practise is to use conda env.
You can install all the required dependencies into a conda environment with the following command:
conda env create -f environment.yml
Then run the cali.py script with python cali.py from the newly created environment.
Alterntively if you have the pyinstaller package installed (i.e. via pip) you can turn CaliPy into a self-contained executable with the following command:
python3 setup.py standalone
The resulting CaliPy folder inside the dist subfolder can then be packed and distributed without the need to install any dependencies.
-
This is a GUI to view bbo-lab calibcam results. The software offers some commandline options:
--system_fileis for loading any calipy session files containing source info and video paths.--videosand--pipelinescan be alternatively used to provide paths to video files, and any pipelines to be applied on these videos. The final output of the pipeline is used to display calibration.--calib_fileis for loading calibraiton results from bbo-calibcam. If no video information is provided using the above commandline options, the software will attempt to load videos from the calib_file. Then, the video links in the calib_file should be active.
Note: if no proper commandline options are provided, an empty GUI is loaded.
-
Add cameras with appropriate identifiers in the 'Cameras' dock on the top left side of the window.
-
In the 'Sources' dock, add a session and add a recording for each one of the cameras to the session. Multiple such sessions can be added.
-
This is a GUI to view bbo-lab calibcam results. On the Menubar, use
Result > Load .npyto load calibcam calibration files. -
Ideally, the software should match the already loaded videos to the 'rec_file_names' in the calibcam dictionary.
Use File > Save.. to save the session and the added sources as a .system.yml file. The session can be reopened by selecting it under File > Open...
Bbo-calibcam files are either .yml or .npy files containing a dictionary. Use Result > Load Calib to load them.