Hello,

I'm running into what appears to be a regression. The
ImageBufAlgo ociotransform used to work with only a LUT specified. It now
seems to require that the OCIO environment variable points to a valid
config, even if the LUT has nothing to do with the specified config. This
issue shows up when using that operation from the oiiotool command line or
via the Python bindings.

Secondarily, the invert options does seem to work for the Python bindings
of the ociotransform operation. It works when called from oiiotool, so the
problem would seem to be isolated to the Python bindings.

Results and reproduction notes below.

Does this sound familiar to anyone? Any help would be appreciated,
HP


export OCIO_LOGGING_LEVEL=debug

# This breaks
oiiotool test.exr --ociofiletransform /full/path/to/lut.csp -o test_lut.exr
[OpenColorIO Info]: Color management disabled. (Specify the $OCIO
environment variable to enable.)
[OpenColorIO Debug]: This .ocio config has no environment section defined.
The default behaviour is to load all environment variables (0), which
reduces the efficiency of OCIO's caching. Considering predefining the
environment variables used.
oiiotool ERROR: ociofiletransform : Could not construct the color transform
Full command line was:
> oiiotool test.exr --ociofiletransform /full/path/to/lut.csp -o
test_lut.exr

# Now set OCIO to something
export
OCIO=/path/to/Nuke12.0v1.app/Contents/Resources/OCIOConfigs/configs/aces_1.1/config.ocio

# This works
oiiotool test.exr --ociofiletransform /full/path/to/lut.csp -o test_lut.exr
[OpenColorIO Debug]: This .ocio config
'/path/to/Nuke12.0v1.app/Contents/Resources/OCIOConfigs/configs/aces_1.1/config.ocio'
has no environment section defined. The default behaviour is to load all
environment variables (0), which reduces the efficiency of OCIO's caching.
Considering predefining the environment variables used.
[OpenColorIO Debug]: Opening /full/path/to/lut.csp
[OpenColorIO Debug]:     Loaded primary format cinespace
[OpenColorIO Debug]: GPU Ops: Pre-3DLUT
[OpenColorIO Debug]: GPU Ops: 3DLUT
[OpenColorIO Debug]: Optimizing Op Vec...
[OpenColorIO Debug]:     Op 0: <FileNoOp>  supports_gpu:1
[OpenColorIO Debug]:     Op 1: <Lut1DOp>  supports_gpu:0
[OpenColorIO Debug]:     Op 2: <Lut3DOp>  supports_gpu:0
[OpenColorIO Debug]: Optimized 3->2, 1 passes, 1 noops removed, 0 inverse
ops removed
[OpenColorIO Debug]: 0 ops combines
[OpenColorIO Debug]:     Op 0: <Lut1DOp>  supports_gpu:0
[OpenColorIO Debug]:     Op 1: <Lut3DOp>  supports_gpu:0
[OpenColorIO Debug]: GPU Ops: Post-3DLUT
[OpenColorIO Debug]: CPU Ops
[OpenColorIO Debug]: Optimizing Op Vec...
[OpenColorIO Debug]:     Op 0: <FileNoOp>  supports_gpu:1
[OpenColorIO Debug]:     Op 1: <Lut1DOp>  supports_gpu:0
[OpenColorIO Debug]:     Op 2: <Lut3DOp>  supports_gpu:0
[OpenColorIO Debug]: Optimized 3->2, 1 passes, 1 noops removed, 0 inverse
ops removed
[OpenColorIO Debug]: 0 ops combines
[OpenColorIO Debug]:     Op 0: <Lut1DOp>  supports_gpu:0
[OpenColorIO Debug]:     Op 1: <Lut3DOp>  supports_gpu:0


Tested with
OpenImageIO.VERSION = 10813
OpenImageIO.VERSION = 20008L

opencolorio-1.1.0

https://github.com/OpenImageIO/oiio/blob/master/src/libOpenImageIO/color_ocio.cpp#L281
https://github.com/OpenImageIO/oiio/blame/d71ac830c966fcc2bc05349e1eebc0b883a352f3/src/libOpenImageIO/color_ocio.cpp#L281



Example script that exercises the functionality
https://github.com/hpd/general/blob/master/hdr/python/mkhdr.py

Example lut
https://github.com/hpd/general/blob/master/hdr/curves/thetas.spi1d

Example command line
python mkhdr.py -r /path/to/thetas.spi1d —I /path/to/a.jpg -o
/path/to/b.exr -b 0
_______________________________________________
Oiio-dev mailing list
Oiio-dev@lists.openimageio.org
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to