From 0f7c74e02df84646b771165aaa3bf25a1a3fc61b Mon Sep 17 00:00:00 2001 From: Philip Eisenlohr Date: Thu, 9 Feb 2012 13:06:22 +0000 Subject: [PATCH] set ID flag and line endings --- processing/post/addCalculation.py | 4 +- processing/post/colormap_io.py | 72 ++--- processing/post/convert_colormodels.py | 346 ++++++++++++------------- 3 files changed, 211 insertions(+), 211 deletions(-) diff --git a/processing/post/addCalculation.py b/processing/post/addCalculation.py index 5575edffd..9045c63a8 100755 --- a/processing/post/addCalculation.py +++ b/processing/post/addCalculation.py @@ -30,7 +30,7 @@ class extendableOption(Option): parser = OptionParser(option_class=extendableOption, usage='%prog options [file[s]]', description = """ Add column(s) with derived values according to user defined arithmetic operation between column(s). -""" + string.replace('$Id: addNorm.py 1118 2011-11-23 14:54:53Z MPIE\p.eisenlohr $','\n','\\n') +""" + string.replace('$Id$','\n','\\n') ) @@ -64,7 +64,7 @@ for file in files: table = damask.ASCIItable(file['input'],file['output'],False) # make unbuffered ASCII_table table.head_read() # read ASCII header info - table.info_append(string.replace('$Id: addNorm.py 1118 2011-11-23 14:54:53Z MPIE\p.eisenlohr $','\n','\\n') + \ + table.info_append(string.replace('$Id$','\n','\\n') + \ '\t' + ' '.join(sys.argv[1:])) column = {} diff --git a/processing/post/colormap_io.py b/processing/post/colormap_io.py index ece42701e..7cc25e12b 100644 --- a/processing/post/colormap_io.py +++ b/processing/post/colormap_io.py @@ -1,36 +1,36 @@ -#!/usr/bin/env python -# -*- coding: iso-8859-1 -*- - -def write_gsmh(RGB_vector,name): - colormap = open(str(name) + '.map',"w") - colormap.write('View.ColorTable = {\n') - for i in range(len(RGB_vector)-1): - colormap.write('{'+str((RGB_vector[0][i])*255.0)+','+str((RGB_vector[0][i])*255.0)+','+str((RGB_vector[0][i])*255.0)+'},\n') - colormap.write('{'+str((RGB_vector[0][-1])*255.0)+','+str((RGB_vector[0][-1])*255.0)+','+str((RGB_vector[0][-1])*255.0)+'}}') - file.close(colormap) - -def write_paraview(RGB_vector,name): - colormap = open(str(name) + '.xml',"w") - colormap.write('\n') - for i in range(len(RGB_vector)): - colormap.write('\n') - colormap.write('') - file.close(colormap) - -def write_paraview2(RGB_vector,name): - colormap = open(str(name) + '.xml',"w") - colormap.write('\n') - for i in range(len(RGB_vector)/3): - colormap.write('\n') - colormap.write('') - file.close(colormap) - -def write_raw(RGB_vector,name): - colormap = open(str(name) + '.colormap',"w") - colormap.write('ColorMap name = ' + str(name)+'\n') - for i in range(len(RGB_vector)): - colormap.write(str(RGB_vector[0][i])+'\t'+str(RGB_vector[1][i])+'\t'+str(RGB_vector[2][i])+'\n') - file.close(colormap) - - def read_raw(filename): - print 'void' +#!/usr/bin/env python +# -*- coding: iso-8859-1 -*- + +def write_gsmh(RGB_vector,name): + colormap = open(str(name) + '.map',"w") + colormap.write('View.ColorTable = {\n') + for i in range(len(RGB_vector)-1): + colormap.write('{'+str((RGB_vector[0][i])*255.0)+','+str((RGB_vector[0][i])*255.0)+','+str((RGB_vector[0][i])*255.0)+'},\n') + colormap.write('{'+str((RGB_vector[0][-1])*255.0)+','+str((RGB_vector[0][-1])*255.0)+','+str((RGB_vector[0][-1])*255.0)+'}}') + file.close(colormap) + +def write_paraview(RGB_vector,name): + colormap = open(str(name) + '.xml',"w") + colormap.write('\n') + for i in range(len(RGB_vector)): + colormap.write('\n') + colormap.write('') + file.close(colormap) + +def write_paraview2(RGB_vector,name): + colormap = open(str(name) + '.xml',"w") + colormap.write('\n') + for i in range(len(RGB_vector)/3): + colormap.write('\n') + colormap.write('') + file.close(colormap) + +def write_raw(RGB_vector,name): + colormap = open(str(name) + '.colormap',"w") + colormap.write('ColorMap name = ' + str(name)+'\n') + for i in range(len(RGB_vector)): + colormap.write(str(RGB_vector[0][i])+'\t'+str(RGB_vector[1][i])+'\t'+str(RGB_vector[2][i])+'\n') + file.close(colormap) + + def read_raw(filename): + print 'void' diff --git a/processing/post/convert_colormodels.py b/processing/post/convert_colormodels.py index 182fb816b..c4743d020 100644 --- a/processing/post/convert_colormodels.py +++ b/processing/post/convert_colormodels.py @@ -1,173 +1,173 @@ -#!/usr/bin/env python -# -*- coding: iso-8859-1 -*- - -import math - -# from http://code.activestate.com/recipes/121574-matrix-vector-multiplication/ -def matmult(m, v): - nrows = len(m) - w = [None] * nrows - for row in range(nrows): - w[row] = reduce(lambda x,y: x+y, map(lambda x,y: x*y, m[row], v)) - return w - -# convert H(ue) S(aturation) L(uminance) to R(ot) G(elb) B(lau) -# with S,L,R,G,B running from 0 to 1, H running from 0 to 360 -# from http://en.wikipedia.org/wiki/HSL_and_HSV -def HSL2RGB(HSL): - RGB = [0.0,0.0,0.0] - H_strich = HSL[0]/60.0 - c = (1.0- abs(2.0 * HSL[2] - 1.0))*HSL[1] - x = c*(1.0- abs(H_strich%2-1.0)) - m = HSL[2] -.5*c - if (0.0 <= H_strich)and(H_strich<1.0): - RGB[0] = c + m - RGB[1] = x + m - RGB[2] = 0.0 + m - elif (1.0 <= H_strich)and(H_strich<2.0): - RGB[0] = x + m - RGB[1] = c + m - RGB[2] = 0.0 + m - elif (2.0 <= H_strich)and(H_strich<3.0): - RGB[0] = 0.0 + m - RGB[1] = c + m - RGB[2] = x + m - elif (3.0 <= H_strich)and(H_strich<4.0): - RGB[0] = 0.0 + m - RGB[1] = x + m - RGB[2] = c + m - elif (4.0 <= H_strich)and(H_strich<5.0): - RGB[0] = x + m - RGB[1] = 0.0 + m - RGB[2] = c + m - elif (5.0 <= H_strich)and(H_strich<=6.0): - RGB[0] = c + m - RGB[1] = 0.0 + m - RGB[2] = x + m - for i in range(3): - RGB[i] = min(RGB[i],1.0) - RGB[i] = max(RGB[i],0.0) - return RGB - -# convert R(ot) G(elb) B(lau) to H(ue) S(aturation) L(uminance) -# with S,L,R,G,B running from 0 to 1, H running from 0 to 360 -# from http://130.113.54.154/~monger/hsl-rgb.html -def RGB2HSL(RGB): - HSL = [0.0,0.0,0.0] - maxcolor = max(RGB) - mincolor = min(RGB) - HSL[2] = (maxcolor + mincolor)/2.0 - if(mincolor == maxcolor): - HSL[0] = 0.0 - HSL[1] = 0.0 - else: - if (HSL[2]<0.5): - HSL[1] = (maxcolor - mincolor)/(maxcolor + mincolor) - else: - HSL[1] = (maxcolor - mincolor)/(2.0 -maxcolor -mincolor) - if (maxcolor == RGB[0]): - HSL[0] = 0.0 + (RGB[1] - RGB[2])/(maxcolor - mincolor) - elif (maxcolor == RGB[1]): - HSL[0] = 2.0 + (RGB[2] - RGB[0])/(maxcolor - mincolor) - elif (maxcolor == RGB[2]): - HSL[0] = 4.0 + (RGB[0] - RGB[1])/(maxcolor - mincolor) - HSL[0] = HSL[0]*60.0 - if (HSL[0] < 0.0): - HSL[0] = HSL[0] + 360.0 - for i in range(2): - HSL[i+1] = min(HSL[i+1],1.0) - HSL[i+1] = max(HSL[i+1],0.0) - return HSL - -# convert R(ot) G(elb) B(lau) to CIE XYZ -# with all values in the range of 0 to 1 -# from http://www.cs.rit.edu/~ncs/color/t_convert.html -def RGB2XYZ(RGB): - XYZ = [0.0,0.0,0.0] - RGB_lin = [0.0,0.0,0.0] - for i in range(3): - if (RGB[i] > 0.04045): - RGB_lin[i] = ((RGB[i]+0.0555)/1.0555)**2.4 - else: - RGB_lin[i] = RGB[i]/12.92 - convert =[[0.412453,0.357580,0.180423],[0.212671,0.715160,0.072169],[0.019334,0.119193,0.950227]] - XYZ = matmult(convert,RGB_lin) - for i in range(3): - XYZ[i] = min(XYZ[i],1.0) - XYZ[i] = max(XYZ[i],0.0) - return XYZ - -# convert CIE XYZ R(ot) G(elb) B(lau) -# with all values in the range of 0 to 1 -# from http://www.cs.rit.edu/~ncs/color/t_convert.html -def XYZ2RGB(XYZ): - RGB_lin = [0.0,0.0,0.0] - RGB = [0.0,0.0,0.0] - convert =[[3.240479,-1.537150,-0.498535],[-0.969256,1.875992,0.041556],[0.055648,-0.204043,1.057311]] - RGB_lin = matmult(convert,XYZ) - for i in range(3): - if (RGB_lin[i] > 0.0031308): - RGB[i] = ((RGB_lin[i])**(1.0/2.4))*1.0555-0.0555 - else: - RGB[i] = RGB_lin[i]*12.92 - for i in range(3): - RGB[i] = min(RGB[i],1.0) - RGB[i] = max(RGB[i],0.0) - return RGB - -# convert CIE Lab to CIE XYZ -# with XYZ in the range of 0 to 1 -# from http://en.wikipedia.org/wiki/Lab_color_space, http://www.cs.rit.edu/~ncs/color/t_convert.html -def CIELab2XYZ(Lab,white): - XYZ = [0.0,0.0,0.0] - temp = [0.0,0.0,0.0] - temp[0] = 1.0/116.0 *(Lab[0] + 16.0) + 1/500.0 * Lab[1] - temp[1] = 1.0/116.0 *(Lab[0] + 16.0) - temp[2] = 1.0/116.0 *(Lab[0] + 16.0) - 1/200.0 * Lab[2] - for i in range(3): - if (temp[i] > 6.0/29.0): - temp[i] = temp[i]**(3.0) - else: - temp[i] =3 * (6.0/29.0)**2 * (temp[i]- 4.0/29.0) - XYZ[i] = white[i] * temp[i] - for i in range(3): - XYZ[i] = min(XYZ[i],1.0) - XYZ[i] = max(XYZ[i],0.0) - return XYZ - -# convert CIE XYZ to CIE Lab -# with XYZ in the range of 0 to 1 -# from http://en.wikipedia.org/wiki/Lab_color_space, http://www.cs.rit.edu/~ncs/color/t_convert.html -def XYZ2CIELab(XYZ,white): - temp = [0.0,0.0,0.0] - Lab = [0.0,0.0,0.0] - for i in range(3): - temp[i] = XYZ[i]/white[i] - if (temp[i] > (6.0/29.0)**3.0): - temp[i] = temp[i]**(1.0/3.0) - else: - temp[i] = 1.0/3.0 * (29.0/6.0)**2.0 * temp[i] + 4.0/29.0 - Lab[0] = 116.0 * temp[1] - 16.0 - Lab[1] = 500.0 *(temp[0] - temp[1]) - Lab[2] = 200.0 *(temp[1] - temp[2]) - return Lab - -# convert Cie Lab to msh colorspace -# from http://www.cs.unm.edu/~kmorel/documents/ColorMaps/DivergingColorMapWorkshop.xls -def CIELab2Msh(Lab): - Msh = [0.0,0.0,0.0] - Msh[0] = math.sqrt(Lab[0]**2.0 + Lab[1]**2.0 + Lab[2]**2.0) - if (Msh[0] != 0.0): - Msh[1] = math.acos(Lab[0]/Msh[0]) - if (Lab[1] != 0.0): - Msh[2] = math.atan2(Lab[2],Lab[1]) - return Msh - -# convert msh colorspace to Cie Lab -# from http://www.cs.unm.edu/~kmorel/documents/ColorMaps/DivergingColorMapWorkshop.xls -def Msh2CIELab(Msh): - Lab = [0.0,0.0,0.0] - Lab[0] = Msh[0] * math.cos(Msh[1]) - Lab[1] = Msh[0] * math.sin(Msh[1]) * math.cos(Msh[2]) - Lab[2] = Msh[0] * math.sin(Msh[1]) * math.sin(Msh[2]) - return Lab +#!/usr/bin/env python +# -*- coding: iso-8859-1 -*- + +import math + +# from http://code.activestate.com/recipes/121574-matrix-vector-multiplication/ +def matmult(m, v): + nrows = len(m) + w = [None] * nrows + for row in range(nrows): + w[row] = reduce(lambda x,y: x+y, map(lambda x,y: x*y, m[row], v)) + return w + +# convert H(ue) S(aturation) L(uminance) to R(ot) G(elb) B(lau) +# with S,L,R,G,B running from 0 to 1, H running from 0 to 360 +# from http://en.wikipedia.org/wiki/HSL_and_HSV +def HSL2RGB(HSL): + RGB = [0.0,0.0,0.0] + H_strich = HSL[0]/60.0 + c = (1.0- abs(2.0 * HSL[2] - 1.0))*HSL[1] + x = c*(1.0- abs(H_strich%2-1.0)) + m = HSL[2] -.5*c + if (0.0 <= H_strich)and(H_strich<1.0): + RGB[0] = c + m + RGB[1] = x + m + RGB[2] = 0.0 + m + elif (1.0 <= H_strich)and(H_strich<2.0): + RGB[0] = x + m + RGB[1] = c + m + RGB[2] = 0.0 + m + elif (2.0 <= H_strich)and(H_strich<3.0): + RGB[0] = 0.0 + m + RGB[1] = c + m + RGB[2] = x + m + elif (3.0 <= H_strich)and(H_strich<4.0): + RGB[0] = 0.0 + m + RGB[1] = x + m + RGB[2] = c + m + elif (4.0 <= H_strich)and(H_strich<5.0): + RGB[0] = x + m + RGB[1] = 0.0 + m + RGB[2] = c + m + elif (5.0 <= H_strich)and(H_strich<=6.0): + RGB[0] = c + m + RGB[1] = 0.0 + m + RGB[2] = x + m + for i in range(3): + RGB[i] = min(RGB[i],1.0) + RGB[i] = max(RGB[i],0.0) + return RGB + +# convert R(ot) G(elb) B(lau) to H(ue) S(aturation) L(uminance) +# with S,L,R,G,B running from 0 to 1, H running from 0 to 360 +# from http://130.113.54.154/~monger/hsl-rgb.html +def RGB2HSL(RGB): + HSL = [0.0,0.0,0.0] + maxcolor = max(RGB) + mincolor = min(RGB) + HSL[2] = (maxcolor + mincolor)/2.0 + if(mincolor == maxcolor): + HSL[0] = 0.0 + HSL[1] = 0.0 + else: + if (HSL[2]<0.5): + HSL[1] = (maxcolor - mincolor)/(maxcolor + mincolor) + else: + HSL[1] = (maxcolor - mincolor)/(2.0 -maxcolor -mincolor) + if (maxcolor == RGB[0]): + HSL[0] = 0.0 + (RGB[1] - RGB[2])/(maxcolor - mincolor) + elif (maxcolor == RGB[1]): + HSL[0] = 2.0 + (RGB[2] - RGB[0])/(maxcolor - mincolor) + elif (maxcolor == RGB[2]): + HSL[0] = 4.0 + (RGB[0] - RGB[1])/(maxcolor - mincolor) + HSL[0] = HSL[0]*60.0 + if (HSL[0] < 0.0): + HSL[0] = HSL[0] + 360.0 + for i in range(2): + HSL[i+1] = min(HSL[i+1],1.0) + HSL[i+1] = max(HSL[i+1],0.0) + return HSL + +# convert R(ot) G(elb) B(lau) to CIE XYZ +# with all values in the range of 0 to 1 +# from http://www.cs.rit.edu/~ncs/color/t_convert.html +def RGB2XYZ(RGB): + XYZ = [0.0,0.0,0.0] + RGB_lin = [0.0,0.0,0.0] + for i in range(3): + if (RGB[i] > 0.04045): + RGB_lin[i] = ((RGB[i]+0.0555)/1.0555)**2.4 + else: + RGB_lin[i] = RGB[i]/12.92 + convert =[[0.412453,0.357580,0.180423],[0.212671,0.715160,0.072169],[0.019334,0.119193,0.950227]] + XYZ = matmult(convert,RGB_lin) + for i in range(3): + XYZ[i] = min(XYZ[i],1.0) + XYZ[i] = max(XYZ[i],0.0) + return XYZ + +# convert CIE XYZ R(ot) G(elb) B(lau) +# with all values in the range of 0 to 1 +# from http://www.cs.rit.edu/~ncs/color/t_convert.html +def XYZ2RGB(XYZ): + RGB_lin = [0.0,0.0,0.0] + RGB = [0.0,0.0,0.0] + convert =[[3.240479,-1.537150,-0.498535],[-0.969256,1.875992,0.041556],[0.055648,-0.204043,1.057311]] + RGB_lin = matmult(convert,XYZ) + for i in range(3): + if (RGB_lin[i] > 0.0031308): + RGB[i] = ((RGB_lin[i])**(1.0/2.4))*1.0555-0.0555 + else: + RGB[i] = RGB_lin[i]*12.92 + for i in range(3): + RGB[i] = min(RGB[i],1.0) + RGB[i] = max(RGB[i],0.0) + return RGB + +# convert CIE Lab to CIE XYZ +# with XYZ in the range of 0 to 1 +# from http://en.wikipedia.org/wiki/Lab_color_space, http://www.cs.rit.edu/~ncs/color/t_convert.html +def CIELab2XYZ(Lab,white): + XYZ = [0.0,0.0,0.0] + temp = [0.0,0.0,0.0] + temp[0] = 1.0/116.0 *(Lab[0] + 16.0) + 1/500.0 * Lab[1] + temp[1] = 1.0/116.0 *(Lab[0] + 16.0) + temp[2] = 1.0/116.0 *(Lab[0] + 16.0) - 1/200.0 * Lab[2] + for i in range(3): + if (temp[i] > 6.0/29.0): + temp[i] = temp[i]**(3.0) + else: + temp[i] =3 * (6.0/29.0)**2 * (temp[i]- 4.0/29.0) + XYZ[i] = white[i] * temp[i] + for i in range(3): + XYZ[i] = min(XYZ[i],1.0) + XYZ[i] = max(XYZ[i],0.0) + return XYZ + +# convert CIE XYZ to CIE Lab +# with XYZ in the range of 0 to 1 +# from http://en.wikipedia.org/wiki/Lab_color_space, http://www.cs.rit.edu/~ncs/color/t_convert.html +def XYZ2CIELab(XYZ,white): + temp = [0.0,0.0,0.0] + Lab = [0.0,0.0,0.0] + for i in range(3): + temp[i] = XYZ[i]/white[i] + if (temp[i] > (6.0/29.0)**3.0): + temp[i] = temp[i]**(1.0/3.0) + else: + temp[i] = 1.0/3.0 * (29.0/6.0)**2.0 * temp[i] + 4.0/29.0 + Lab[0] = 116.0 * temp[1] - 16.0 + Lab[1] = 500.0 *(temp[0] - temp[1]) + Lab[2] = 200.0 *(temp[1] - temp[2]) + return Lab + +# convert Cie Lab to msh colorspace +# from http://www.cs.unm.edu/~kmorel/documents/ColorMaps/DivergingColorMapWorkshop.xls +def CIELab2Msh(Lab): + Msh = [0.0,0.0,0.0] + Msh[0] = math.sqrt(Lab[0]**2.0 + Lab[1]**2.0 + Lab[2]**2.0) + if (Msh[0] != 0.0): + Msh[1] = math.acos(Lab[0]/Msh[0]) + if (Lab[1] != 0.0): + Msh[2] = math.atan2(Lab[2],Lab[1]) + return Msh + +# convert msh colorspace to Cie Lab +# from http://www.cs.unm.edu/~kmorel/documents/ColorMaps/DivergingColorMapWorkshop.xls +def Msh2CIELab(Msh): + Lab = [0.0,0.0,0.0] + Lab[0] = Msh[0] * math.cos(Msh[1]) + Lab[1] = Msh[0] * math.sin(Msh[1]) * math.cos(Msh[2]) + Lab[2] = Msh[0] * math.sin(Msh[1]) * math.sin(Msh[2]) + return Lab