
clarifai2.dto.prediction.Region Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of core Show documentation
Show all versions of core Show documentation
Clarifai Java API Client
The newest version!
package clarifai2.dto.prediction;
import clarifai2.internal.grpc.api.ConceptOuterClass;
import clarifai2.internal.grpc.api.DataOuterClass;
import clarifai2.internal.grpc.api.FaceOuterClass;
import clarifai2.dto.input.Crop;
import com.google.auto.value.AutoValue;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
@SuppressWarnings("NullableProblems")
@AutoValue
public abstract class Region extends Prediction {
Region() {} // AutoValue instances only
@NotNull public abstract String id();
@NotNull public abstract Crop crop();
@NotNull public abstract List ageAppearances();
@NotNull public abstract List genderAppearances();
@NotNull public abstract List multiculturalAppearances();
// Unfortunately, the demographics model returns a list of Region instances instead of Demographics instances.
// In order to remain backwards compatible we cannot change that return type. So we are forced to have this
// demographics deserialization here instead of in Demographics.
@NotNull public static Region deserialize(DataOuterClass.Region region) {
FaceOuterClass.Face face = region.getData().getFace();
List ageAppearanceConcepts = new ArrayList<>();
for (ConceptOuterClass.Concept concept : face.getAgeAppearance().getConceptsList()) {
ageAppearanceConcepts.add(Concept.deserialize(concept));
}
List genderAppearanceConcepts = new ArrayList<>();
for (ConceptOuterClass.Concept concept : face.getGenderAppearance().getConceptsList()) {
genderAppearanceConcepts.add(Concept.deserialize(concept));
}
List multiculturalAppearanceConcepts = new ArrayList<>();
for (ConceptOuterClass.Concept concept : face.getMulticulturalAppearance().getConceptsList()) {
multiculturalAppearanceConcepts.add(Concept.deserialize(concept));
}
return new AutoValue_Region(
region.getId(),
Crop.deserialize(region.getRegionInfo().getBoundingBox()),
ageAppearanceConcepts,
genderAppearanceConcepts,
multiculturalAppearanceConcepts
);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy