public IEnumerator TestAnalyze() { Log.Debug("VisualRecognitionServiceV4IntegrationTests", "Attempting to Analyze..."); AnalyzeResponse analyzeResponse = null; List <FileWithMetadata> imagesFile = new List <FileWithMetadata>(); using (FileStream fs1 = File.OpenRead(giraffeImageFilepath), fs2 = File.OpenRead(turtleImageFilepath)) { using (MemoryStream ms1 = new MemoryStream(), ms2 = new MemoryStream()) { fs1.CopyTo(ms1); fs2.CopyTo(ms2); FileWithMetadata fileWithMetadata = new FileWithMetadata() { Data = ms1, ContentType = "image/jpeg", Filename = Path.GetFileName(giraffeImageFilepath) }; imagesFile.Add(fileWithMetadata); FileWithMetadata fileWithMetadata2 = new FileWithMetadata() { Data = ms2, ContentType = "image/jpeg", Filename = Path.GetFileName(turtleImageFilepath) }; imagesFile.Add(fileWithMetadata2); service.Analyze( callback: (DetailedResponse <AnalyzeResponse> response, IBMError error) => { Log.Debug("VisualRecognitionServiceV4IntegrationTests", "Analyze result: {0}", response.Response); analyzeResponse = response.Result; Assert.IsNotNull(analyzeResponse); Assert.IsNotNull(analyzeResponse.Images); Assert.IsTrue(analyzeResponse.Images.Count > 0); Assert.IsNotNull(analyzeResponse.Images[0].Objects.Collections); Assert.IsTrue(analyzeResponse.Images[0].Objects.Collections.Count > 0); Assert.IsNull(error); }, collectionIds: new List <string>() { giraffeCollectionId }, features: new List <string>() { "objects" }, imagesFile: imagesFile ); while (analyzeResponse == null) { yield return(null); } } } }
public Task <CephFileId> Save(FileWithMetadata fileWithMetadata) { var rawGuid = Guid.NewGuid(); var fileId = new CephFileId(rawGuid); _files.Add(fileId, fileWithMetadata); return(Task.FromResult(fileId)); }
public IEnumerator TestAddImage() { Log.Debug("VisualRecognitionServiceV4IntegrationTests", "Attempting to Add Images..."); ImageDetailsList imageDetailsList = null; List <FileWithMetadata> imagesFile = new List <FileWithMetadata>(); using (FileStream fs1 = File.OpenRead(giraffeImageFilepath), fs2 = File.OpenRead(turtleImageFilepath)) { using (MemoryStream ms1 = new MemoryStream(), ms2 = new MemoryStream()) { fs1.CopyTo(ms1); fs2.CopyTo(ms2); FileWithMetadata fileWithMetadata = new FileWithMetadata() { Data = ms1, ContentType = "image/jpeg", Filename = Path.GetFileName(giraffeImageFilepath) }; imagesFile.Add(fileWithMetadata); FileWithMetadata fileWithMetadata2 = new FileWithMetadata() { Data = ms2, ContentType = "image/jpeg", Filename = Path.GetFileName(turtleImageFilepath) }; imagesFile.Add(fileWithMetadata2); service.AddImages( callback: (DetailedResponse <ImageDetailsList> response, IBMError error) => { Log.Debug("VisualRecognitionServiceV4IntegrationTests", "AddImages result: {0}", response.Response); imageDetailsList = response.Result; Assert.IsNotNull(imageDetailsList.Images); Assert.IsTrue(imageDetailsList.Images.Count > 0); Assert.IsNull(error); imageId = imageDetailsList.Images[0].ImageId; }, collectionId: collectionId, imagesFile: imagesFile ); while (imageDetailsList == null) { yield return(null); } } } }
public void Analyze_Success() { DetailedResponse <AnalyzeResponse> analyzeResult = null; List <FileWithMetadata> imagesFile = new List <FileWithMetadata>(); using (FileStream fs = File.OpenRead(localGiraffeFilePath), fs2 = File.OpenRead(localTurtleFilePath)) { using (MemoryStream ms = new MemoryStream(), ms2 = new MemoryStream()) { fs.CopyTo(ms); fs2.CopyTo(ms2); FileWithMetadata fileWithMetadata = new FileWithMetadata() { Data = ms, ContentType = "image/jpeg", Filename = Path.GetFileName(localGiraffeFilePath) }; imagesFile.Add(fileWithMetadata); FileWithMetadata fileWithMetadata2 = new FileWithMetadata() { Data = ms2, ContentType = "image/jpeg", Filename = Path.GetFileName(localTurtleFilePath) }; imagesFile.Add(fileWithMetadata2); service.WithHeader("X-Watson-Test", "1"); analyzeResult = service.Analyze( collectionIds: new List <string>() { collectionId }, features: new List <string>() { "objects" }, imagesFile: imagesFile); } } Assert.IsNotNull(analyzeResult.Result); Assert.IsTrue(analyzeResult.Result.Images[0].Objects.Collections[0].Objects[0]._Object == giraffeClassname); Assert.IsTrue(analyzeResult.Result.Images.Count == 2); Assert.IsTrue(analyzeResult.Result.Images[0].Source.Filename == Path.GetFileName(localGiraffeFilePath)); Assert.IsTrue(analyzeResult.Result.Images[1].Source.Filename == Path.GetFileName(localTurtleFilePath)); }
public void Analyze() { IamAuthenticator authenticator = new IamAuthenticator( apikey: "{apikey}" ); VisualRecognitionService service = new VisualRecognitionService("2019-02-11", authenticator); DetailedResponse <AnalyzeResponse> result = null; List <FileWithMetadata> imagesFile = new List <FileWithMetadata>(); using (FileStream hondaFilestream = File.OpenRead("./honda.jpg"), diceFilestream = File.OpenRead("./dice.png")) { using (MemoryStream hondaMemoryStream = new MemoryStream(), diceMemoryStream = new MemoryStream()) { hondaFilestream.CopyTo(hondaMemoryStream); diceFilestream.CopyTo(diceMemoryStream); FileWithMetadata hondaFile = new FileWithMetadata() { Data = hondaMemoryStream, ContentType = "image/jpeg", Filename = "honda.jpg" }; FileWithMetadata diceFile = new FileWithMetadata() { Data = diceMemoryStream, ContentType = "image/png", Filename = "dice.png" }; imagesFile.Add(hondaFile); imagesFile.Add(diceFile); result = service.Analyze( collectionIds: new List <string>() { "{collectionId}" }, features: new List <string>() { "objects" }, imagesFile: imagesFile); Console.WriteLine(result.Response); } } }
public void TestFileWithMetadata() { string fileText = "This is a test"; string fileName = "testFile.txt"; string fileContentType = "text/plain"; using (FileStream fs = File.Create(fileName)) { byte[] fileData = Encoding.UTF8.GetBytes(fileText); fs.Write(fileData, 0, fileData.Length); } FileWithMetadata fileWithMetadata = new FileWithMetadata(); using (FileStream fs = File.OpenRead(fileName)) { using (MemoryStream ms = new MemoryStream()) { fs.CopyTo(ms); fileWithMetadata.Data = ms; fileWithMetadata.ContentType = fileContentType; fileWithMetadata.Filename = fileName; } } string text = Encoding.UTF8.GetString(fileWithMetadata.Data.ToArray()); Assert.IsTrue(fileText == text); Assert.IsTrue(fileWithMetadata.Filename == fileName); Assert.IsTrue(fileWithMetadata.ContentType == fileContentType); if (File.Exists(fileName)) { File.Delete(fileName); } }
public void Objects_Success() { string testCollectionName = "testCollection"; string testCollectionDescription = ".NET test collection"; service.WithHeader("X-Watson-Test", "1"); var listCollectionResult = service.ListCollections(); service.WithHeader("X-Watson-Test", "1"); var createCollectionResult = service.CreateCollection( name: Utility.ConvertToUtf8(testCollectionName), description: Utility.ConvertToUtf8(testCollectionDescription)); var createdCollectionId = createCollectionResult.Result.CollectionId; DetailedResponse <ImageDetailsList> addImagesResult = null; List <FileWithMetadata> imagesFile = new List <FileWithMetadata>(); using (FileStream fs = File.OpenRead(localGiraffePositiveExamplesFilePath)) { using (MemoryStream ms = new MemoryStream()) { fs.CopyTo(ms); FileWithMetadata fileWithMetadata = new FileWithMetadata() { Data = ms, ContentType = "application/zip", Filename = Path.GetFileName(localGiraffePositiveExamplesFilePath) }; imagesFile.Add(fileWithMetadata); service.WithHeader("X-Watson-Test", "1"); addImagesResult = service.AddImages( collectionId: createdCollectionId, imagesFile: imagesFile); } } var imageId = addImagesResult.Result.Images[0].ImageId; var objectName = giraffeClassname; var updatedObjectName = "african giraffe"; List <TrainingDataObject> objects = new List <TrainingDataObject>() { new TrainingDataObject() { _Object = objectName, Location = new Location() { Left = 270, Top = 64, Width = 755, Height = 784 } } }; service.WithHeader("X-Watson-Test", "1"); var addTrainingDataResult = service.AddImageTrainingData( collectionId: createdCollectionId, imageId: imageId, objects: objects ); service.WithHeader("X-Watson-Test", "1"); var listObjectMetadataResult = service.ListObjectMetadata( collectionId: createdCollectionId ); service.WithHeader("X-Watson-Test", "1"); var updateObjectMetadataResult = service.UpdateObjectMetadata( collectionId: createdCollectionId, _object: objectName, newObject: updatedObjectName ); service.WithHeader("X-Watson-Test", "1"); var getObjectMetadataResult = service.GetObjectMetadata( collectionId: createdCollectionId, _object: updatedObjectName ); service.WithHeader("X-Watson-Test", "1"); var deleteObjectResult = service.DeleteObject( collectionId: createdCollectionId, _object: updatedObjectName ); service.WithHeader("X-Watson-Test", "1"); var deleteCollectionResult = service.DeleteCollection( collectionId: createdCollectionId); Assert.IsTrue(deleteObjectResult.StatusCode == 200); Assert.IsTrue(updateObjectMetadataResult.Result._Object == updatedObjectName); Assert.IsTrue(listObjectMetadataResult.Result.Objects[0]._Object == objectName); Assert.IsTrue(listObjectMetadataResult.Result.ObjectCount > 0); Assert.IsNotNull(listObjectMetadataResult.Result); Assert.IsTrue(deleteCollectionResult.StatusCode == 200); Assert.IsNotNull(createCollectionResult.Result); Assert.IsTrue(!string.IsNullOrEmpty(createdCollectionId)); Assert.IsTrue(createCollectionResult.Result.Name == testCollectionName); }
public void Images_Success() { string testCollectionName = "testCollection"; string testCollectionDescription = ".NET test collection"; service.WithHeader("X-Watson-Test", "1"); var createCollectionResult = service.CreateCollection( name: Utility.ConvertToUtf8(testCollectionName), description: Utility.ConvertToUtf8(testCollectionDescription)); var createdCollectionId = createCollectionResult.Result.CollectionId; DetailedResponse <ImageDetailsList> addImagesResult = null; List <FileWithMetadata> imagesFile = new List <FileWithMetadata>(); using (FileStream fs = File.OpenRead(localGiraffePositiveExamplesFilePath)) { using (MemoryStream ms = new MemoryStream()) { fs.CopyTo(ms); FileWithMetadata fileWithMetadata = new FileWithMetadata() { Data = ms, ContentType = "application/zip", Filename = Path.GetFileName(localGiraffePositiveExamplesFilePath) }; imagesFile.Add(fileWithMetadata); service.WithHeader("X-Watson-Test", "1"); addImagesResult = service.AddImages( collectionId: createdCollectionId, imagesFile: imagesFile); } } var imageId = addImagesResult.Result.Images[0].ImageId; service.WithHeader("X-Watson-Test", "1"); var addImageViaUrlResult = service.AddImages( collectionId: createdCollectionId, imageUrl: new List <string>() { dogImageUrl, catImageUrl }); service.WithHeader("X-Watson-Test", "1"); var listImageResult = service.ListImages( collectionId: createdCollectionId); service.WithHeader("X-Watson-Test", "1"); var getImageResult = service.GetImageDetails( collectionId: createdCollectionId, imageId: imageId); service.WithHeader("X-Watson-Test", "1"); var getJpgImageResult = service.GetJpegImage( collectionId: createdCollectionId, imageId: imageId, size: "thumbnail" ); // Save file using (FileStream fs = File.Create("giraffe.jpg")) { getJpgImageResult.Result.WriteTo(fs); fs.Close(); getJpgImageResult.Result.Close(); } service.WithHeader("X-Watson-Test", "1"); var deleteImageResult = service.DeleteImage( collectionId: createdCollectionId, imageId: imageId); service.WithHeader("X-Watson-Test", "1"); var deleteCollectionResult = service.DeleteCollection( collectionId: createdCollectionId); Assert.IsTrue(deleteImageResult.StatusCode == 200); Assert.IsNotNull(getJpgImageResult.Result); Assert.IsNotNull(getImageResult.Result); Assert.IsTrue(getImageResult.Result.ImageId == imageId); Assert.IsNotNull(listImageResult.Result); Assert.IsNotNull(listImageResult.Result.Images); Assert.IsTrue(listImageResult.Result.Images.Count > 0); Assert.IsNotNull(addImagesResult.Result); Assert.IsNotNull(addImagesResult.Result.Images); Assert.IsTrue(addImagesResult.Result.Images.Count > 0); }
public void Training_Success() { string testCollectionName = "testCollection"; string testCollectionDescription = ".NET test collection"; var createCollectionResult = service.CreateCollection( name: Utility.ConvertToUtf8(testCollectionName), description: Utility.ConvertToUtf8(testCollectionDescription)); var collectionId = createCollectionResult.Result.CollectionId; DetailedResponse <ImageDetailsList> addImagesResult = null; List <FileWithMetadata> imagesFile = new List <FileWithMetadata>(); using (FileStream fs = File.OpenRead(localGiraffePositiveExamplesFilePath)) { using (MemoryStream ms = new MemoryStream()) { fs.CopyTo(ms); FileWithMetadata fileWithMetadata = new FileWithMetadata() { Data = ms, ContentType = "application/zip", Filename = Path.GetFileName(localGiraffePositiveExamplesFilePath) }; imagesFile.Add(fileWithMetadata); addImagesResult = service.AddImages( collectionId: collectionId, imagesFile: imagesFile); } } var imageId = addImagesResult.Result.Images[0].ImageId; var objectName = giraffeClassname; List <TrainingDataObject> objects = new List <TrainingDataObject>() { new TrainingDataObject() { _Object = objectName, Location = new Location() { Left = 270, Top = 64, Width = 755, Height = 784 } } }; var addTrainingDataResult = service.AddImageTrainingData( collectionId: collectionId, imageId: imageId, objects: objects); var trainCollectionResult = service.Train( collectionId: collectionId); var deleteCollectionResult = service.DeleteCollection( collectionId: collectionId); Assert.IsTrue(trainCollectionResult.StatusCode == 202); Assert.IsNotNull(trainCollectionResult.Result); Assert.IsTrue(trainCollectionResult.Result.ImageCount > 0); Assert.IsTrue(trainCollectionResult.Result.TrainingStatus.Objects.InProgress == true); Assert.IsNotNull(addTrainingDataResult.Result); Assert.IsNotNull(addTrainingDataResult.Result.Objects); Assert.IsTrue(addTrainingDataResult.Result.Objects.Count > 0); Assert.IsTrue(addTrainingDataResult.Result.Objects[0]._Object == objectName); }