def test_chromacity_to_spectrum2(self): mgr = ColorManager(spectral=True) runtime = Runtime() mgr.chromacity_to_spectrum_asm([runtime], 'chromacity_to_spectrum') mc = create_assembler().assemble(self.asm_code1(mgr)) ds = runtime.load("test", mc) ds['x'] = 0.45 ds['y'] = 0.41 spec = mgr.chromacity_to_spectrum(0.45, 0.41) runtime.run("test") vals = ds['sp1.values'] for i in range(len(vals)): self.assertAlmostEqual(vals[i], spec.samples[i], 4)
def test_chromacity_to_spectrum(self): mgr = ColorManager(spectral=False) runtime = Runtime() mgr.chromacity_to_spectrum_asm([runtime], 'chromacity_to_spectrum') mc = create_assembler().assemble(self.asm_code1(mgr)) ds = runtime.load("test", mc) ds['x'] = 0.45 ds['y'] = 0.41 spec = mgr.chromacity_to_spectrum(0.45, 0.41) runtime.run("test") rgb = ds['sp1.values'] self.assertAlmostEqual(spec.r, rgb[0], 4) self.assertAlmostEqual(spec.g, rgb[1], 4) self.assertAlmostEqual(spec.b, rgb[2], 4)
def test_chromacity_to_spec(self): code = """ spec1 = chromacity_to_spectrum(0.41, 0.45) """ col_mgr = ColorManager(spectral=True) rgb = col_mgr.black() props = {'spec1': rgb} bs = BasicShader(code, props, col_mgr=col_mgr) runtime = Runtime() bs.prepare([runtime]) #print (bs.shader._code) bs.execute() spec2 = col_mgr.chromacity_to_spectrum(0.41, 0.45) val = bs.shader.get_value('spec1') for i in range(len(val.samples)): self.assertAlmostEqual(val.samples[i], spec2.samples[i], places=4)
def test_chromacity_to_spec(self): code = """ spec1 = chromacity_to_spectrum(0.41, 0.45) """ col_mgr = ColorManager(spectral=True) rgb = col_mgr.black() props = {"spec1": rgb} bs = BasicShader(code, props, col_mgr=col_mgr) runtime = Runtime() bs.prepare([runtime]) # print (bs.shader._code) bs.execute() spec2 = col_mgr.chromacity_to_spectrum(0.41, 0.45) val = bs.shader.get_value("spec1") for i in range(len(val.samples)): self.assertAlmostEqual(val.samples[i], spec2.samples[i], places=4)
def test_chromacity_to_rgb(self): code = """ spec1 = chromacity_to_spectrum(0.41, 0.45) """ rgb = RGBSpectrum(0.0, 0.0, 0.0) props = {'spec1': rgb} col_mgr = ColorManager(spectral=False) bs = BasicShader(code, props, col_mgr=col_mgr) runtime = Runtime() bs.prepare([runtime]) #print (bs.shader._code) bs.execute() spec2 = col_mgr.chromacity_to_spectrum(0.41, 0.45) val = bs.shader.get_value('spec1') self.assertAlmostEqual(spec2.r, val.r, places=4) self.assertAlmostEqual(spec2.g, val.g, places=4) self.assertAlmostEqual(spec2.b, val.b, places=4)
def test_chromacity_to_rgb(self): code = """ spec1 = chromacity_to_spectrum(0.41, 0.45) """ rgb = RGBSpectrum(0.0, 0.0, 0.0) props = {"spec1": rgb} col_mgr = ColorManager(spectral=False) bs = BasicShader(code, props, col_mgr=col_mgr) runtime = Runtime() bs.prepare([runtime]) # print (bs.shader._code) bs.execute() spec2 = col_mgr.chromacity_to_spectrum(0.41, 0.45) val = bs.shader.get_value("spec1") self.assertAlmostEqual(spec2.r, val.r, places=4) self.assertAlmostEqual(spec2.g, val.g, places=4) self.assertAlmostEqual(spec2.b, val.b, places=4)