added explanations for how the coordinate transformations were inferred
This commit is contained in:
parent
d134884553
commit
3ff6dac2e0
@ -115,6 +115,9 @@ def coordinate_test_page_image(coordinate_test_pdf):
|
||||
@pytest.mark.parametrize("corner", ["top_left", "bottom_left"])
|
||||
@pytest.mark.parametrize("coordinate_system", ["fpdf"])
|
||||
def test_fpdf_coordinate_transformer(position_metadata_in_given_system, position_metadata_in_reference_system):
|
||||
"""We use FPDF's coordinate system as the reference system (arbitrarily). Hence, FPDFCoordinateTransformer
|
||||
actually does not do anything. This test merely documents the fact, that FPDF is the reference system.
|
||||
"""
|
||||
transformer = FPDFCoordinateTransformer()
|
||||
assert transformer.forward(position_metadata_in_given_system) == position_metadata_in_reference_system
|
||||
assert transformer.backward(position_metadata_in_reference_system) == position_metadata_in_given_system
|
||||
@ -128,6 +131,12 @@ def test_fpdf_coordinate_transformer(position_metadata_in_given_system, position
|
||||
@pytest.mark.parametrize("corner", ["top_left", "bottom_left"])
|
||||
@pytest.mark.parametrize("coordinate_system", ["fitz"])
|
||||
def test_fitz_coordinate_transformer(position_metadata_in_given_system, position_metadata_in_reference_system):
|
||||
"""How I inferred the transformation:
|
||||
|
||||
- extract images from coordinate_test_fpdf with ParsablePDFImageExtractor (see test_parsable_pdf_image_extractor)
|
||||
- Compare position_metadata_in_given_system (fitz) with position_metadata_in_reference_system (fpdf)
|
||||
- Observe that they are identical
|
||||
"""
|
||||
transformer = FitzCoordinateTransformer()
|
||||
assert transformer.forward(position_metadata_in_given_system) == position_metadata_in_reference_system
|
||||
assert transformer.backward(position_metadata_in_reference_system) == position_metadata_in_given_system
|
||||
@ -141,6 +150,13 @@ def test_fitz_coordinate_transformer(position_metadata_in_given_system, position
|
||||
@pytest.mark.parametrize("corner", ["top_left", "bottom_left"])
|
||||
@pytest.mark.parametrize("coordinate_system", ["pdfnet"])
|
||||
def test_pdfnet_coordinate_transformer(position_metadata_in_given_system, position_metadata_in_reference_system):
|
||||
"""How I inferred the transformation:
|
||||
|
||||
- save coordinate_test_fpdf to disk as file f
|
||||
- draw boxes for position_metadata_in_reference_system in f with draw_metadata_box
|
||||
- save annotated pdf as file g
|
||||
- look at discrepancy between the black square and the red box in g
|
||||
"""
|
||||
transformer = PDFNetCoordinateTransformer()
|
||||
|
||||
assert transformer.forward(position_metadata_in_reference_system) == position_metadata_in_given_system
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user