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.
   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).
   2. You may need to right-click and open Capture.app the first time. 
   3. You may need to remove the app from quarantine. In terminal, type
      `xattr -dr com.apple.quarantine /Applications/Capture.app` 
   4. The application may need to be signed before it can run. In terminal, type
      `codesign --deep --force --sign - /Applications/Capture.app` 
   5. The macOS application might not be signed with a developer certificate. 
      Install a user level usb driver for the camera, or start with sudo:
      `sudo /Applications/Capture.app/Contents/MacOS/capture` 


**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.
*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). 
