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