PhaseCSharp  0.2.0
Phase CSharp

Phase CSharp is a C# wrapper over the Phase C++ library to enable running Phase in C#.

Install

Download Phase CSharp library from latest release
This includes the binararies for running and using Phase CSharp.

Dependencies

Phase

Phase library is required to be installed for use in the build process.
Download Windows installer from the v0.3.0 release.
Install using the installer GUI, this should install to C:\Program Files\I3DR\Phase

Dotnet

.NET 5.0 is required to build the Phase CSharp library. Download and install from here

Additional dependencies

Doxygen is used for documentation.
On Windows download and install doxygen from here

Build

Set the environment variable to the install location of Phase and then building using dotnet:

export Phase_DIR="C:\Program Files\I3DR\Phase"
dotnet build

Test

Unit test

Unit testing is performed by xunit.
To run the tests, use the following commands:

dotnet test test/unit/phasecsharp-unit-test.csproj
dotnet test test/perf/phasecsharp-perf-test.csproj

Note: Make sure to run this from the project root directory
Alternatively, after building run the tests graphically using Visual Studio and Test Explorer.

Apps

To run the test applications, use the following commands:

cd deployment/bin
./phasecsharp-demo-calib-from-images
./phasecsharp-demo-cam-read
./phasecsharp-demo-cam-read-thread
./phasecsharp-demo-cam-match
./phasecsharp-demo-cam-match-thread

Note: Make sure to run this from the project root directory

Docs

Documentation is generated and deployed in GitHub actions, however, to test documentation generation locally, run the following commands:

./docs/gen_docs.sh

This requires doxygen to be installed and available on the path.