1 2import unittest, os, sys 3sys.path.append(os.path.join(sys.argv[1], "src", "pyglue")) 4import PyOpenColorIO as OCIO 5 6class BakerTest(unittest.TestCase): 7 8 SIMPLE_PROFILE = """ocio_profile_version: 1 9 10strictparsing: false 11 12colorspaces: 13 14 - !<ColorSpace> 15 name: lnh 16 bitdepth: 16f 17 isdata: false 18 allocation: lg2 19 20 - !<ColorSpace> 21 name: test 22 bitdepth: 8ui 23 isdata: false 24 allocation: uniform 25 to_reference: !<ExponentTransform> {value: [2.2, 2.2, 2.2, 1]}""" 26 27 EXPECTED_LUT = """CSPLUTV100 283D 29 30BEGIN METADATA 31this is some metadata! 32END METADATA 33 344 350.000977 0.039373 1.587401 64.000000 360.000000 0.333333 0.666667 1.000000 374 380.000977 0.039373 1.587401 64.000000 390.000000 0.333333 0.666667 1.000000 404 410.000977 0.039373 1.587401 64.000000 420.000000 0.333333 0.666667 1.000000 43 442 2 2 450.042823 0.042823 0.042823 466.622026 0.042823 0.042823 470.042823 6.622026 0.042823 486.622026 6.622026 0.042823 490.042823 0.042823 6.622026 506.622026 0.042823 6.622026 510.042823 6.622026 6.622026 526.622026 6.622026 6.622026 53 54""" 55 56 def test_interface(self): 57 bake = OCIO.Baker() 58 bakee = bake.createEditableCopy() 59 cfg = OCIO.Config().CreateFromStream(self.SIMPLE_PROFILE) 60 self.assertEqual(2, cfg.getNumColorSpaces()) 61 bakee.setConfig(cfg) 62 cfg2 = bakee.getConfig() 63 self.assertEqual(2, cfg2.getNumColorSpaces()) 64 bakee.setFormat("cinespace") 65 self.assertEqual("cinespace", bakee.getFormat()) 66 bakee.setType("3D") 67 self.assertEqual("3D", bakee.getType()) 68 bakee.setMetadata("this is some metadata!") 69 self.assertEqual("this is some metadata!", bakee.getMetadata()) 70 bakee.setInputSpace("lnh") 71 self.assertEqual("lnh", bakee.getInputSpace()) 72 bakee.setLooks("foo, +bar") 73 self.assertEqual("foo, +bar", bakee.getLooks()) 74 bakee.setLooks("") 75 bakee.setTargetSpace("test") 76 self.assertEqual("test", bakee.getTargetSpace()) 77 bakee.setShaperSize(4) 78 self.assertEqual(4, bakee.getShaperSize()) 79 bakee.setCubeSize(2) 80 self.assertEqual(2, bakee.getCubeSize()) 81 output = bakee.bake() 82 self.assertEqual(self.EXPECTED_LUT, output) 83 self.assertEqual(6, bakee.getNumFormats()) 84 self.assertEqual("cinespace", bakee.getFormatNameByIndex(2)) 85 self.assertEqual("3dl", bakee.getFormatExtensionByIndex(1)) 86