added some space here and there for more readability

This commit is contained in:
Christoph Kords 2013-05-28 11:39:26 +00:00
parent a6361738fb
commit 8421587724
1 changed files with 53 additions and 17 deletions

View File

@ -1,5 +1,8 @@
#!/usr/bin/env python
### --- COLOR CLASS --------------------------------------------------
class Color():
'''
Conversion of colors between different color-spaces. Colors should be given in the form
@ -12,6 +15,8 @@ class Color():
'model',
'color',
]
# ------------------------------------------------------------------
def __init__(self,
model = 'RGB',
@ -39,12 +44,18 @@ class Color():
self.model = model
self.color = numpy.array(color,'d')
# ------------------------------------------------------------------
def __repr__(self):
return 'Model: %s Color: %s'%(self.model,str(self.color))
# ------------------------------------------------------------------
def __str__(self):
return self.__repr__()
# ------------------------------------------------------------------
def to(self,toModel = 'RGB'):
toModel = toModel.upper()
@ -61,9 +72,13 @@ class Color():
self.__transforms__[self.model]['prev']()
sourcePos -= 1
return self
# ------------------------------------------------------------------
def asModel(self,toModel = 'RGB'):
return self.__class__(self.model,self.color).to(toModel)
# ------------------------------------------------------------------
# convert H(ue) S(aturation) L(uminance) to R(red) G(reen) B(lue)
# with S,L,H,R,G,B running from 0 to 1
@ -87,6 +102,8 @@ class Color():
][int(sextant)],'d'))
self.model = converted.model
self.color = converted.color
# ------------------------------------------------------------------
# convert R(ed) G(reen) B(lue) to H(ue) S(aturation) L(uminance)
# with S,L,H,R,G,B running from 0 to 1
@ -123,6 +140,8 @@ class Color():
converted = Color('HSL', HSL)
self.model = converted.model
self.color = converted.color
# ------------------------------------------------------------------
# convert R(ed) G(reen) B(lue) to CIE XYZ
# with all values in the range of 0 to 1
@ -148,6 +167,8 @@ class Color():
converted = Color('XYZ', XYZ)
self.model = converted.model
self.color = converted.color
# ------------------------------------------------------------------
# convert CIE XYZ to R(ed) G(reen) B(lue)
# with all values in the range of 0 to 1
@ -175,6 +196,8 @@ class Color():
converted = Color('RGB', RGB)
self.model = converted.model
self.color = converted.color
# ------------------------------------------------------------------
# convert CIE Lab to CIE XYZ
# with XYZ in the range of 0 to 1
@ -197,6 +220,8 @@ class Color():
converted = Color('XYZ', XYZ*ref_white)
self.model = converted.model
self.color = converted.color
# ------------------------------------------------------------------
# convert CIE XYZ to CIE Lab
# with XYZ in the range of 0 to 1
@ -217,6 +242,8 @@ class Color():
200.0 * (XYZ[1] - XYZ[2]) ]))
self.model = converted.model
self.color = converted.color
# ------------------------------------------------------------------
# convert CIE Lab to Msh colorspace
# from http://www.cs.unm.edu/~kmorel/documents/ColorMaps/DivergingColorMapWorkshop.xls
@ -234,6 +261,8 @@ class Color():
converted = Color('MSH', Msh)
self.model = converted.model
self.color = converted.color
# ------------------------------------------------------------------
# convert Msh colorspace to CIE Lab
# s,h in radians
@ -250,7 +279,10 @@ class Color():
converted = Color('CIELAB', Lab)
self.model = converted.model
self.color = converted.color
# ------------------------------------------------------------------
### --- COLORMAP CLASS -----------------------------------------------
class Colormap():
'''
@ -261,6 +293,8 @@ class Colormap():
'left',
'right',
]
# ------------------------------------------------------------------
def __init__(self,
left = Color('RGB',[1,1,1]),
@ -274,6 +308,8 @@ class Colormap():
self.left = left.asModel('MSH')
self.right = right.asModel('MSH')
# ------------------------------------------------------------------
def export(self,name = 'uniformPerceptualColorMap',\
format = 'paraview',\
@ -289,7 +325,7 @@ class Colormap():
sequential map if one limiting color is either white or black,
diverging map otherwise.
'''
# ------------------------------------------------------------------
import copy,numpy,math
def interpolate_Msh(lo,hi,frac,model='RGB'):