diff --git a/redaction-service-v1/redaction-service-server-v1/build.gradle.kts b/redaction-service-v1/redaction-service-server-v1/build.gradle.kts index ee2c3f46..59bdcaf3 100644 --- a/redaction-service-v1/redaction-service-server-v1/build.gradle.kts +++ b/redaction-service-v1/redaction-service-server-v1/build.gradle.kts @@ -12,7 +12,7 @@ plugins { description = "redaction-service-server-v1" -val layoutParserVersion = "0.93.0" +val layoutParserVersion = "0.94.0" val jacksonVersion = "2.15.2" val droolsVersion = "9.44.0.Final" val pdfBoxVersion = "3.0.0" diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/nodes/Image.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/nodes/Image.java index 59e024d9..8b3b7814 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/nodes/Image.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/model/document/nodes/Image.java @@ -135,10 +135,14 @@ public class Image implements GenericSemanticNode, IEntity { Map bboxImage = image.getBBox(); Map bbox = this.getBBox(); - Rectangle2D intersection = bboxImage.get(this.page).createIntersection(bbox.get(this.page)); - double calculatedIntersection = intersection.getWidth() * intersection.getHeight(); - double area = bbox.get(this.page).getWidth() * bbox.get(this.page).getHeight(); - return (calculatedIntersection / area) > containmentThreshold; + //image needs to be on the same page + if(bboxImage.get(this.page) != null) { + Rectangle2D intersection = bboxImage.get(this.page).createIntersection(bbox.get(this.page)); + double calculatedIntersection = intersection.getWidth() * intersection.getHeight(); + double area = bbox.get(this.page).getWidth() * bbox.get(this.page).getHeight(); + return (calculatedIntersection / area) > containmentThreshold; + } + return false; } @@ -146,7 +150,7 @@ public class Image implements GenericSemanticNode, IEntity { Map bboxImage = image.getBBox(); Map bbox = this.getBBox(); - Rectangle2D intersection = bboxImage.get(this.page).createIntersection(bbox.get(this.page)); + Rectangle2D intersection = bbox.get(this.page).createIntersection(bboxImage.get(this.page)); double calculatedIntersection = intersection.getWidth() * intersection.getHeight(); double area = bbox.get(this.page).getWidth() * bbox.get(this.page).getHeight(); return (area / calculatedIntersection) > containmentThreshold;