Pull request #10: fixed check for analysis result validity

Merge in RR/image-prediction from result_check_fix to master

Squashed commit of the following:

commit 8352e657ef1f399ca0fe6a89e7a4c7fc4bd0701d
Author: Matthias Bisping <matthias.bisping@iqser.com>
Date:   Mon Apr 25 16:23:24 2022 +0200

    logging setup changed

commit 956706378b7d7f6daa574b86eb29636797c05bba
Author: Matthias Bisping <matthias.bisping@iqser.com>
Date:   Mon Apr 25 16:17:19 2022 +0200

    error handling for bad xrefs

commit e7d229c0d70574cae316a841ab1377fae625ab15
Author: Matthias Bisping <matthias.bisping@iqser.com>
Date:   Mon Apr 25 14:07:19 2022 +0200

    fixed check for analysis result validity
This commit is contained in:
Matthias Bisping 2022-04-25 16:28:26 +02:00
parent ddd8d4685e
commit 1e65d672d7
3 changed files with 12 additions and 4 deletions

View File

@ -63,7 +63,7 @@ def make_prediction_server(predict_fn: Callable):
logger.info("Analysing...")
predictions = predict_fn_wrapped(request.data)
if predictions:
if predictions is not None:
response = jsonify(predictions)
logger.info("Analysis completed.")
return response

View File

@ -13,8 +13,11 @@ from image_prediction.image_extractor.extractor import ImageExtractor, ImageMeta
from image_prediction.info import Info
from image_prediction.stitching.stitching import stitch_pairs
from image_prediction.stitching.utils import validate_box_coords, validate_box_size
from image_prediction.utils import get_logger
from image_prediction.utils.generic import lift
logger = get_logger()
class ParsablePDFImageExtractor(ImageExtractor):
def __init__(self, verbose=False, tolerance=0):
@ -162,7 +165,11 @@ def has_alpha_channel(doc, xref):
if maybe_smask:
return any([doc.extract_image(maybe_smask) is not None, bool(fitz.Pixmap(doc, maybe_smask).alpha)])
else:
return bool(fitz.Pixmap(doc, xref).alpha)
try:
return bool(fitz.Pixmap(doc, xref).alpha)
except ValueError:
logger.debug(f"Encountered invalid xref `{xref}` in {doc.metadata.get('title', '<no title>')}.")
return False
def tiny(metadata):

View File

@ -10,7 +10,6 @@ from image_prediction.utils.banner import show_banner
def main():
logger = get_logger()
def predict(pdf):
# Keras service_estimator.predict stalls when service_estimator was loaded in different process;
@ -26,7 +25,9 @@ def main():
if __name__ == "__main__":
logging.basicConfig(level=CONFIG.service.logging_level)
logging.basicConfig()
logger = get_logger()
logger = logger.setLevel(CONFIG.service.logging_level)
show_banner()