{"id":"homography-compose","version":"1.0.0","description":"Compose two exact 2D homographies and return a canonical projective matrix.","supported_operations":["compose two homographies","multiply projective transforms exactly","combine planar perspective maps","calculate homography composition","canonical projective matrix product","chain exact 2D transformations"],"unsupported_operations":["affine fitting from observations","approximate image warping"],"semantics":["Canonical rationals are integers or reduced p/q strings with a positive denominator.","Homogeneous outputs are primitive integer tuples with first nonzero coordinate positive.","All arithmetic and predicates use exact BigInt cross-products; binary floating point and epsilon comparisons are never used.","Reference: Hartley & Zisserman, Multiple View Geometry, 2nd ed., Chapter 2."],"limits":{"max_input_bytes":8192,"max_rational_bytes":256,"max_output_bytes":8192,"max_tree_nodes":128},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["left","right"],"properties":{"left":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"}}},"right":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"}}}}},"output_schema":{"type":"object","additionalProperties":false,"required":["matrix","reference"],"properties":{"matrix":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"array","minItems":3,"maxItems":3,"items":{"type":"string","minLength":1,"maxLength":256,"pattern":"^(?:0|-?[1-9][0-9]*)(?:/[1-9][0-9]*)?$"}}},"reference":{"type":"string","const":"Hartley & Zisserman, Multiple View Geometry, 2nd ed., Chapter 2"}}},"examples":[{"input":{"left":[["1","0","0"],["0","1","0"],["0","0","1"]],"right":[["1","0","0"],["0","1","0"],["0","0","1"]]},"output":{"matrix":[["1","0","0"],["0","1","0"],["0","0","1"]],"reference":"Hartley & Zisserman, Multiple View Geometry, 2nd ed., Chapter 2"}},{"input":{"left":[["2","0","0"],["0","2","0"],["0","0","1"]],"right":[["1","0","0"],["0","1","0"],["0","0","1"]]},"output":{"matrix":[["2","0","0"],["0","2","0"],["0","0","1"]],"reference":"Hartley & Zisserman, Multiple View Geometry, 2nd ed., Chapter 2"}}],"execute_url":"/v1/tools/homography-compose/versions/1.0.0/execute"}