From 07002dd8754b0e2cfb144c1cb339d400f07556b3 Mon Sep 17 00:00:00 2001 From: meelstorm <8780022+TesAnti@users.noreply.github.com> Date: Mon, 25 Aug 2025 17:02:33 +0200 Subject: [PATCH] c# script support python server support --- .../API/PythonAPI.cs | 1092 +++++++++++++++++ .../API/generator.nswag | 103 ++ .../DataTransfer/CSharpDataTransferHTTP.cs | 107 ++ .../DataTransfer/PythonModelProxyHTTP.cs | 23 +- .../DataTransfer/UvicornScriptRunner.cs | 63 + .../Hawkeye.VisionBuilder.Workflow.csproj | 16 + .../Operations/AI/ColorAIOperation.cs | 31 +- .../Operations/AI/RawModelAIOperation.cs | 39 +- .../Operations/AI/YoloDetectionOperation.cs | 1 + .../Scripts/CSharpProcessOperation.cs | 76 ++ .../Operations/Scripts/PluginLoadContext.cs | 37 + PythonModelAPI/PythonModelAPI.py | 131 +- PythonModelAPI/PythonModelAPI.pyproj | 1 + PythonModelAPI/office4_tr.h5 | Bin 0 -> 428192 bytes .../{ => NullClasses}/NoLearning.cs | 2 +- .../NullClasses/NoRecipeCreation.cs | 12 + .../Interfaces/UI/IRecipeCreationTool.cs | 7 + VisionBuilder.UI.Common/VisionBuilder.cs | 2 + .../Dialogs/RecipeSelectionDialog.Designer.cs | 21 + .../Dialogs/RecipeSelectionDialog.cs | 33 +- .../Dialogs/RecipeSelectionDialog.resx | 4 +- VisionBuilder.UI.sln | 4 +- 22 files changed, 1710 insertions(+), 95 deletions(-) create mode 100644 Hawkeye.VisionBuilder.Workflow/API/PythonAPI.cs create mode 100644 Hawkeye.VisionBuilder.Workflow/API/generator.nswag create mode 100644 Hawkeye.VisionBuilder.Workflow/DataTransfer/CSharpDataTransferHTTP.cs create mode 100644 Hawkeye.VisionBuilder.Workflow/DataTransfer/UvicornScriptRunner.cs create mode 100644 Hawkeye.VisionBuilder.Workflow/Operations/Scripts/CSharpProcessOperation.cs create mode 100644 Hawkeye.VisionBuilder.Workflow/Operations/Scripts/PluginLoadContext.cs create mode 100644 PythonModelAPI/office4_tr.h5 rename VisionBuilder.UI.Common/{ => NullClasses}/NoLearning.cs (87%) create mode 100644 VisionBuilder.UI.Common/NullClasses/NoRecipeCreation.cs create mode 100644 VisionBuilder.UI.Common/ViewModel/Interfaces/UI/IRecipeCreationTool.cs diff --git a/Hawkeye.VisionBuilder.Workflow/API/PythonAPI.cs b/Hawkeye.VisionBuilder.Workflow/API/PythonAPI.cs new file mode 100644 index 0000000..40ea910 --- /dev/null +++ b/Hawkeye.VisionBuilder.Workflow/API/PythonAPI.cs @@ -0,0 +1,1092 @@ +//---------------------- +// +// Generated using the NSwag toolchain v14.5.0.0 (NJsonSchema v11.4.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org) +// +//---------------------- + +#pragma warning disable 108 // Disable "CS0108 '{derivedDto}.ToJson()' hides inherited member '{dtoBase}.ToJson()'. Use the new keyword if hiding was intended." +#pragma warning disable 114 // Disable "CS0114 '{derivedDto}.RaisePropertyChanged(String)' hides inherited member 'dtoBase.RaisePropertyChanged(String)'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword." +#pragma warning disable 472 // Disable "CS0472 The result of the expression is always 'false' since a value of type 'Int32' is never equal to 'null' of type 'Int32?' +#pragma warning disable 612 // Disable "CS0612 '...' is obsolete" +#pragma warning disable 649 // Disable "CS0649 Field is never assigned to, and will always have its default value null" +#pragma warning disable 1573 // Disable "CS1573 Parameter '...' has no matching param tag in the XML comment for ... +#pragma warning disable 1591 // Disable "CS1591 Missing XML comment for publicly visible type or member ..." +#pragma warning disable 8073 // Disable "CS8073 The result of the expression is always 'false' since a value of type 'T' is never equal to 'null' of type 'T?'" +#pragma warning disable 3016 // Disable "CS3016 Arrays as attribute arguments is not CLS-compliant" +#pragma warning disable 8600 // Disable "CS8600 Converting null literal or possible null value to non-nullable type" +#pragma warning disable 8602 // Disable "CS8602 Dereference of a possibly null reference" +#pragma warning disable 8603 // Disable "CS8603 Possible null reference return" +#pragma warning disable 8604 // Disable "CS8604 Possible null reference argument for parameter" +#pragma warning disable 8625 // Disable "CS8625 Cannot convert null literal to non-nullable reference type" +#pragma warning disable 8765 // Disable "CS8765 Nullability of type of parameter doesn't match overridden member (possibly because of nullability attributes)." + +namespace Hawkeye.VisionBuilder.Workflow +{ + using System = global::System; + + [System.CodeDom.Compiler.GeneratedCode("NSwag", "14.5.0.0 (NJsonSchema v11.4.0.0 (Newtonsoft.Json v13.0.0.0))")] + public partial class PythonModelAPI + { + #pragma warning disable 8618 + private string _baseUrl; + #pragma warning restore 8618 + + private System.Net.Http.HttpClient _httpClient; + private static System.Lazy _settings = new System.Lazy(CreateSerializerSettings, true); + private Newtonsoft.Json.JsonSerializerSettings _instanceSettings; + + #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. + public PythonModelAPI(string baseUrl, System.Net.Http.HttpClient httpClient) + #pragma warning restore CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. + { + BaseUrl = baseUrl; + _httpClient = httpClient; + Initialize(); + } + + private static Newtonsoft.Json.JsonSerializerSettings CreateSerializerSettings() + { + var settings = new Newtonsoft.Json.JsonSerializerSettings(); + UpdateJsonSerializerSettings(settings); + return settings; + } + + public string BaseUrl + { + get { return _baseUrl; } + set + { + _baseUrl = value; + if (!string.IsNullOrEmpty(_baseUrl) && !_baseUrl.EndsWith("/")) + _baseUrl += '/'; + } + } + + protected Newtonsoft.Json.JsonSerializerSettings JsonSerializerSettings { get { return _instanceSettings ?? _settings.Value; } } + + static partial void UpdateJsonSerializerSettings(Newtonsoft.Json.JsonSerializerSettings settings); + + partial void Initialize(); + + partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, string url); + partial void PrepareRequest(System.Net.Http.HttpClient client, System.Net.Http.HttpRequestMessage request, System.Text.StringBuilder urlBuilder); + partial void ProcessResponse(System.Net.Http.HttpClient client, System.Net.Http.HttpResponseMessage response); + + /// + /// Predict (classified indices) + /// + /// Successful Response + /// A server side error occurred. + public virtual System.Threading.Tasks.Task PredictAsync(FileParameter file) + { + return PredictAsync(file, System.Threading.CancellationToken.None); + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Predict (classified indices) + /// + /// Successful Response + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task PredictAsync(FileParameter file, System.Threading.CancellationToken cancellationToken) + { + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + var boundary_ = System.Guid.NewGuid().ToString(); + var content_ = new System.Net.Http.MultipartFormDataContent(boundary_); + content_.Headers.Remove("Content-Type"); + content_.Headers.TryAddWithoutValidation("Content-Type", "multipart/form-data; boundary=" + boundary_); + + if (file == null) + throw new System.ArgumentNullException("file"); + else + { + var content_file_ = new System.Net.Http.StreamContent(file.Data); + if (!string.IsNullOrEmpty(file.ContentType)) + content_file_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse(file.ContentType); + content_.Add(content_file_, "file", file.FileName ?? "file"); + } + request_.Content = content_; + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + var urlBuilder_ = new System.Text.StringBuilder(); + if (!string.IsNullOrEmpty(_baseUrl)) urlBuilder_.Append(_baseUrl); + // Operation Path: "predict" + urlBuilder_.Append("predict"); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = new System.Collections.Generic.Dictionary>(); + foreach (var item_ in response_.Headers) + headers_[item_.Key] = item_.Value; + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200 || status_ == 206) + { + var responseStream_ = response_.Content == null ? System.IO.Stream.Null : await ReadAsStreamAsync(response_.Content, cancellationToken).ConfigureAwait(false); + var fileResponse_ = new FileResponse(status_, headers_, responseStream_, null, response_); + disposeClient_ = false; disposeResponse_ = false; // response and client are disposed by FileResponse + return fileResponse_; + } + else + if (status_ == 422) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new ApiException("Validation Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await ReadAsStringAsync(response_.Content, cancellationToken).ConfigureAwait(false); + throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// + /// Predict (raw/uint8 flattened) + /// + /// Successful Response + /// A server side error occurred. + public virtual System.Threading.Tasks.Task PredictRawAsync(FileParameter file) + { + return PredictRawAsync(file, System.Threading.CancellationToken.None); + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Predict (raw/uint8 flattened) + /// + /// Successful Response + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task PredictRawAsync(FileParameter file, System.Threading.CancellationToken cancellationToken) + { + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + var boundary_ = System.Guid.NewGuid().ToString(); + var content_ = new System.Net.Http.MultipartFormDataContent(boundary_); + content_.Headers.Remove("Content-Type"); + content_.Headers.TryAddWithoutValidation("Content-Type", "multipart/form-data; boundary=" + boundary_); + + if (file == null) + throw new System.ArgumentNullException("file"); + else + { + var content_file_ = new System.Net.Http.StreamContent(file.Data); + if (!string.IsNullOrEmpty(file.ContentType)) + content_file_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse(file.ContentType); + content_.Add(content_file_, "file", file.FileName ?? "file"); + } + request_.Content = content_; + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + var urlBuilder_ = new System.Text.StringBuilder(); + if (!string.IsNullOrEmpty(_baseUrl)) urlBuilder_.Append(_baseUrl); + // Operation Path: "predictRaw" + urlBuilder_.Append("predictRaw"); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = new System.Collections.Generic.Dictionary>(); + foreach (var item_ in response_.Headers) + headers_[item_.Key] = item_.Value; + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200 || status_ == 206) + { + var responseStream_ = response_.Content == null ? System.IO.Stream.Null : await ReadAsStreamAsync(response_.Content, cancellationToken).ConfigureAwait(false); + var fileResponse_ = new FileResponse(status_, headers_, responseStream_, null, response_); + disposeClient_ = false; disposeResponse_ = false; // response and client are disposed by FileResponse + return fileResponse_; + } + else + if (status_ == 422) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new ApiException("Validation Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await ReadAsStringAsync(response_.Content, cancellationToken).ConfigureAwait(false); + throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// + /// Load a model from path + /// + /// Successful Response + /// A server side error occurred. + public virtual System.Threading.Tasks.Task LoadModelAsync(LoadModelIn body) + { + return LoadModelAsync(body, System.Threading.CancellationToken.None); + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Load a model from path + /// + /// Successful Response + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task LoadModelAsync(LoadModelIn body, System.Threading.CancellationToken cancellationToken) + { + if (body == null) + throw new System.ArgumentNullException("body"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + var json_ = Newtonsoft.Json.JsonConvert.SerializeObject(body, JsonSerializerSettings); + var content_ = new System.Net.Http.StringContent(json_); + content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + request_.Content = content_; + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + var urlBuilder_ = new System.Text.StringBuilder(); + if (!string.IsNullOrEmpty(_baseUrl)) urlBuilder_.Append(_baseUrl); + // Operation Path: "loadModel" + urlBuilder_.Append("loadModel"); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = new System.Collections.Generic.Dictionary>(); + foreach (var item_ in response_.Headers) + headers_[item_.Key] = item_.Value; + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 422) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new ApiException("Validation Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await ReadAsStringAsync(response_.Content, cancellationToken).ConfigureAwait(false); + throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// + /// Activate a loaded model + /// + /// Successful Response + /// A server side error occurred. + public virtual System.Threading.Tasks.Task ActivateModelAsync(ActivateModelIn body) + { + return ActivateModelAsync(body, System.Threading.CancellationToken.None); + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Activate a loaded model + /// + /// Successful Response + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task ActivateModelAsync(ActivateModelIn body, System.Threading.CancellationToken cancellationToken) + { + if (body == null) + throw new System.ArgumentNullException("body"); + + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + var json_ = Newtonsoft.Json.JsonConvert.SerializeObject(body, JsonSerializerSettings); + var content_ = new System.Net.Http.StringContent(json_); + content_.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json"); + request_.Content = content_; + request_.Method = new System.Net.Http.HttpMethod("POST"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + var urlBuilder_ = new System.Text.StringBuilder(); + if (!string.IsNullOrEmpty(_baseUrl)) urlBuilder_.Append(_baseUrl); + // Operation Path: "activateModel" + urlBuilder_.Append("activateModel"); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = new System.Collections.Generic.Dictionary>(); + foreach (var item_ in response_.Headers) + headers_[item_.Key] = item_.Value; + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + if (status_ == 422) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + throw new ApiException("Validation Error", status_, objectResponse_.Text, headers_, objectResponse_.Object, null); + } + else + { + var responseData_ = response_.Content == null ? null : await ReadAsStringAsync(response_.Content, cancellationToken).ConfigureAwait(false); + throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// + /// Get input tensor shape + /// + /// Successful Response + /// A server side error occurred. + public virtual System.Threading.Tasks.Task GetAcceptSizeAsync() + { + return GetAcceptSizeAsync(System.Threading.CancellationToken.None); + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get input tensor shape + /// + /// Successful Response + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task GetAcceptSizeAsync(System.Threading.CancellationToken cancellationToken) + { + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + var urlBuilder_ = new System.Text.StringBuilder(); + if (!string.IsNullOrEmpty(_baseUrl)) urlBuilder_.Append(_baseUrl); + // Operation Path: "getAcceptSize" + urlBuilder_.Append("getAcceptSize"); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = new System.Collections.Generic.Dictionary>(); + foreach (var item_ in response_.Headers) + headers_[item_.Key] = item_.Value; + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + { + var responseData_ = response_.Content == null ? null : await ReadAsStringAsync(response_.Content, cancellationToken).ConfigureAwait(false); + throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + /// + /// Get output tensor shape + /// + /// Successful Response + /// A server side error occurred. + public virtual System.Threading.Tasks.Task GetOutputSizeAsync() + { + return GetOutputSizeAsync(System.Threading.CancellationToken.None); + } + + /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. + /// + /// Get output tensor shape + /// + /// Successful Response + /// A server side error occurred. + public virtual async System.Threading.Tasks.Task GetOutputSizeAsync(System.Threading.CancellationToken cancellationToken) + { + var client_ = _httpClient; + var disposeClient_ = false; + try + { + using (var request_ = new System.Net.Http.HttpRequestMessage()) + { + request_.Method = new System.Net.Http.HttpMethod("GET"); + request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json")); + + var urlBuilder_ = new System.Text.StringBuilder(); + if (!string.IsNullOrEmpty(_baseUrl)) urlBuilder_.Append(_baseUrl); + // Operation Path: "getOutputSize" + urlBuilder_.Append("getOutputSize"); + + PrepareRequest(client_, request_, urlBuilder_); + + var url_ = urlBuilder_.ToString(); + request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute); + + PrepareRequest(client_, request_, url_); + + var response_ = await client_.SendAsync(request_, System.Net.Http.HttpCompletionOption.ResponseHeadersRead, cancellationToken).ConfigureAwait(false); + var disposeResponse_ = true; + try + { + var headers_ = new System.Collections.Generic.Dictionary>(); + foreach (var item_ in response_.Headers) + headers_[item_.Key] = item_.Value; + if (response_.Content != null && response_.Content.Headers != null) + { + foreach (var item_ in response_.Content.Headers) + headers_[item_.Key] = item_.Value; + } + + ProcessResponse(client_, response_); + + var status_ = (int)response_.StatusCode; + if (status_ == 200) + { + var objectResponse_ = await ReadObjectResponseAsync(response_, headers_, cancellationToken).ConfigureAwait(false); + if (objectResponse_.Object == null) + { + throw new ApiException("Response was null which was not expected.", status_, objectResponse_.Text, headers_, null); + } + return objectResponse_.Object; + } + else + { + var responseData_ = response_.Content == null ? null : await ReadAsStringAsync(response_.Content, cancellationToken).ConfigureAwait(false); + throw new ApiException("The HTTP status code of the response was not expected (" + status_ + ").", status_, responseData_, headers_, null); + } + } + finally + { + if (disposeResponse_) + response_.Dispose(); + } + } + } + finally + { + if (disposeClient_) + client_.Dispose(); + } + } + + protected struct ObjectResponseResult + { + public ObjectResponseResult(T responseObject, string responseText) + { + this.Object = responseObject; + this.Text = responseText; + } + + public T Object { get; } + + public string Text { get; } + } + + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + private static System.Threading.Tasks.Task ReadAsStringAsync(System.Net.Http.HttpContent content, System.Threading.CancellationToken cancellationToken) + { + #if NET5_0_OR_GREATER + return content.ReadAsStringAsync(cancellationToken); + #else + return content.ReadAsStringAsync(); + #endif + } + + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] + private static System.Threading.Tasks.Task ReadAsStreamAsync(System.Net.Http.HttpContent content, System.Threading.CancellationToken cancellationToken) + { + #if NET5_0_OR_GREATER + return content.ReadAsStreamAsync(cancellationToken); + #else + return content.ReadAsStreamAsync(); + #endif + } + + public bool ReadResponseAsString { get; set; } + + protected virtual async System.Threading.Tasks.Task> ReadObjectResponseAsync(System.Net.Http.HttpResponseMessage response, System.Collections.Generic.IReadOnlyDictionary> headers, System.Threading.CancellationToken cancellationToken) + { + if (response == null || response.Content == null) + { + return new ObjectResponseResult(default(T), string.Empty); + } + + if (ReadResponseAsString) + { + var responseText = await ReadAsStringAsync(response.Content, cancellationToken).ConfigureAwait(false); + try + { + var typedBody = Newtonsoft.Json.JsonConvert.DeserializeObject(responseText, JsonSerializerSettings); + return new ObjectResponseResult(typedBody, responseText); + } + catch (Newtonsoft.Json.JsonException exception) + { + var message = "Could not deserialize the response body string as " + typeof(T).FullName + "."; + throw new ApiException(message, (int)response.StatusCode, responseText, headers, exception); + } + } + else + { + try + { + using (var responseStream = await ReadAsStreamAsync(response.Content, cancellationToken).ConfigureAwait(false)) + using (var streamReader = new System.IO.StreamReader(responseStream)) + using (var jsonTextReader = new Newtonsoft.Json.JsonTextReader(streamReader)) + { + var serializer = Newtonsoft.Json.JsonSerializer.Create(JsonSerializerSettings); + var typedBody = serializer.Deserialize(jsonTextReader); + return new ObjectResponseResult(typedBody, string.Empty); + } + } + catch (Newtonsoft.Json.JsonException exception) + { + var message = "Could not deserialize the response body stream as " + typeof(T).FullName + "."; + throw new ApiException(message, (int)response.StatusCode, string.Empty, headers, exception); + } + } + } + + private string ConvertToString(object value, System.Globalization.CultureInfo cultureInfo) + { + if (value == null) + { + return ""; + } + + if (value is System.Enum) + { + var name = System.Enum.GetName(value.GetType(), value); + if (name != null) + { + var field = System.Reflection.IntrospectionExtensions.GetTypeInfo(value.GetType()).GetDeclaredField(name); + if (field != null) + { + var attribute = System.Reflection.CustomAttributeExtensions.GetCustomAttribute(field, typeof(System.Runtime.Serialization.EnumMemberAttribute)) + as System.Runtime.Serialization.EnumMemberAttribute; + if (attribute != null) + { + return attribute.Value != null ? attribute.Value : name; + } + } + + var converted = System.Convert.ToString(System.Convert.ChangeType(value, System.Enum.GetUnderlyingType(value.GetType()), cultureInfo)); + return converted == null ? string.Empty : converted; + } + } + else if (value is bool) + { + return System.Convert.ToString((bool)value, cultureInfo).ToLowerInvariant(); + } + else if (value is byte[]) + { + return System.Convert.ToBase64String((byte[]) value); + } + else if (value is string[]) + { + return string.Join(",", (string[])value); + } + else if (value.GetType().IsArray) + { + var valueArray = (System.Array)value; + var valueTextArray = new string[valueArray.Length]; + for (var i = 0; i < valueArray.Length; i++) + { + valueTextArray[i] = ConvertToString(valueArray.GetValue(i), cultureInfo); + } + return string.Join(",", valueTextArray); + } + + var result = System.Convert.ToString(value, cultureInfo); + return result == null ? "" : result; + } + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.5.0.0 (NJsonSchema v11.4.0.0 (Newtonsoft.Json v13.0.0.0))")] + public partial class AcceptSizeOut + { + + [Newtonsoft.Json.JsonProperty("status", Required = Newtonsoft.Json.Required.Always)] + [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] + public string Status { get; set; } + + [Newtonsoft.Json.JsonProperty("accept_size", Required = Newtonsoft.Json.Required.Always)] + [System.ComponentModel.DataAnnotations.Required] + public System.Collections.Generic.ICollection Accept_size { get; set; } = new System.Collections.ObjectModel.Collection(); + + private System.Collections.Generic.IDictionary _additionalProperties; + + [Newtonsoft.Json.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary()); } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.5.0.0 (NJsonSchema v11.4.0.0 (Newtonsoft.Json v13.0.0.0))")] + public partial class ActivateModelIn + { + + [Newtonsoft.Json.JsonProperty("name", Required = Newtonsoft.Json.Required.Always)] + [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] + public string Name { get; set; } + + private System.Collections.Generic.IDictionary _additionalProperties; + + [Newtonsoft.Json.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary()); } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.5.0.0 (NJsonSchema v11.4.0.0 (Newtonsoft.Json v13.0.0.0))")] + public partial class Body_predict_predict_post + { + + [Newtonsoft.Json.JsonProperty("file", Required = Newtonsoft.Json.Required.Always)] + [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] + public byte[] File { get; set; } + + private System.Collections.Generic.IDictionary _additionalProperties; + + [Newtonsoft.Json.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary()); } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.5.0.0 (NJsonSchema v11.4.0.0 (Newtonsoft.Json v13.0.0.0))")] + public partial class Body_predict_raw_predictRaw_post + { + + [Newtonsoft.Json.JsonProperty("file", Required = Newtonsoft.Json.Required.Always)] + [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] + public byte[] File { get; set; } + + private System.Collections.Generic.IDictionary _additionalProperties; + + [Newtonsoft.Json.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary()); } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.5.0.0 (NJsonSchema v11.4.0.0 (Newtonsoft.Json v13.0.0.0))")] + public partial class HTTPValidationError + { + + [Newtonsoft.Json.JsonProperty("detail", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] + public System.Collections.Generic.ICollection Detail { get; set; } + + private System.Collections.Generic.IDictionary _additionalProperties; + + [Newtonsoft.Json.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary()); } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.5.0.0 (NJsonSchema v11.4.0.0 (Newtonsoft.Json v13.0.0.0))")] + public partial class LoadModelIn + { + + [Newtonsoft.Json.JsonProperty("path", Required = Newtonsoft.Json.Required.Always)] + [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] + public string Path { get; set; } + + [Newtonsoft.Json.JsonProperty("name", Required = Newtonsoft.Json.Required.Always)] + [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] + public string Name { get; set; } + + private System.Collections.Generic.IDictionary _additionalProperties; + + [Newtonsoft.Json.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary()); } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.5.0.0 (NJsonSchema v11.4.0.0 (Newtonsoft.Json v13.0.0.0))")] + public partial class StatusOut + { + + [Newtonsoft.Json.JsonProperty("status", Required = Newtonsoft.Json.Required.Always)] + [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] + public string Status { get; set; } + + [Newtonsoft.Json.JsonProperty("message", Required = Newtonsoft.Json.Required.Always)] + [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] + public string Message { get; set; } + + private System.Collections.Generic.IDictionary _additionalProperties; + + [Newtonsoft.Json.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary()); } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.5.0.0 (NJsonSchema v11.4.0.0 (Newtonsoft.Json v13.0.0.0))")] + public partial class ValidationError + { + + [Newtonsoft.Json.JsonProperty("loc", Required = Newtonsoft.Json.Required.Always)] + [System.ComponentModel.DataAnnotations.Required] + public System.Collections.Generic.ICollection Loc { get; set; } = new System.Collections.ObjectModel.Collection(); + + [Newtonsoft.Json.JsonProperty("msg", Required = Newtonsoft.Json.Required.Always)] + [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] + public string Msg { get; set; } + + [Newtonsoft.Json.JsonProperty("type", Required = Newtonsoft.Json.Required.Always)] + [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] + public string Type { get; set; } + + private System.Collections.Generic.IDictionary _additionalProperties; + + [Newtonsoft.Json.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary()); } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.5.0.0 (NJsonSchema v11.4.0.0 (Newtonsoft.Json v13.0.0.0))")] + public partial class Loc + { + + private System.Collections.Generic.IDictionary _additionalProperties; + + [Newtonsoft.Json.JsonExtensionData] + public System.Collections.Generic.IDictionary AdditionalProperties + { + get { return _additionalProperties ?? (_additionalProperties = new System.Collections.Generic.Dictionary()); } + set { _additionalProperties = value; } + } + + } + + [System.CodeDom.Compiler.GeneratedCode("NSwag", "14.5.0.0 (NJsonSchema v11.4.0.0 (Newtonsoft.Json v13.0.0.0))")] + public partial class FileParameter + { + public FileParameter(System.IO.Stream data) + : this (data, null, null) + { + } + + public FileParameter(System.IO.Stream data, string fileName) + : this (data, fileName, null) + { + } + + public FileParameter(System.IO.Stream data, string fileName, string contentType) + { + Data = data; + FileName = fileName; + ContentType = contentType; + } + + public System.IO.Stream Data { get; private set; } + + public string FileName { get; private set; } + + public string ContentType { get; private set; } + } + + [System.CodeDom.Compiler.GeneratedCode("NSwag", "14.5.0.0 (NJsonSchema v11.4.0.0 (Newtonsoft.Json v13.0.0.0))")] + public partial class FileResponse : System.IDisposable + { + private System.IDisposable _client; + private System.IDisposable _response; + + public int StatusCode { get; private set; } + + public System.Collections.Generic.IReadOnlyDictionary> Headers { get; private set; } + + public System.IO.Stream Stream { get; private set; } + + public bool IsPartial + { + get { return StatusCode == 206; } + } + + public FileResponse(int statusCode, System.Collections.Generic.IReadOnlyDictionary> headers, System.IO.Stream stream, System.IDisposable client, System.IDisposable response) + { + StatusCode = statusCode; + Headers = headers; + Stream = stream; + _client = client; + _response = response; + } + + public void Dispose() + { + Stream.Dispose(); + if (_response != null) + _response.Dispose(); + if (_client != null) + _client.Dispose(); + } + } + + + [System.CodeDom.Compiler.GeneratedCode("NSwag", "14.5.0.0 (NJsonSchema v11.4.0.0 (Newtonsoft.Json v13.0.0.0))")] + public partial class ApiException : System.Exception + { + public int StatusCode { get; private set; } + + public string Response { get; private set; } + + public System.Collections.Generic.IReadOnlyDictionary> Headers { get; private set; } + + public ApiException(string message, int statusCode, string response, System.Collections.Generic.IReadOnlyDictionary> headers, System.Exception innerException) + : base(message + "\n\nStatus: " + statusCode + "\nResponse: \n" + ((response == null) ? "(null)" : response.Substring(0, response.Length >= 512 ? 512 : response.Length)), innerException) + { + StatusCode = statusCode; + Response = response; + Headers = headers; + } + + public override string ToString() + { + return string.Format("HTTP Response: \n\n{0}\n\n{1}", Response, base.ToString()); + } + } + + [System.CodeDom.Compiler.GeneratedCode("NSwag", "14.5.0.0 (NJsonSchema v11.4.0.0 (Newtonsoft.Json v13.0.0.0))")] + public partial class ApiException : ApiException + { + public TResult Result { get; private set; } + + public ApiException(string message, int statusCode, string response, System.Collections.Generic.IReadOnlyDictionary> headers, TResult result, System.Exception innerException) + : base(message, statusCode, response, headers, innerException) + { + Result = result; + } + } + +} + +#pragma warning restore 108 +#pragma warning restore 114 +#pragma warning restore 472 +#pragma warning restore 612 +#pragma warning restore 649 +#pragma warning restore 1573 +#pragma warning restore 1591 +#pragma warning restore 8073 +#pragma warning restore 3016 +#pragma warning restore 8600 +#pragma warning restore 8602 +#pragma warning restore 8603 +#pragma warning restore 8604 +#pragma warning restore 8625 +#pragma warning restore 8765 \ No newline at end of file diff --git a/Hawkeye.VisionBuilder.Workflow/API/generator.nswag b/Hawkeye.VisionBuilder.Workflow/API/generator.nswag new file mode 100644 index 0000000..2bb3122 --- /dev/null +++ b/Hawkeye.VisionBuilder.Workflow/API/generator.nswag @@ -0,0 +1,103 @@ +{ + "runtime": "Net80", + "defaultVariables": null, + "documentGenerator": { + "fromDocument": { + "json": "", + "url": "http://localhost:8000/openapi.json", + "output": null, + "newLineBehavior": "Auto" + } + }, + "codeGenerators": { + "openApiToCSharpClient": { + "clientBaseClass": null, + "configurationClass": null, + "generateClientClasses": true, + "suppressClientClassesOutput": false, + "generateClientInterfaces": false, + "suppressClientInterfacesOutput": false, + "clientBaseInterface": null, + "injectHttpClient": true, + "disposeHttpClient": true, + "protectedMethods": [], + "generateExceptionClasses": true, + "exceptionClass": "ApiException", + "wrapDtoExceptions": true, + "useHttpClientCreationMethod": false, + "httpClientType": "System.Net.Http.HttpClient", + "useHttpRequestMessageCreationMethod": false, + "useBaseUrl": true, + "generateBaseUrlProperty": true, + "generateSyncMethods": false, + "generatePrepareRequestAndProcessResponseAsAsyncMethods": false, + "exposeJsonSerializerSettings": false, + "clientClassAccessModifier": "public", + "typeAccessModifier": "public", + "propertySetterAccessModifier": "", + "generateNativeRecords": false, + "useRequiredKeyword": false, + "generateContractsOutput": false, + "contractsNamespace": null, + "contractsOutputFilePath": null, + "parameterDateTimeFormat": "s", + "parameterDateFormat": "yyyy-MM-dd", + "generateUpdateJsonSerializerSettingsMethod": true, + "useRequestAndResponseSerializationSettings": false, + "serializeTypeInformation": false, + "queryNullValue": "", + "className": "PythonModelAPI", + "operationGenerationMode": "SingleClientFromPathSegments", + "additionalNamespaceUsages": [], + "additionalContractNamespaceUsages": [], + "generateOptionalParameters": false, + "generateJsonMethods": false, + "enforceFlagEnums": false, + "parameterArrayType": "System.Collections.Generic.IEnumerable", + "parameterDictionaryType": "System.Collections.Generic.IDictionary", + "responseArrayType": "System.Collections.Generic.ICollection", + "responseDictionaryType": "System.Collections.Generic.IDictionary", + "wrapResponses": false, + "wrapResponseMethods": [], + "generateResponseClasses": true, + "responseClass": "SwaggerResponse", + "namespace": "Hawkeye.VisionBuilder.Workflow", + "requiredPropertiesMustBeDefined": true, + "dateType": "System.DateTimeOffset", + "jsonConverters": null, + "anyType": "object", + "dateTimeType": "System.DateTimeOffset", + "timeType": "System.TimeSpan", + "timeSpanType": "System.TimeSpan", + "arrayType": "System.Collections.Generic.ICollection", + "arrayInstanceType": "System.Collections.ObjectModel.Collection", + "dictionaryType": "System.Collections.Generic.IDictionary", + "dictionaryInstanceType": "System.Collections.Generic.Dictionary", + "arrayBaseType": "System.Collections.ObjectModel.Collection", + "dictionaryBaseType": "System.Collections.Generic.Dictionary", + "classStyle": "Poco", + "jsonLibrary": "NewtonsoftJson", + "jsonPolymorphicSerializationStyle": "NJsonSchema", + "generateDefaultValues": true, + "generateDataAnnotations": true, + "excludedTypeNames": [], + "excludedParameterNames": [], + "handleReferences": false, + "generateImmutableArrayProperties": false, + "generateImmutableDictionaryProperties": false, + "jsonSerializerSettingsTransformationMethod": null, + "inlineNamedArrays": false, + "inlineNamedDictionaries": false, + "inlineNamedTuples": true, + "inlineNamedAny": false, + "generateDtoTypes": true, + "generateOptionalPropertiesAsNullable": false, + "generateNullableReferenceTypes": false, + "templateDirectory": null, + "serviceHost": null, + "serviceSchemes": null, + "output": "PythonAPI.cs", + "newLineBehavior": "Auto" + } + } +} \ No newline at end of file diff --git a/Hawkeye.VisionBuilder.Workflow/DataTransfer/CSharpDataTransferHTTP.cs b/Hawkeye.VisionBuilder.Workflow/DataTransfer/CSharpDataTransferHTTP.cs new file mode 100644 index 0000000..7cc6fe4 --- /dev/null +++ b/Hawkeye.VisionBuilder.Workflow/DataTransfer/CSharpDataTransferHTTP.cs @@ -0,0 +1,107 @@ +using static Community.CsharpSqlite.Sqlite3; + +namespace Hawkeye.VisionBuilder.Workflow.DataTransfer; + +public class CSharpDataTransferHTTP +{ + private readonly PythonModelAPI _api; + private readonly HttpClient _client; + private readonly CancellationTokenSource _pingCts = new(); + private readonly Thread _pingThread; + + public CSharpDataTransferHTTP() + { + var handler = new SocketsHttpHandler + { + PooledConnectionIdleTimeout = TimeSpan.FromSeconds(10), + MaxConnectionsPerServer = 100 + + + + }; + _client = new HttpClient(handler) + { + // i've added this + DefaultRequestHeaders = + { + ExpectContinue = false + } + }; + _api = new PythonModelAPI("http://localhost:8000",_client); + _pingThread = new Thread(PingLoop) { IsBackground = true }; + _pingThread.Start(); + + } + + private void PingLoop() + { + while (!_pingCts.Token.IsCancellationRequested) + { + try + { + _client.GetAsync("http://localhost:8000/").Wait(); + } + catch + { + // Ignore errors, optionally log + } + Thread.Sleep(3000); // Ping every 3 seconds + } + } + + public void LoadModel(string path, string modelName) + { + _api.LoadModelAsync(new LoadModelIn() + { + Name = modelName, + Path = Path.GetFileName(path) + }).Wait(); + } + + public void ActivateModel(string modelName) + { + _api.ActivateModelAsync(new ActivateModelIn(){Name = modelName}).Wait(); + } + + public int[] GetAcceptSize() + { + var response = _api.GetAcceptSizeAsync().Result; + + return response.Accept_size.ToArray(); + } + + public int[] GetOutputSize() + { + var response = _api.GetOutputSizeAsync().Result; + + return response.Accept_size.ToArray(); + + } + + public byte[] PredictRaw(byte[] byteArray) + { + var response = _api.PredictRawAsync(new FileParameter(new MemoryStream(byteArray))).Result; + var stream = response.Stream; + // read the stream to byte array + using var memoryStream = new MemoryStream(); + stream.CopyTo(memoryStream); + memoryStream.Seek(0, SeekOrigin.Begin); + var responseBytes = memoryStream.ToArray(); + return responseBytes; + } + + public byte[] Predict(byte[] byteArray) + { + var response = _api.PredictAsync(new FileParameter(new MemoryStream(byteArray))).Result; + var stream = response.Stream; + // read the stream to byte array + using var memoryStream = new MemoryStream(); + stream.CopyTo(memoryStream); + memoryStream.Seek(0, SeekOrigin.Begin); + var responseBytes = memoryStream.ToArray(); + return responseBytes; + + } + + +} \ No newline at end of file diff --git a/Hawkeye.VisionBuilder.Workflow/DataTransfer/PythonModelProxyHTTP.cs b/Hawkeye.VisionBuilder.Workflow/DataTransfer/PythonModelProxyHTTP.cs index 6d73f0d..3fb2108 100644 --- a/Hawkeye.VisionBuilder.Workflow/DataTransfer/PythonModelProxyHTTP.cs +++ b/Hawkeye.VisionBuilder.Workflow/DataTransfer/PythonModelProxyHTTP.cs @@ -2,5 +2,26 @@ public class PythonModelProxyHTTP { - + private static bool _isInitialized = false; + private static UvicornScriptRunner _pythonScriptRunner; + private static CSharpDataTransferHTTP _cSharpDataTransferHTTP; + + public static void Initialize() + { + if (_isInitialized) return; + + var workDirAbsPath = Path.GetFullPath(@"..\Data\Models"); + _pythonScriptRunner = new UvicornScriptRunner(workDirAbsPath); + _cSharpDataTransferHTTP = new CSharpDataTransferHTTP(); + + _pythonScriptRunner.Start(); + Thread.Sleep(1000); // Wait for the server to start + } + + public static CSharpDataTransferHTTP GetInterface() + { + if (!_isInitialized) Initialize(); + + return _cSharpDataTransferHTTP; + } } \ No newline at end of file diff --git a/Hawkeye.VisionBuilder.Workflow/DataTransfer/UvicornScriptRunner.cs b/Hawkeye.VisionBuilder.Workflow/DataTransfer/UvicornScriptRunner.cs new file mode 100644 index 0000000..e9b0b21 --- /dev/null +++ b/Hawkeye.VisionBuilder.Workflow/DataTransfer/UvicornScriptRunner.cs @@ -0,0 +1,63 @@ +using System.Diagnostics; + +namespace Hawkeye.VisionBuilder.Workflow.DataTransfer; + +public class UvicornScriptRunner +{ + private Process process; + private readonly string _workingDirectory; + + public UvicornScriptRunner(string workingDirectory) + { + _workingDirectory = workingDirectory; + } + public static string ConvertToWslPath(string windowsPath) + { + if (string.IsNullOrWhiteSpace(windowsPath)) + throw new ArgumentException("Path cannot be null or empty.", nameof(windowsPath)); + + // Replace backslashes with forward slashes + string wslPath = windowsPath.Replace('\\', '/'); + + // Extract the drive letter and convert it to WSL format + if (wslPath.Length > 1 && wslPath[1] == ':') + { + char driveLetter = char.ToLower(wslPath[0]); + wslPath = $"/mnt/{driveLetter}{wslPath.Substring(2)}"; + } + + return wslPath; + } + public void Start() + { + + + + //startInfo.CreateNoWindow = true; + // create and start the process + process = new Process(); + var convertedWd = ConvertToWslPath(_workingDirectory); + var arg = + $@"--distribution ubuntu --user root --cd ""{convertedWd}"" -- uvicorn PythonModelAPI:app"; + process.StartInfo = new ProcessStartInfo("wsl", arg) + { + UseShellExecute = false + }; + process.Start(); + // on windows only + if (Environment.OSVersion.Platform == PlatformID.Win32NT) + ChildProcessTracker.AddProcess(process); + + + } + + public void Stop() + { + if (process != null && !process.HasExited) + { + process.Kill(); + process.Dispose(); + process = null; + } + } +} \ No newline at end of file diff --git a/Hawkeye.VisionBuilder.Workflow/Hawkeye.VisionBuilder.Workflow.csproj b/Hawkeye.VisionBuilder.Workflow/Hawkeye.VisionBuilder.Workflow.csproj index d3e6325..80b6571 100644 --- a/Hawkeye.VisionBuilder.Workflow/Hawkeye.VisionBuilder.Workflow.csproj +++ b/Hawkeye.VisionBuilder.Workflow/Hawkeye.VisionBuilder.Workflow.csproj @@ -9,13 +9,29 @@ Debug;Release;CPU + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/Hawkeye.VisionBuilder.Workflow/Operations/AI/ColorAIOperation.cs b/Hawkeye.VisionBuilder.Workflow/Operations/AI/ColorAIOperation.cs index 5a17478..67914b6 100644 --- a/Hawkeye.VisionBuilder.Workflow/Operations/AI/ColorAIOperation.cs +++ b/Hawkeye.VisionBuilder.Workflow/Operations/AI/ColorAIOperation.cs @@ -14,11 +14,11 @@ public abstract class ColorAIOperation:BaseOperation public ColorAIOperation(string model_name) { _modelName = model_name; - _cSharpDataTransferMQRPC = PythonModelProxyRPC.GetInterface(); + _cSharpDataTransferMQRPC = PythonModelProxyHTTP.GetInterface(); CanHaveProcessingError = false; } - private readonly CSharpDataTransferMQRPC _cSharpDataTransferMQRPC; + private readonly CSharpDataTransferHTTP _cSharpDataTransferMQRPC; private int _imageWidth; private int _imageHeight; @@ -52,15 +52,16 @@ public abstract class ColorAIOperation:BaseOperation this.SetError("Model file not found"); return; } - _cSharpDataTransferMQRPC.TransferData(new MethodCall("load_model", ModelFilePath.Path, _modelName)); + + _cSharpDataTransferMQRPC.LoadModel(ModelFilePath.Path, _modelName); _initialized = true; } + + _cSharpDataTransferMQRPC.ActivateModel(_modelName); + + var sizeEncoded = _cSharpDataTransferMQRPC.GetAcceptSize(); - - _cSharpDataTransferMQRPC.TransferData(new MethodCall("activate_model", _modelName)); - - var sizeEncoded = _cSharpDataTransferMQRPC.TransferData(new MethodCall("get_accept_size")); var size = sizeEncoded.Select(Convert.ToInt32).ToArray(); _imageWidth = size[1]; _imageHeight = size[2]; @@ -82,22 +83,30 @@ public abstract class ColorAIOperation:BaseOperation allowedFlags[i] = 1; } - var resultEncoded = _cSharpDataTransferMQRPC.TransferData(new MethodCall(IsRaw?"predict_raw": "predict", byteArray)); - var result = resultEncoded.Select(Convert.ToByte).ToArray(); + byte[] result; + if (IsRaw) + { + result = _cSharpDataTransferMQRPC.PredictRaw(byteArray); + } + else + { + result = _cSharpDataTransferMQRPC.Predict(byteArray); + } + byte[] resultColor; + if (IsRaw) { resultColor = result.Chunk(25).Select(x => { return x.Select((x, i) => allowedFlags[i] == 1 ? (byte) (x) : (byte) 0).Max(); }).ToArray(); - //resultColor = result.Select(x => (byte)(x)).ToArray(); } else { - resultColor = result.Select(x => allowedFlags[x]==1? (byte)(x * 255) : (byte)0).ToArray(); + resultColor = result.Select(x => allowedFlags[x]==1? (byte)(x * 255.0) : (byte)0).ToArray(); } diff --git a/Hawkeye.VisionBuilder.Workflow/Operations/AI/RawModelAIOperation.cs b/Hawkeye.VisionBuilder.Workflow/Operations/AI/RawModelAIOperation.cs index 7067464..27a7ecd 100644 --- a/Hawkeye.VisionBuilder.Workflow/Operations/AI/RawModelAIOperation.cs +++ b/Hawkeye.VisionBuilder.Workflow/Operations/AI/RawModelAIOperation.cs @@ -16,11 +16,11 @@ public class RawModelAIOperation: BaseOperation public RawModelAIOperation() { - _cSharpDataTransferMQRPC = PythonModelProxyRPC.GetInterface(); + _cSharpDataTransferMQRPC = PythonModelProxyHTTP.GetInterface(); CanHaveProcessingError = false; } - private CSharpDataTransferMQRPC _cSharpDataTransferMQRPC; + private CSharpDataTransferHTTP _cSharpDataTransferMQRPC; private int _imageWidth; private int _imageHeight; @@ -66,34 +66,22 @@ public class RawModelAIOperation: BaseOperation var absPath = Path.GetFullPath(Path.Combine(dir, ModelFilePath.Path)); ModelFilePath.Path = absPath; } - - _cSharpDataTransferMQRPC.TransferData(new MethodCall("load_model", ModelFilePath.Path, _modelName)); + _cSharpDataTransferMQRPC.LoadModel(ModelFilePath.Path, _modelName); _initialized = true; } + _cSharpDataTransferMQRPC.ActivateModel(_modelName); - _cSharpDataTransferMQRPC.TransferData(new MethodCall("activate_model", _modelName)); - var sizeEncoded = _cSharpDataTransferMQRPC.TransferData(new MethodCall("get_accept_size")); + var sizeEncoded = _cSharpDataTransferMQRPC.GetAcceptSize(); var size = sizeEncoded.Select(Convert.ToInt32).ToArray(); - _imageWidth = size[1]; - _imageHeight = size[2]; + _imageWidth = size[0]; + _imageHeight = size[1]; - var outputSize = _cSharpDataTransferMQRPC.TransferData(new MethodCall("get_output_size")); + var outputSize = _cSharpDataTransferMQRPC.GetOutputSize(); var outputSizeArray = outputSize.Select(Convert.ToInt32).ToArray(); - int classes; - if (outputSizeArray.Length<3) - { - classes=1; - } - else - { - classes = outputSizeArray[2]; - } - - var currentImage = context.ActiveImage; @@ -105,20 +93,11 @@ public class RawModelAIOperation: BaseOperation var allowed = FilterClasses.Split(',', StringSplitOptions.RemoveEmptyEntries).Select(x => Convert.ToInt32(x)).ToArray(); - var allowedFlags = new byte[128]; - foreach (var i in allowed) - { - allowedFlags[i] = 1; - } - - var resultEncoded = _cSharpDataTransferMQRPC.TransferData(new MethodCall("predict_raw", byteArray)); - - var result = resultEncoded.Select(Convert.ToByte).ToArray(); + var result = _cSharpDataTransferMQRPC.PredictRaw(byteArray); byte[] resultColor; resultColor = result.Select(x => (byte)(x) ).ToArray(); - // black and white mask var mask = new Mat(outputSizeArray[0], outputSizeArray[1], MatType.CV_8UC1, resultColor); diff --git a/Hawkeye.VisionBuilder.Workflow/Operations/AI/YoloDetectionOperation.cs b/Hawkeye.VisionBuilder.Workflow/Operations/AI/YoloDetectionOperation.cs index c107ed2..5c6ba9d 100644 --- a/Hawkeye.VisionBuilder.Workflow/Operations/AI/YoloDetectionOperation.cs +++ b/Hawkeye.VisionBuilder.Workflow/Operations/AI/YoloDetectionOperation.cs @@ -59,6 +59,7 @@ public class YoloDetectionOperation:BaseOperation } protected override void InterpretInternal(Context context) { + CheckImageExists(context); CheckColorful(context); try { diff --git a/Hawkeye.VisionBuilder.Workflow/Operations/Scripts/CSharpProcessOperation.cs b/Hawkeye.VisionBuilder.Workflow/Operations/Scripts/CSharpProcessOperation.cs new file mode 100644 index 0000000..91f812c --- /dev/null +++ b/Hawkeye.VisionBuilder.Workflow/Operations/Scripts/CSharpProcessOperation.cs @@ -0,0 +1,76 @@ +using System.Reflection; +using Compunet.YoloV8; +using Hawkeye.VisionBuilder.Workflow.Datatypes; +using Hawkeye.VisionBuilder.Workflow.Operations.Attributes; +using Microsoft.Scripting.Runtime; +using OpenCvSharp; + +namespace Hawkeye.VisionBuilder.Workflow.Operations.Scripts; + +[Category("Script")] +public class CSharpProcessOperation:BaseOperation +{ + private FilePath _scriptFilePath = new FilePath() { Format = "C# dll(*.dll)|*.dll" }; + private bool _initialized; + private object _processor; + private MethodInfo? _method; + + + public FilePath ScriptFilePath + { + get => _scriptFilePath; + set + { + _scriptFilePath = value; + _initialized = false; + } + } + + bool EnsureInitialized() + { + if (!_initialized) + { + if (!File.Exists(ScriptFilePath?.Path)) + { + this.SetError("Script file not found"); + return false; + } + + + var absPath = Path.GetFullPath(ScriptFilePath?.Path); + var loadContext = new PluginLoadContext(absPath); + var assembly = loadContext.LoadFromAssemblyPath(absPath); + + // find class that has Process method + foreach (var type in assembly.GetTypes()) + { + var method = type.GetMethod("ProcessImage", BindingFlags.Public | BindingFlags.Instance); + if (method != null) + { + _processor = Activator.CreateInstance(type); + _method = method; + break; + } + + } + Label = Path.GetFileNameWithoutExtension(ScriptFilePath?.Path); + _initialized = true; + } + return true; + } + + protected override void InterpretInternal(Context context) + { + CheckImageExists(context); + if (!EnsureInitialized()) return; + + var image = context.ActiveImage.ImageData; + var result = (Mat)_method.Invoke(_processor, new []{ image }); + + context.ActiveImage = new HawkeyeImage() + { + ImageData = result + }; + + } +} \ No newline at end of file diff --git a/Hawkeye.VisionBuilder.Workflow/Operations/Scripts/PluginLoadContext.cs b/Hawkeye.VisionBuilder.Workflow/Operations/Scripts/PluginLoadContext.cs new file mode 100644 index 0000000..375a019 --- /dev/null +++ b/Hawkeye.VisionBuilder.Workflow/Operations/Scripts/PluginLoadContext.cs @@ -0,0 +1,37 @@ +using System.Reflection; +using System.Runtime.Loader; + +namespace Hawkeye.VisionBuilder.Workflow.Operations.Scripts; + +class PluginLoadContext : AssemblyLoadContext +{ + private AssemblyDependencyResolver _resolver; + + public PluginLoadContext(string pluginPath) + { + _resolver = new AssemblyDependencyResolver(pluginPath); + } + + protected override Assembly Load(AssemblyName assemblyName) + { + string assemblyPath = _resolver.ResolveAssemblyToPath(assemblyName); + if (assemblyPath != null) + { + return LoadFromAssemblyPath(assemblyPath); + } + + return null; + } + + protected override IntPtr LoadUnmanagedDll(string unmanagedDllName) + { + string libraryPath = _resolver.ResolveUnmanagedDllToPath(unmanagedDllName); + if (libraryPath != null) + { + return LoadUnmanagedDllFromPath(libraryPath); + } + + return IntPtr.Zero; + } + +} \ No newline at end of file diff --git a/PythonModelAPI/PythonModelAPI.py b/PythonModelAPI/PythonModelAPI.py index eb6a9b5..94c8e34 100644 --- a/PythonModelAPI/PythonModelAPI.py +++ b/PythonModelAPI/PythonModelAPI.py @@ -1,22 +1,43 @@ - # app.py -from fastapi import FastAPI, UploadFile, File, Body +from fastapi import FastAPI, Response, UploadFile, File, Body, HTTPException +from pydantic import BaseModel +from typing import List from fastapi.responses import JSONResponse import numpy as np from PIL import Image import io import tensorflow as tf - +import time app = FastAPI() +# ==== Schemas (show up in Swagger) ==== +class PredictOut(BaseModel): + result: List[int] + model_config = {"json_schema_extra": {"examples": [{"result": [0,1,2,3]}]}} + +class StatusOut(BaseModel): + status: str + message: str + +class AcceptSizeOut(BaseModel): + status: str + accept_size: List[int] + +class LoadModelIn(BaseModel): + path: str + name: str + +class ActivateModelIn(BaseModel): + name: str + +# ==== Service ==== class Service: def __init__(self): self.model = None - self.models={} + self.models = {} self.active_model = "default" def activate_model(self, name): - self.model = self.models[name] self.active_model = name return 0 @@ -26,15 +47,13 @@ class Service: return 0 def get_accept_size(self): - print(self.model.layers[0].input) - - return list(self.model.input_shape) + print(self.model.input_shape) + return list(self.model.input_shape) # (B,H,W,C) def get_output_size(self): - return list(self.model.layers[-1].output[0].shape[1:4]) + return list(self.model.output_shape) # (B,H,W,C) or (B,H,W) - - def predict(self, data: bytes): + def predict(self, data: bytes) -> List[int]: target_size = self.get_accept_size() image = np.reshape( np.frombuffer(data, dtype=np.uint8), @@ -48,21 +67,25 @@ class Service: else: classed = tf.argmax(predictions[0], axis=2) - return JSONResponse({"result": classed.numpy().reshape(-1).tolist()}) + return classed.numpy().reshape(-1).tolist() - def predict_raw(self, data): + def predict_raw(self, data: bytes) -> np.ndarray: target_size = self.get_accept_size() - image = np.reshape(np.frombuffer(data, dtype=np.uint8), (target_size[1], target_size[2], target_size[3])) / 255. + image = np.reshape( + np.frombuffer(data, dtype=np.uint8), + (target_size[1], target_size[2], target_size[3]) + ) / 255.0 - predictions = self.model(np.array([image])).numpy() + predictions = self.model({"input_layer": np.array([image], dtype=np.float32)}).numpy() - if predictions[0].ndim==2: - classed = predictions[0][:,:,np.newaxis].clip(0,255) - return (classed).astype(np.uint8).reshape(-1).tolist() + if predictions[0].ndim == 2: + classed = predictions[0][:, :, np.newaxis].clip(0, 255) + return classed.astype(np.uint8).reshape(-1).tolist() else: - classed = predictions[0][:,:,:] + classed = predictions[0][:, :, :] - return (classed*255).astype(np.uint8).reshape(-1).tolist() + res = (classed * 255).astype(np.uint8).reshape(-1) + return np.asarray(res) svc = Service() @@ -75,33 +98,61 @@ def _prep_raw_bytes_for_predict(buf: bytes) -> bytes: arr = np.asarray(img, dtype=np.uint8) # HxWx3 uint8 return arr.tobytes() -@app.post("/predict") +# ==== Routes ==== +@app.post("/predict", response_model=bytes, summary="Predict (classified indices)") async def predict(file: UploadFile = File(...)): - buf = await file.read() - raw = _prep_raw_bytes_for_predict(buf) - return svc.predict(raw) + try: + buf = await file.read() + raw = _prep_raw_bytes_for_predict(buf) + result = svc.predict(raw) + return Response(content=result, media_type="application/octet-stream") + except Exception as e: + raise HTTPException(status_code=400, detail=str(e)) -@app.post("/predict_raw") +@app.post("/predictRaw", response_model=bytes, summary="Predict (raw/uint8 flattened)") async def predict_raw(file: UploadFile = File(...)): - buf = await file.read() - raw = _prep_raw_bytes_for_predict(buf) - return svc.predict_raw(raw) - -@app.post("/load_model") -async def load_model(path: str = Body(...), name: str = Body(...)): try: - svc.load_model(path, name) - return JSONResponse({"status": "success", "message": f"Model {name} loaded successfully."}) + start_time = time.time() + buf = await file.read() + result = svc.predict_raw(buf) + elapsed_time = time.time() - start_time + print(f"Prediction took {elapsed_time:.2f} seconds") + return Response(content=result.tobytes(), media_type="application/octet-stream") except Exception as e: - return JSONResponse({"status": "error", "message": str(e)}, status_code=500) + raise HTTPException(status_code=400, detail=str(e)) -@app.post("/activate_model") -async def activate_model(name: str = Body(...)): +@app.post("/loadModel", response_model=StatusOut, summary="Load a model from path") +async def load_model(payload: LoadModelIn): try: - svc.activate_model(name) - return JSONResponse({"status": "success", "message": f"Model {name} activated successfully."}) + svc.load_model(payload.path, payload.name) + return StatusOut(status="success", message=f"Model {payload.name} loaded successfully.") except Exception as e: - return JSONResponse({"status": "error", "message": str(e)}, status_code=500) - + raise HTTPException(status_code=500, detail=str(e)) + +@app.post("/activateModel", response_model=StatusOut, summary="Activate a loaded model") +async def activate_model(payload: ActivateModelIn): + try: + svc.activate_model(payload.name) + return StatusOut(status="success", message=f"Model {payload.name} activated successfully.") + except KeyError: + raise HTTPException(status_code=404, detail=f"Model {payload.name} not found.") + except Exception as e: + raise HTTPException(status_code=500, detail=str(e)) + +@app.get("/getAcceptSize", response_model=AcceptSizeOut, summary="Get input tensor shape") +async def get_accept_size(): + try: + size = svc.get_accept_size()[1:] # Exclude batch size + return AcceptSizeOut(status="success", accept_size=size) + except Exception as e: + raise HTTPException(status_code=500, detail=str(e)) + +@app.get("/getOutputSize", response_model=AcceptSizeOut, summary="Get output tensor shape") +async def get_output_size(): + try: + size = svc.get_output_size()[1:] + return AcceptSizeOut(status="success", accept_size=size) + except Exception as e: + raise HTTPException(status_code=500, detail=str(e)) diff --git a/PythonModelAPI/PythonModelAPI.pyproj b/PythonModelAPI/PythonModelAPI.pyproj index a496d96..e2d8c4e 100644 --- a/PythonModelAPI/PythonModelAPI.pyproj +++ b/PythonModelAPI/PythonModelAPI.pyproj @@ -11,6 +11,7 @@ . PythonModelAPI PythonModelAPI + D:\Inspectron\Hawkeye\code\VisionBuilder5\VisionBuilder.UI\Hawkeye.VisionBuilder\bin\Debug\Data\Models true diff --git a/PythonModelAPI/office4_tr.h5 b/PythonModelAPI/office4_tr.h5 new file mode 100644 index 0000000000000000000000000000000000000000..27f45ceddfa67de0ef22fec6a604ae491a1a398b GIT binary patch literal 428192 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

