using dopt.SharpPython; using Python.Runtime; namespace dopt.EKF { class Program { static void Main(string[] args) { // basic program root Console.WriteLine("This is the dopt basic CLI"); } } internal sealed class Plugin : SharpPython.BasePlugin { internal dynamic pyEkfModule; public Plugin(string runtimePath, bool verbose) : base(PyOptimLevels.None, threaded:false, runtimePath:runtimePath, verbose:verbose) { Initialise(); using (Py.GIL()) { pyEkfModule = Py.Import("dopt_sensor_anomalies._csharp_interface"); } } public void SensorAnomaliesPipeline(string pathToImage, float pixelsPerMetricX, float pixelsPerMetricY) { using (Py.GIL()) { pyEkfModule.sensor_anomalies_detection(pathToImage, pixelsPerMetricX, pixelsPerMetricY); } } } }