@NotNull public static ClarifaiFileVideo of(@NotNull byte[] videoBytes) { return new AutoValue_ClarifaiFileVideo(Crop.create(), videoBytes); }
@NotNull public static FaceDetection deserialize(DataOuterClass.Region region) { return new AutoValue_FaceDetection(Crop.deserialize(region.getRegionInfo().getBoundingBox())); } }
@NotNull public final Crop left(@NotNull float left) { return withLeft(left); }
@NotNull public final Crop bottom(@NotNull float bottom) { return withBottom(bottom); }
@NotNull public final Crop right(@NotNull float right) { return withRight(right); }
public DataOuterClass.Region serialize() { DataOuterClass.Region.Builder builder = DataOuterClass.Region.newBuilder(); if (id != null) { builder.setId(id); } if (crop() != null) { builder.setRegionInfo( DataOuterClass.RegionInfo.newBuilder() .setBoundingBox(crop().serializeBoundingBox()) .setFeedback(feedback().serialize()) ); } DataOuterClass.Data.Builder dataBuilder = DataOuterClass.Data.newBuilder(); if (!conceptFeedbacks.isEmpty()) { List<ConceptOuterClass.Concept> conceptsGrpc = new ArrayList<>(); for (ConceptFeedback conceptFeedback : conceptFeedbacks) { conceptsGrpc.add(conceptFeedback.serialize()); } dataBuilder.addAllConcepts(conceptsGrpc); } if (faceFeedback != null) { dataBuilder.setFace(faceFeedback.serialize()); } return builder.setData(dataBuilder).build(); } }
@NotNull public static ClarifaiFileImage of(@NotNull byte[] imageBytes) { return new AutoValue_ClarifaiFileImage(Crop.create(), imageBytes); }
public static ClarifaiFileImage deserializeInner(ImageOuterClass.Image imageResponse) { ClarifaiFileImage image = ClarifaiImage.of(imageResponse.getBase64().toByteArray()); if (!imageResponse.getCropList().isEmpty()) { image.withCrop(Crop.deserialize(imageResponse.getCropList())); } return image; }
@Retry @Test public void t01a_addInputs() throws Exception { assertSuccess(client.addInputs() .plus(ClarifaiInput.forInputValue(ClarifaiImage.of(KOTLIN_LOGO_IMAGE_FILE) .withCrop(Crop.create() .top(0.1F) .left(0.1F) .bottom(0.9F) .right(0.9F) ) ) .withID("foo1") .withConcepts(Concept.forID("concept1").withValue(false)) ) ); }
@NotNull public static ClarifaiURLVideo of(@NotNull URL videoURL) { return new AutoValue_ClarifaiURLVideo(Crop.create(), videoURL); }
@NotNull public static Logo deserialize(DataOuterClass.Region logo) { Crop crop = Crop.deserialize(logo.getRegionInfo().getBoundingBox()); List<Concept> concepts = new ArrayList<>(); for (ConceptOuterClass.Concept concept : logo.getData().getConceptsList()) { concepts.add(Concept.deserialize(concept)); } return new AutoValue_Logo(crop, concepts); } }
@Test public void shouldSucceedWhenValidRequestWithRegions() { ModelFeedbackRequest request = client.modelFeedback(client.getDefaultModels().travelModel().id()) .withInputId("@inputId") .withImageUrl(FAMILY_IMAGE_URL) .withRegions( RegionFeedback.make( Crop.create().top(0.1f).bottom(0.2f).left(0.3f).right(0.4f), Feedback.ACCURATE ) .withConceptFeedbacks(ConceptFeedback.forIdAndValue("car", false))) .withEndUserId("@endUserId") .withSessionId("@sessionId") .withEventType("annotation") .withOutputId("@outputId"); assertSuccess(request); }
@NotNull public static ClarifaiURLImage of(@NotNull URL imageURL) { return new AutoValue_ClarifaiURLImage(Crop.create(), imageURL); }
@NotNull public static FaceEmbedding deserialize(DataOuterClass.Region region) { List<Embedding> embeddings = new ArrayList<>(); for (EmbeddingOuterClass.Embedding embedding : region.getData().getEmbeddingsList()) { embeddings.add(Embedding.deserialize(embedding)); } return new AutoValue_FaceEmbedding(Crop.deserialize(region.getRegionInfo().getBoundingBox()), embeddings); } }
@Test public void shouldSucceedWhenValidRequestWithFaceFeedback() { ModelFeedbackRequest request = client.modelFeedback(client.getDefaultModels().travelModel().id()) .withInputId("@inputId") .withImageUrl(FAMILY_IMAGE_URL) .withRegions( RegionFeedback.make( Crop.create().top(0.1f).bottom(0.2f).left(0.3f).right(0.4f), Feedback.ACCURATE ) .withFaceFeedback( FaceFeedback.make( Arrays.asList(ConceptFeedback.forIdAndValue("face", true)), Arrays.asList(ConceptFeedback.forIdAndValue("face", true)) ) )) .withEndUserId("@endUserId") .withSessionId("@sessionId") .withEventType("annotation") .withOutputId("@outputId"); assertSuccess(request); } }
@NotNull public static ClarifaiURLImage deserializeInner(ImageOuterClass.Image imageResponse) { ClarifaiURLImage image = ClarifaiURLImage.of(imageResponse.getUrl()); if (imageResponse.getCropCount() > 0) { image.withCrop(Crop.deserialize(imageResponse.getCropList())); } return image; }
@Test public void shouldBeSuccessfulForFocusModel() { ClarifaiResponse<List<ClarifaiOutput<Focus>>> response = client.getDefaultModels().focusModel().predict() .withInputs(ClarifaiInput.forImage(METRO_NORTH_IMAGE_URL)).executeSync(); assertTrue(response.isSuccessful()); Focus focus = response.get().get(0).data().get(0); assertTrue(focus.value() >= 0); assertTrue(focus.value() <= 1); assertTrue(focus.crop().bottom() >= 0); assertTrue(focus.crop().top() >= 0); assertTrue(focus.crop().left() >= 0); assertTrue(focus.crop().right() >= 0); assertTrue(focus.density() >= 0); }