?(kR2Ub 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 CdM%Ft literal 0 HcmV?d00001 diff --git a/VisionBuilder.UI.Common/NoLearning.cs b/VisionBuilder.UI.Common/NullClasses/NoLearning.cs similarity index 87% rename from VisionBuilder.UI.Common/NoLearning.cs rename to VisionBuilder.UI.Common/NullClasses/NoLearning.cs index 8f8a065..122052f 100644 --- a/VisionBuilder.UI.Common/NoLearning.cs +++ b/VisionBuilder.UI.Common/NullClasses/NoLearning.cs @@ -1,7 +1,7 @@ using OpenCvSharp; using VisionBuilder.UI.Common.ViewModel.Interfaces.UI; -namespace VisionBuilder.UI.Common; +namespace VisionBuilder.UI.Common.NullClasses; public class NoLearning:ILearningTool { diff --git a/VisionBuilder.UI.Common/NullClasses/NoRecipeCreation.cs b/VisionBuilder.UI.Common/NullClasses/NoRecipeCreation.cs new file mode 100644 index 0000000..a01a398 --- /dev/null +++ b/VisionBuilder.UI.Common/NullClasses/NoRecipeCreation.cs @@ -0,0 +1,12 @@ +using VisionBuilder.UI.Common.ViewModel.Interfaces.UI; + +namespace VisionBuilder.UI.Common.NullClasses; + +public class NoRecipeCreation: IRecipeCreationTool +{ + public bool Enabled { get; set; } = false; + public void CreateRecipe(string recipeName) + { + throw new NotImplementedException(); + } +} \ No newline at end of file diff --git a/VisionBuilder.UI.Common/ViewModel/Interfaces/UI/IRecipeCreationTool.cs b/VisionBuilder.UI.Common/ViewModel/Interfaces/UI/IRecipeCreationTool.cs new file mode 100644 index 0000000..d86a06c --- /dev/null +++ b/VisionBuilder.UI.Common/ViewModel/Interfaces/UI/IRecipeCreationTool.cs @@ -0,0 +1,7 @@ +namespace VisionBuilder.UI.Common.ViewModel.Interfaces.UI; + +public interface IRecipeCreationTool +{ + public bool Enabled { get; set; } + public void CreateRecipe(string recipeName); +} \ No newline at end of file diff --git a/VisionBuilder.UI.Common/VisionBuilder.cs b/VisionBuilder.UI.Common/VisionBuilder.cs index d4734e2..db356cf 100644 --- a/VisionBuilder.UI.Common/VisionBuilder.cs +++ b/VisionBuilder.UI.Common/VisionBuilder.cs @@ -2,6 +2,7 @@ using Ninject; using Ninject.Extensions.ChildKernel; using System.ComponentModel; +using VisionBuilder.UI.Common.NullClasses; using VisionBuilder.UI.Common.Plugins; using VisionBuilder.UI.Common.ViewModel; using VisionBuilder.UI.Common.ViewModel.Interfaces.UI; @@ -20,6 +21,7 @@ public static class VisionBuilder mainKernel.Bind().ToConstant(settings); mainKernel.Bind().ToConstant(new UIConfiguration()); mainKernel.Bind().To().InSingletonScope(); + mainKernel.Bind().To().InSingletonScope(); // --- // mainKernel.Bind().ToSelf().InSingletonScope(); diff --git a/VisionBuilder.UI.Windows/Dialogs/RecipeSelectionDialog.Designer.cs b/VisionBuilder.UI.Windows/Dialogs/RecipeSelectionDialog.Designer.cs index f077d02..610f398 100644 --- a/VisionBuilder.UI.Windows/Dialogs/RecipeSelectionDialog.Designer.cs +++ b/VisionBuilder.UI.Windows/Dialogs/RecipeSelectionDialog.Designer.cs @@ -30,6 +30,7 @@ { listView1 = new ListView(); btnCancel = new MaterialSkin.Controls.MaterialRaisedButton(); + btnCreateNewRecipe = new MaterialSkin.Controls.MaterialRaisedButton(); SuspendLayout(); // // listView1 @@ -62,11 +63,30 @@ btnCancel.UseVisualStyleBackColor = true; btnCancel.Click += btnCancel_Click; // + // btnCreateNewRecipe + // + btnCreateNewRecipe.AutoSizeMode = AutoSizeMode.GrowAndShrink; + btnCreateNewRecipe.Depth = 0; + btnCreateNewRecipe.DrawBorder = true; + btnCreateNewRecipe.Font = new Font("Segoe UI Semibold", 12F, FontStyle.Bold, GraphicsUnit.Point, 204); + btnCreateNewRecipe.Icon = null; + btnCreateNewRecipe.Location = new Point(8, 624); + btnCreateNewRecipe.MouseState = MaterialSkin.MouseState.HOVER; + btnCreateNewRecipe.Name = "btnCreateNewRecipe"; + btnCreateNewRecipe.Primary = false; + btnCreateNewRecipe.Size = new Size(160, 48); + btnCreateNewRecipe.TabIndex = 6; + btnCreateNewRecipe.Text = "Create New Recipe"; + btnCreateNewRecipe.UseVisualStyleBackColor = true; + btnCreateNewRecipe.Visible = false; + btnCreateNewRecipe.Click += btnCreateNewRecipe_Click; + // // RecipeSelectionDialog // AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; ClientSize = new Size(962, 688); + Controls.Add(btnCreateNewRecipe); Controls.Add(btnCancel); Controls.Add(listView1); MaximizeBox = false; @@ -81,5 +101,6 @@ private ListView listView1; private MaterialSkin.Controls.MaterialRaisedButton btnCancel; + private MaterialSkin.Controls.MaterialRaisedButton btnCreateNewRecipe; } } \ No newline at end of file diff --git a/VisionBuilder.UI.Windows/Dialogs/RecipeSelectionDialog.cs b/VisionBuilder.UI.Windows/Dialogs/RecipeSelectionDialog.cs index d5b4dc3..056e8fe 100644 --- a/VisionBuilder.UI.Windows/Dialogs/RecipeSelectionDialog.cs +++ b/VisionBuilder.UI.Windows/Dialogs/RecipeSelectionDialog.cs @@ -1,22 +1,31 @@ using MaterialSkin.Controls; using OpenCvSharp.XImgProc; using System.Text.RegularExpressions; +using MaterialSkin.Core.Controls; using OpenCvSharp.Extensions; using VisionBuilder.UI.Common.ViewModel; using VisionBuilder.UI.Common.ViewModel.Classes; +using VisionBuilder.UI.Common.ViewModel.Interfaces.UI; namespace VisionBuilder.UI.Windows.Dialogs { public partial class RecipeSelectionDialog : MaterialForm { private readonly RecipeSelectionVM _recipeSelectionVm; - - public RecipeSelectionDialog(RecipeSelectionVM recipeSelectionVm) + private readonly IRecipeCreationTool _recipeCreationTool; + + public RecipeSelectionDialog(RecipeSelectionVM recipeSelectionVm, IRecipeCreationTool recipeCreationTool) { _recipeSelectionVm = recipeSelectionVm; - + _recipeCreationTool = recipeCreationTool; + InitializeComponent(); ReloadRecipes(); + + if (!_recipeCreationTool.Enabled) + { + btnCreateNewRecipe.Visible = true; + } } public void ReloadRecipes() @@ -38,11 +47,11 @@ namespace VisionBuilder.UI.Windows.Dialogs listView1.LargeImageList.Images.Add("plug", plug); - + recipes.ForEach(x => { - + if (x.Image != null) @@ -53,7 +62,7 @@ namespace VisionBuilder.UI.Windows.Dialogs } else { - listView1.Items.Add(x.RecipeName, x.RecipeName, "plug").Tag=x; + listView1.Items.Add(x.RecipeName, x.RecipeName, "plug").Tag = x; } }); @@ -63,15 +72,23 @@ namespace VisionBuilder.UI.Windows.Dialogs { if (listView1.SelectedIndices.Count > 0) { - _recipeSelectionVm.SelectedRecipe = (RecipeData)listView1.SelectedItems[0].Tag!; + _recipeSelectionVm.SelectedRecipe = (RecipeData)listView1.SelectedItems[0].Tag!; } DialogResult = DialogResult.OK; } - + private void btnCancel_Click(object sender, EventArgs e) { DialogResult = DialogResult.Cancel; } + + private void btnCreateNewRecipe_Click(object sender, EventArgs e) + { + if (MaterialInputBox.Prompt("Create new recipe", "Recipe name", out var recipeName)==DialogResult.OK) + { + _recipeCreationTool.CreateRecipe(recipeName); + } + } } } diff --git a/VisionBuilder.UI.Windows/Dialogs/RecipeSelectionDialog.resx b/VisionBuilder.UI.Windows/Dialogs/RecipeSelectionDialog.resx index af32865..8b2ff64 100644 --- a/VisionBuilder.UI.Windows/Dialogs/RecipeSelectionDialog.resx +++ b/VisionBuilder.UI.Windows/Dialogs/RecipeSelectionDialog.resx @@ -1,7 +1,7 @@