Package: cuvis-il
cuvis.pyil (python interface layer; required for using the python wrapper)cuvis.pyil is the python interface binding for the Cuvis SDK written in C (available here).Website:https://www.cubert-hyperspectral.com/Source code:https://github.com/cubert-hyperspectral/Support:http://support.cubert-hyperspectral.com/For other supported program languages, please have a look at the source code page.InstallationPrerequisitesFirst, you need to install the Cuvis C SDK fromhere.
The installation registers the installation path in the environment, which the python interface layer is linked to.:warning:If the C SDK is reinstalled into another directory later on, the linkage breaks and the python wrapper might stop working.Via pipIf you wish to use cuvis-il within another project, from within your
project environment, runpipinstallcuvis-ilor addcuvis-ilto your projectrequirements.txtorsetup.py.
We currently provide pre-compiled binaries for Python 3.9, 3.10, 3.11 and 3.12 for Windows 64-bit.Via repositoryIf you wish to download and use cuvis locally, clone the git repositorygitclonegit@github.com:cubert-hyperspectral/cuvis.pyil.gitand then initialize the submodules.git submodule update --init --recursiveFor building the python stubs for wrapping between C libraries and python, you'll need SWIG (seehttps://www.swig.org/download.html).Next make sure that your preferred version ofNumPyis manually pre-installed in your go-to environment. Seehere.Then use CMake (seehttps://cmake.org/download/) to configure and generate your project. CMake will require you to locate the Cuvis C SDK (this should be found automatically, if the Cuvis C SDK is properly installed).
Also, you need to point the variableSWIG_EXECUTABLEto the path of theswig.exe.This project will then generate the_cuvis_pyil.pydandcuvis_il.pyfiles needed for running the Cuvis Python SDK wrapper.:warning:You might also use thecuvis_il.pydirectly, which provides all functionalities as single methods without organization into objects. Support for code without the additionalwrapperis limited, though.Dependency to NumPyThe python interface layer is dependent onNumPy. Specifically, this means that we need the C headers of the NumPy library.
Notice that NumPy hasbackwards compatibility.
To compile the python interface layer install your preferred version of NumPy. For example the newest stable release viapip install numpyCMake will try to find the NumPy path using thefind_package(Python REQUIRED COMPONENTS Interpreter Development NumPy).
To support the usage of a virtual environment, set thePython_ROOT_DIRvariable to the directory containing your virtual environment.Our pre-compiled binaries are compiled with 1.22 (Python 3.9 and 3.10), 1.23 (Python 3.11) and 1.26 (Python 3.12).Getting involvedcuvis.hub welcomes your enthusiasm and expertise!With providing our SDK wrappers on GitHub, we aim for a community-driven open
source application development by a diverse group of contributors.
Cubert GmbH aims for creating an open, inclusive, and positive community.
Feel free to branch/fork this repository for later merge requests, open
issues or point us to your application specific projects.
Contact us, if you want your open source project to be included and shared
on this hub; either if you search for direct support, collaborators or any
other input or simply want your project being used by this community.
We ourselves try to expand the code base with further more specific
applications using our wrappers to provide starting points for research
projects, embedders or other users.Getting helpDirectly code related issues can be posted here on the GitHub page, other, more
general and application related issues should be directed to the
aforementioned Cubert GmbHsupport page.