diff --git a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/utils/TextPositionOperations.java b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/utils/TextPositionOperations.java index 233001f..37789c4 100644 --- a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/utils/TextPositionOperations.java +++ b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/utils/TextPositionOperations.java @@ -27,11 +27,12 @@ public class TextPositionOperations { public static final double MAX_LINE_HEIGHT_FACTOR = 0.66; // multiplied with max word height public static final double MAX_WORD_DISTANCE_FACTOR = 3.5; // multiplied with max word width - private static final double THRESHOLD = 5; + private static final double Y_THRESHOLD = 6; + private static final double X_THRESHOLD = 3; private static final Comparator COMPARATOR_DIR_ADJ = // Comparator.comparing(TextBoundingBox::getDir) - .thenComparing(TextBoundingBox::getCenterYDirAdj, (o1, o2) -> DoubleUtils.compareDouble(o1, o2, THRESHOLD)) - .thenComparing(TextBoundingBox::getCenterXDirAdj, (o1, o2) -> DoubleUtils.compareDouble(o1, o2, THRESHOLD)); + .thenComparing(TextBoundingBox::getMaxYDirAdj, (o1, o2) -> DoubleUtils.compareDouble(o1, o2, Y_THRESHOLD)) + .thenComparing(TextBoundingBox::getXDirAdj, (o1, o2) -> DoubleUtils.compareDouble(o1, o2, X_THRESHOLD)); public List mergeAndSort(List textBlocks) {