Repository navigation
Conversation
|
|
|
|
| result = do_run ([exrinfo, outimage]) | ||
| assert f"type: '{image_type}'" in result.stdout | ||
|
|
||
| # Convert a tiled multiview image into one tiled part per view. |
There was a problem hiding this comment.
Some more thorough tests would be good here, testing single level as well as mip/ripmapped tiles. Is there a way to check that the pixel data is as expected, as well as that the parts have the appropriate channels?
| } | ||
|
|
||
| if (input_type == DEEPSCANLINE || input_type == DEEPTILE) | ||
| { |
There was a problem hiding this comment.
Conversion of deep images requires a bit of discussion before it is merged.
Existing tools which read deep images probably won't understand images where channels for a single view are spared across multiple parts. Users might expect them to if there's a standard tool for creating the files. I don't think there's any documentation describing multipart deep files. For example, what happens if two parts have a different number of samples for the same pixel? Perhaps any support for splitting deep images into parts should also be accompanied by better documentation, examples and other support utilities
Co-authored-by: insisong <emmanuelisaacnsisong@gmail.com> Signed-off-by: 1cbyc <isaacnsisong@gmail.com>
267ccf6 to
210c500
Compare
peterhillman
left a comment
There was a problem hiding this comment.
Looks good, thanks for the changes
The proposed support for deep images might be worth submitting as a separate proposal or draft PR for discussion. The code itself was fine, the question is whether the layout it wrote is one that should be standardized, and whether there is sufficient documentation about how to read such files.
Fixes #2825
Allow
exrmultipart --convertto split multiview tiled inputs into one part per view while preserving single-level, mipmapped, and ripmapped tile levels, channel types, and channel sampling. Deep image conversion remains unchanged and does not split views pending a definition of multipart deep-image semantics.The focused regression test covers all three tiled level modes and uses
exrmetricsto read, rewrite, and reread both output parts, verifying that their pixel data is complete and decodable.Validation:
cmake --build build --target exrmultipart exrmetrics -j2ctest --test-dir build -R '^OpenEXR\.bin\.exrmultipart$' --output-on-failureCo-authored-by: insisong emmanuelisaacnsisong@gmail.com