Calib Capture Readme
=====================

**Install**
-----------
These steps deploy Capture together with its bundled libraries.

- **Linux (Ubuntu 22.04+)**
   1. Install GPU/camera prerequisites supplied by your distribution.
   2. Install the base runtime packages:
       `sudo apt update && sudo apt install libusb-1.0-0 libgl1-mesa-glx libxcb-cursor0 libxcb-xinerama0 libglib2.0-0 libxml2`
   3. Extract the tarball and run `./capture.sh` so the launcher sets up the
       Qt/desktop environment variables before launching the executable.
   4. To increase the usb memory limit: `sudo sh -c 'echo 1000 > /sys/module/usbcore/parameters/usbfs_memory_mb'`

- **Windows 10/11 (x64)**
   1. Install the Microsoft Visual C++ Redistributable (VS 2019+):
       https://aka.ms/vc14/vc_redist.x64.exe
   2. Extract the ZIP and run `capture.bat`. 

- **macOS 13+ (Apple Silicon or Intel)**
   1. Open `capture-<version>-mac.dmg` and drag `Capture.app` into Applications
       (or another writable folder).


**Camera Support**
----------------------------
*GenICam cameras*
- Place `.cti` files from your camera vendor anywhere on disk and extend the
   GenICam search path before launching Capture:
   - `export GENICAM_GENTL64_PATH=/path/to/cti_dir`
- Separate multiple paths with `:` on Linux/macOS or `;` on Windows. Capture
   searches both these and other search paths.
- You can also set this in Capture's settings INI file using key
  `GENICAM_GENTL64_PATH` (same multi-path separators apply).
  Typical INI locations:
  - macOS: `~/Library/Preferences/Calib.io/Capture.ini`
  - Linux: `~/.config/Calib.io/Capture.ini`
  - Windows: `%APPDATA%/Calib.io/Capture.ini`
*Built-in GenICam support*
- Capture has built-in support for GenICam compliant cameras through Aravis. 
  On Windows this backend requires installing a custom WinUSB/libusb driver for 
  each camera (use the vendor INF or a tool such as Zadig) before launching Capture.
*System camera support*
- Capture supports most built-in and USB cameras supported on the host operating system.
*Custom hardware support*
- If you are interested in getting specific camera hardware supported, we may be able
  to offer development of support for it on a fixed price basis. Contact sales@calib.io.


**MCS (Motorized Calibration Stand)**
------------------------------------
- Capture includes the control plugin for Calib MCS (Motorized Calibration Stand).
  Only hardware purchased from Calib.io is supported. 
- To request pricing or a formal quotation, email **sales@calib.io**.
- After installation, open "View -> MCS Control", enter the controller settings, input
   IPs, and use the UI to connect, jog, zero, and automate capture sequences.


**General Notes**
-----------------
- The `licenses/` folder in the package contains all third-party notices.
- Review the bundled `EULA.txt` for the Capture. Installation or use implies acceptance.
- Allow broadcast traffic on your camera subnet to ensure GigE Vision
   discovery packets reach the device.
- Set `CAPTURE_DEBUG_LOG=1` before launching Capture if you need verbose
   debug logging (use `set` on Windows or `export` on Linux/macOS). 
