public IEnumerable <FilterResultDTO> DetectFeaturesInSequence([FromBody] IEnumerable <PictureDTO> pictures, String filterType) { if (pictures == null) { return(null); } foreach (var p in pictures) { p.base64image = (new Models.Imagery.Google.GSMiner()).DownloadBase64ImageFromURI(p.imageURI); } pictures = pictures.Where(p => p.base64image != null); ImageFilterManager.getInstance().detectFeatureInGSSequence(ref pictures, (CaracteristicType)Enum.Parse(typeof(CaracteristicType), filterType)); try { ResultsStoreManager storage = new ResultsStoreManager(); storage.StoreHeatmapPoints(pictures, (CaracteristicType)Enum.Parse(typeof(CaracteristicType), filterType)); } catch (Exception ex) { Console.WriteLine(ex.Message); } return(pictures.Where(p => p.base64image != null).Select(p => p.filterResults).SelectMany(p => p)); }
public async Task <String> DetectFeaturesInSequence(IEnumerable <PictureDTO> pictures, String filterType, int jobId) { if (pictures == null) { return("picture list empty"); } //Task.Run(async () => { var connectionId = Context.ConnectionId; for (int i = 0; i < pictures.Count(); i++) { var p = pictures.ElementAt(i); p.base64image = (new Models.Imagery.Google.GSMiner()).DownloadBase64ImageFromURI(p.imageURI); if (p.base64image != null) { ImageFilterManager.getInstance().detectFeatureInPictureDTO(ref p, (CaracteristicType)Enum.Parse(typeof(CaracteristicType), filterType)); try { Task.Run(async() => { ResultsStoreManager storage = new ResultsStoreManager(); await storage.StoreHeatmapPoint(p, (CaracteristicType)Enum.Parse(typeof(CaracteristicType), filterType)); }); } catch (Exception ex) { Console.WriteLine(ex.Message); } Clients.Client(Context.ConnectionId).sendFilteredCollection(p.filterResults.ElementAt(0), p.filterResults.ElementAt(0).Type.ToString(), jobId); p = null; } } //}); return("OK"); }