From 54d121ee66182b8605d8173b5301809d7025729b Mon Sep 17 00:00:00 2001 From: Luna Kim <177369799+luna-y-kim@users.noreply.github.com> Date: Thu, 30 Jul 2026 00:32:39 -0700 Subject: [PATCH] fix(IBA): reorient() cases for transpose and transverse Orientations 5 and 7 were swapped: case 5 produced transverse and case 7 produced transpose. Fix both cases. This adds reorient() tests covering all 8 values to the oiiotool-xform testsuite, and updates the python-imagebufalgo reorient() test to use the new test image for consistency. Also, add orientation example images to documentation. Fixes #4661 Signed-off-by: Luna Kim <177369799+luna-y-kim@users.noreply.github.com> --- src/doc/figures/orientation1.jpg | Bin 0 -> 10578 bytes src/doc/figures/orientation2.jpg | Bin 0 -> 10578 bytes src/doc/figures/orientation3.jpg | Bin 0 -> 10578 bytes src/doc/figures/orientation4.jpg | Bin 0 -> 10578 bytes src/doc/figures/orientation5.jpg | Bin 0 -> 10578 bytes src/doc/figures/orientation6.jpg | Bin 0 -> 10578 bytes src/doc/figures/orientation7.jpg | Bin 0 -> 10578 bytes src/doc/figures/orientation8.jpg | Bin 0 -> 10578 bytes src/doc/stdmetadata.rst | 36 +++++++++++++----- src/libOpenImageIO/imagebufalgo_orient.cpp | 4 +- testsuite/oiiotool-xform/ref/out.txt | 10 +++++ testsuite/oiiotool-xform/ref/reorient1.tif | Bin 3256 -> 9792 bytes testsuite/oiiotool-xform/ref/reorient2.tif | Bin 3256 -> 9750 bytes testsuite/oiiotool-xform/ref/reorient3.tif | Bin 3256 -> 9742 bytes testsuite/oiiotool-xform/ref/reorient4.tif | Bin 0 -> 9772 bytes testsuite/oiiotool-xform/ref/reorient5.tif | Bin 0 -> 10988 bytes testsuite/oiiotool-xform/ref/reorient6.tif | Bin 0 -> 10904 bytes testsuite/oiiotool-xform/ref/reorient7.tif | Bin 0 -> 11030 bytes testsuite/oiiotool-xform/ref/reorient8.tif | Bin 0 -> 11072 bytes testsuite/oiiotool-xform/run.py | 18 +++++---- testsuite/oiiotool-xform/src/orientation1.tif | Bin 0 -> 9792 bytes testsuite/python-imagebufalgo/ref/out.txt | 2 +- testsuite/python-imagebufalgo/run.py | 2 +- .../src/test_imagebufalgo.py | 11 ++---- 24 files changed, 55 insertions(+), 28 deletions(-) create mode 100644 src/doc/figures/orientation1.jpg create mode 100644 src/doc/figures/orientation2.jpg create mode 100644 src/doc/figures/orientation3.jpg create mode 100644 src/doc/figures/orientation4.jpg create mode 100644 src/doc/figures/orientation5.jpg create mode 100644 src/doc/figures/orientation6.jpg create mode 100644 src/doc/figures/orientation7.jpg create mode 100644 src/doc/figures/orientation8.jpg create mode 100644 testsuite/oiiotool-xform/ref/reorient4.tif create mode 100644 testsuite/oiiotool-xform/ref/reorient5.tif create mode 100644 testsuite/oiiotool-xform/ref/reorient6.tif create mode 100644 testsuite/oiiotool-xform/ref/reorient7.tif create mode 100644 testsuite/oiiotool-xform/ref/reorient8.tif create mode 100644 testsuite/oiiotool-xform/src/orientation1.tif diff --git a/src/doc/figures/orientation1.jpg b/src/doc/figures/orientation1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9606eafb7dc9c97e39fda022f768369f944988b7 GIT binary patch literal 10578 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 z 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 literal 0 HcmV?d00001 diff --git a/src/doc/figures/orientation5.jpg b/src/doc/figures/orientation5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cecff89a68c6bdd5d9ea7f00b618c844ae9f9176 GIT binary patch literal 10578 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 literal 0 HcmV?d00001 diff --git a/src/doc/figures/orientation6.jpg b/src/doc/figures/orientation6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..017341568f972134e12d27cd238fbbf7a32001b3 GIT binary patch literal 10578 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 literal 0 HcmV?d00001 diff --git a/src/doc/figures/orientation7.jpg b/src/doc/figures/orientation7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..29e6f28c1002b7b7650d1f4133564a7af053486e GIT binary patch literal 10578 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 literal 0 HcmV?d00001 diff --git a/src/doc/figures/orientation8.jpg b/src/doc/figures/orientation8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c1f33fee4bfeb5bc26d3acecc9a67a4378058276 GIT binary patch literal 10578 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 Q@$$zbI@-klPe;7`2Mo*6yZ`_I literal 3256 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 diff --git a/testsuite/oiiotool-xform/ref/reorient2.tif b/testsuite/oiiotool-xform/ref/reorient2.tif index 4275ccb6cba05d78b68af70fd405fd93e48e425c..99036949dd8117d0e8010ede1ef322fc9de4c3b0 100644 GIT binary patch literal 9750 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 SKaS;(-{^1=|34ka@;?B|K+yI8 literal 3256 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 literal 3256 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 HiEjB{qRor2 literal 0 HcmV?d00001 diff --git a/testsuite/oiiotool-xform/ref/reorient5.tif b/testsuite/oiiotool-xform/ref/reorient5.tif new file mode 100644 index 0000000000000000000000000000000000000000..d9e1a97b867d08fa94fbc367a739658d7d852ddb GIT binary patch literal 10988 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%0DKdgpQz7o3M86 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 ADF6Tf literal 0 HcmV?d00001 diff --git a/testsuite/oiiotool-xform/run.py b/testsuite/oiiotool-xform/run.py index 19ed4d6fa7..f662e15462 100755 --- a/testsuite/oiiotool-xform/run.py +++ b/testsuite/oiiotool-xform/run.py @@ -116,12 +116,15 @@ def make_test_pattern1 (filename, xres=288, yres=216) : command += oiiotool ("image.tif --rotate180 -o flipflop.tif") command += oiiotool ("image.tif --crop 160x120+30+30 --rotate180 -o flipflop-crop.tif") -# Tricky: make image, rotate, set Orientation, and then re-orient. -# Make it half size so it can't accidentally match to another test image -# for the rotation tests. -command += oiiotool ("image.tif --resample 160x120 --rotate90 --orientccw --reorient -o reorient1.tif") -command += oiiotool ("image.tif --resample 160x120 --rotate180 --orient180 --reorient -o reorient2.tif") -command += oiiotool ("image.tif --resample 160x120 --rotate270 --orientcw --reorient -o reorient3.tif") +# test reorient +command += oiiotool ("src/orientation1.tif --reorient -o reorient1.tif") +command += oiiotool ("src/orientation1.tif --orientation 2 --reorient -o reorient2.tif") +command += oiiotool ("src/orientation1.tif --orientation 3 --reorient -o reorient3.tif") +command += oiiotool ("src/orientation1.tif --orientation 4 --reorient -o reorient4.tif") +command += oiiotool ("src/orientation1.tif --orientation 5 --reorient -o reorient5.tif") +command += oiiotool ("src/orientation1.tif --orientation 6 --reorient -o reorient6.tif") +command += oiiotool ("src/orientation1.tif --orientation 7 --reorient -o reorient7.tif") +command += oiiotool ("src/orientation1.tif --orientation 8 --reorient -o reorient8.tif") # test transpose command += oiiotool ("image.tif --transpose -o transpose.tif") @@ -164,7 +167,8 @@ def make_test_pattern1 (filename, xres=288, yres=216) : "flipflop.tif", "flipflop-crop.tif", "rotate90.tif", "rotate90-crop.tif", "rotate270.tif", "rotate270-crop.tif", - "reorient1.tif", "reorient2.tif", "reorient3.tif", + "reorient1.tif", "reorient2.tif", "reorient3.tif", "reorient4.tif", + "reorient5.tif", "reorient6.tif", "reorient7.tif", "reorient8.tif", "transpose.tif", "transpose-crop.tif", "cshift.tif", "out.txt" ] diff --git a/testsuite/oiiotool-xform/src/orientation1.tif b/testsuite/oiiotool-xform/src/orientation1.tif new file mode 100644 index 0000000000000000000000000000000000000000..92ebe00afb51904b49b12d1e1861748b9bdecce8 GIT binary patch literal 9792 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 oiio.Image write (b, "flop.tif") # reorient - image_small = ImageBuf() - ImageBufAlgo.resample (image_small, ImageBuf(OIIO_TESTSUITE_ROOT+"/oiiotool/src/image.tif"), roi=oiio.ROI(0,160,0,120)) - image_small = ImageBufAlgo.rotate90 (image_small) - image_small.specmod().attribute ("Orientation", 8) - b = test_iba (ImageBufAlgo.reorient, image_small) - write (b, "reorient1.tif") - image_small = ImageBuf() + orient1 = ImageBuf(OIIO_TESTSUITE_ROOT + "/oiiotool-xform/src/orientation1.tif") + orient1.specmod().attribute ("Orientation", 8) + b = test_iba (ImageBufAlgo.reorient, orient1) + write (b, "reorient8.tif") # transpose b = test_iba (ImageBufAlgo.transpose, ImageBuf(OIIO_TESTSUITE_ROOT+"/oiiotool/src/image.tif"))