Пример #1
0
 def check_Lab_f_inverse_2(self, f0, verbose):
     ''' Check that Lab_f() is the inverse of Lab_f_inverse() for the given f0. '''
     t0 = colormodels.Lab_f_inverse(f0)
     f1 = colormodels.Lab_f(t0)
     # Check error.
     error = math.fabs(f1 - f0)
     tolerance = 1.0e-10
     self.assertLessEqual(error, tolerance)
     msg = 'f0: %g    t(f0): %g    f(t(f0)): %g    Error: %g' % (f0, t0, f1,
                                                                 error)
     if verbose:
         print(msg)
Пример #2
0
 def check_Lab_f_inverse_1(self, t0, verbose):
     ''' Check that Lab_f_inverse() is the inverse of Lab_f() for the given t0. '''
     f0 = colormodels.Lab_f(t0)
     t1 = colormodels.Lab_f_inverse(f0)
     # Check error.
     error = math.fabs(t1 - t0)
     tolerance = 1.0e-13
     self.assertLessEqual(error, tolerance)
     msg = 't0: %g    f(t0): %g    t(f(t0)): %g    Error: %g' % (t0, f0, t1,
                                                                 error)
     if verbose:
         print(msg)
Пример #3
0
 def test_B(f0, tolerance=1.0e-10, verbose=1):
     '''Check that Lab_f() is the inverse of Lab_f_inverse() for the given f0.'''
     # we should cover both ranges in the tests
     if f0 > colormodels.LAB_F_A * colormodels.L_LUM_CUTOFF + colormodels.LAB_F_B:
         range_info = 'in normal range'
     else:
         range_info = 'in linear range'
     t0 = colormodels.Lab_f_inverse(f0)
     f1 = colormodels.Lab_f(t0)
     # check error
     error = math.fabs(f1 - f0)
     passed = (error <= tolerance)
     if passed:
         status = 'pass'
     else:
         status = 'FAILED'
     msg = 'test_Lab_f.test_B() : f0 = %g (%s), t(f0) = %g, f(t(f0)) = %g, error = %g, %s' % (
         f0, range_info, t0, f1, error, status)
     if verbose >= 1:
         print(msg)
     if not passed:
         pass
         raise ValueError(msg)
     return passed
Пример #4
0
 def test_A(t0, tolerance=1.0e-13, verbose=1):
     '''Check that Lab_f_inverse() is the inverse of Lab_f() for the given t0.'''
     # we should cover both ranges in the tests
     if (t0 > colormodels.L_LUM_CUTOFF):
         range_info = 'in normal range'
     else:
         range_info = 'in linear range'
     f0 = colormodels.Lab_f(t0)
     t1 = colormodels.Lab_f_inverse(f0)
     # check error
     error = math.fabs(t1 - t0)
     passed = (error <= tolerance)
     if passed:
         status = 'pass'
     else:
         status = 'FAILED'
     msg = 'test_Lab_f.test_A() : t0 = %g (%s), f(t0) = %g, t(f(t0)) = %g, error = %g, %s' % (
         t0, range_info, f0, t1, error, status)
     if verbose >= 1:
         print(msg)
     if not passed:
         pass
         raise ValueError(msg)
     return passed