Thank you for your interest in contributing! This repository contains example code demonstrating the use of IDS peak. We welcome improvements, fixes, new examples, and documentation enhancements.
- Open an issue and include OS, SDK/runtime version, camera model, and the language/example you used.
- Provide minimal steps to reproduce, error messages and logs (if applicable).
- Only create issues for the examples in this repository. For general issues with the SDK contact support@ids-imaging.com.
- Keep each PR focused on a single topic (e.g., one example, one bugfix, one documentation change).
- Ensure your branch builds on supported platforms.
- Add/adjust README notes if behavior or prerequisites change.
- Follow code style guidelines below.
- Keep examples short and focused on illustrating API usage.
- Avoid unnecessary complexity or verbose code.
- Keep dependencies minimal.
- Whenever possible, write examples to work seamlessly across all supported
IDS peakplatforms.
- All C code in this repository must target the C11 standard.
- Use
clang-formatfor formatting. The repository includes a.clang-formatfile. - Use
clang-tidyfor static checks where appropriate.
- All C++ code in this repository must target the C++14 standard.
- Use
clang-formatfor formatting. The repository includes a.clang-formatfile. - Use
clang-tidyfor static checks where appropriate. - Prefer RAII and modern C++ constructs appropriate for C++14.
- Follow PEP 8 style conventions.
- Use ruff for linting and basic fixes. A
ruff.tomlis provided. - Add type hints to all Python code and validate them using
mypy. Amypy.iniconfiguration file is provided in the repository to ensure consistent type-checking behavior.
- An
.editorconfigis provided to control common formatting rules. - Examples must target .NET Framework 4.6.1 or .NET 6.
- Prefer idiomatic C#: use standard naming conventions, modern language features, and patterns that are common in the C# community.
- All C/C++ examples require the IDS peak Setup with development files to be installed on the target machine.
- Python and C# bindings include the necessary runtime DLLs to run the examples. However, the IDS peak Runtime Setup is still required to provide GenTL and driver integration.
- ids-peak: https://pypi.org/project/ids-peak/
- ids-peak-ipl: https://pypi.org/project/ids-peak-ipl/
- ids-peak-afl: https://pypi.org/project/ids-peak-afl/
- ids-peak-icv: https://pypi.org/project/ids-peak-icv/
- ids-peak-common: https://pypi.org/project/ids-peak-common/
- Respect third-party licenses for any code you add.
- Be civil and constructive in code reviews and issues.
Thank you for contributing!