adopted to new json format of paraview
introduced "standard" colormaps for stress, strain, and orientation file is now implicit the first argument without key (in line with other scripts)
This commit is contained in:
parent
f483c6a404
commit
82063494fd
|
@ -303,36 +303,45 @@ class Colormap():
|
||||||
'interpolate',
|
'interpolate',
|
||||||
]
|
]
|
||||||
__predefined__ = {
|
__predefined__ = {
|
||||||
'gray': {'left': Color('HSL',[0,1,1]),
|
'gray': {'left': Color('HSL',[0,1,1]),
|
||||||
'right': Color('HSL',[0,0,0.15]),
|
'right': Color('HSL',[0,0,0.15]),
|
||||||
'interpolate': 'perceptualuniform'},
|
'interpolate': 'perceptualuniform'},
|
||||||
'grey': {'left': Color('HSL',[0,1,1]),
|
'grey': {'left': Color('HSL',[0,1,1]),
|
||||||
'right': Color('HSL',[0,0,0.15]),
|
'right': Color('HSL',[0,0,0.15]),
|
||||||
'interpolate': 'perceptualuniform'},
|
'interpolate': 'perceptualuniform'},
|
||||||
'red': {'left': Color('HSL',[0,1,0.14]),
|
'red': {'left': Color('HSL',[0,1,0.14]),
|
||||||
'right': Color('HSL',[0,0.35,0.91]),
|
'right': Color('HSL',[0,0.35,0.91]),
|
||||||
'interpolate': 'perceptualuniform'},
|
'interpolate': 'perceptualuniform'},
|
||||||
'green': {'left': Color('HSL',[0.33333,1,0.14]),
|
'green': {'left': Color('HSL',[0.33333,1,0.14]),
|
||||||
'right': Color('HSL',[0.33333,0.35,0.91]),
|
'right': Color('HSL',[0.33333,0.35,0.91]),
|
||||||
'interpolate': 'perceptualuniform'},
|
'interpolate': 'perceptualuniform'},
|
||||||
'blue': {'left': Color('HSL',[0.66,1,0.14]),
|
'blue': {'left': Color('HSL',[0.66,1,0.14]),
|
||||||
'right': Color('HSL',[0.66,0.35,0.91]),
|
'right': Color('HSL',[0.66,0.35,0.91]),
|
||||||
'interpolate': 'perceptualuniform'},
|
'interpolate': 'perceptualuniform'},
|
||||||
'seaweed': {'left': Color('HSL',[0.78,1.0,0.1]),
|
'seaweed': {'left': Color('HSL',[0.78,1.0,0.1]),
|
||||||
'right': Color('HSL',[0.40000,0.1,0.9]),
|
'right': Color('HSL',[0.40000,0.1,0.9]),
|
||||||
'interpolate': 'perceptualuniform'},
|
'interpolate': 'perceptualuniform'},
|
||||||
'bluebrown': {'left': Color('HSL',[0.65,0.53,0.49]),
|
'bluebrown': {'left': Color('HSL',[0.65,0.53,0.49]),
|
||||||
'right': Color('HSL',[0.11,0.75,0.38]),
|
'right': Color('HSL',[0.11,0.75,0.38]),
|
||||||
'interpolate': 'perceptualuniform'},
|
'interpolate': 'perceptualuniform'},
|
||||||
'redgreen': {'left': Color('HSL',[0.97,0.96,0.36]),
|
'redgreen': {'left': Color('HSL',[0.97,0.96,0.36]),
|
||||||
'right': Color('HSL',[0.33333,1.0,0.14]),
|
'right': Color('HSL',[0.33333,1.0,0.14]),
|
||||||
'interpolate': 'perceptualuniform'},
|
'interpolate': 'perceptualuniform'},
|
||||||
'bluered': {'left': Color('HSL',[0.65,0.53,0.49]),
|
'bluered': {'left': Color('HSL',[0.65,0.53,0.49]),
|
||||||
'right': Color('HSL',[0.97,0.96,0.36]),
|
'right': Color('HSL',[0.97,0.96,0.36]),
|
||||||
'interpolate': 'perceptualuniform'},
|
'interpolate': 'perceptualuniform'},
|
||||||
'blueredrainbow':{'left': Color('HSL',[2.0/3.0,1,0.5]),
|
'blueredrainbow':{'left': Color('HSL',[2.0/3.0,1,0.5]),
|
||||||
'right': Color('HSL',[0,1,0.5]),
|
'right': Color('HSL',[0,1,0.5]),
|
||||||
'interpolate': 'linear' },
|
'interpolate': 'linear' },
|
||||||
|
'orientation': {'left': Color('RGB',[0.933334,0.878432,0.878431]),
|
||||||
|
'right': Color('RGB',[0.250980,0.007843,0.000000]),
|
||||||
|
'interpolate': 'perceptualuniform'},
|
||||||
|
'strain': {'left': Color('RGB',[0.941177,0.941177,0.870588]),
|
||||||
|
'right': Color('RGB',[0.266667,0.266667,0.000000]),
|
||||||
|
'interpolate': 'perceptualuniform'},
|
||||||
|
'stress': {'left': Color('RGB',[0.878432,0.874511,0.949019]),
|
||||||
|
'right': Color('RGB',[0.000002,0.000000,0.286275]),
|
||||||
|
'interpolate': 'perceptualuniform'},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -344,7 +353,7 @@ class Colormap():
|
||||||
predefined = None
|
predefined = None
|
||||||
):
|
):
|
||||||
|
|
||||||
if str(predefined).lower() in self.__predefined__:
|
if predefined is not None:
|
||||||
left = self.__predefined__[predefined.lower()]['left']
|
left = self.__predefined__[predefined.lower()]['left']
|
||||||
right= self.__predefined__[predefined.lower()]['right']
|
right= self.__predefined__[predefined.lower()]['right']
|
||||||
interpolate = self.__predefined__[predefined.lower()]['interpolate']
|
interpolate = self.__predefined__[predefined.lower()]['interpolate']
|
||||||
|
@ -442,11 +451,12 @@ class Colormap():
|
||||||
format = format.lower() # consistent comparison basis
|
format = format.lower() # consistent comparison basis
|
||||||
frac = 0.5*(np.array(crop) + 1.0) # rescale crop range to fractions
|
frac = 0.5*(np.array(crop) + 1.0) # rescale crop range to fractions
|
||||||
colors = [self.color(float(i)/(steps-1)*(frac[1]-frac[0])+frac[0]).expressAs(model).color for i in xrange(steps)]
|
colors = [self.color(float(i)/(steps-1)*(frac[1]-frac[0])+frac[0]).expressAs(model).color for i in xrange(steps)]
|
||||||
|
|
||||||
if format == 'paraview':
|
if format == 'paraview':
|
||||||
colormap = ['<ColorMap name="'+str(name)+'" space="Diverging">'] \
|
colormap = ['[\n {{\n "ColorSpace" : "RGB", "Name" : "{}",\n "RGBPoints" : ['.format(name)] \
|
||||||
+ ['<Point x="%i"'%i + ' o="1" r="%g" g="%g" b="%g"/>'%(color[0],color[1],color[2],) for i,color in colors] \
|
+ [' {:4d},{:8.6f},{:8.6f},{:8.6f},'.format(i,color[0],color[1],color[2],)
|
||||||
+ ['</ColorMap>']
|
for i,color in enumerate(colors[:-1])]\
|
||||||
|
+ [' {:4d},{:8.6f},{:8.6f},{:8.6f} '.format(i+1,colors[-1][0],colors[-1][1],colors[-1][2],)]\
|
||||||
|
+ [' ]\n }\n]']
|
||||||
|
|
||||||
elif format == 'gmsh':
|
elif format == 'gmsh':
|
||||||
colormap = ['View.ColorTable = {'] \
|
colormap = ['View.ColorTable = {'] \
|
||||||
|
|
|
@ -14,7 +14,7 @@ scriptID = ' '.join([scriptName,damask.version])
|
||||||
#Borland, D., & Taylor, R. M. (2007). Rainbow Color Map (Still) Considered Harmful. Computer Graphics and Applications, IEEE, 27(2), 14--17.
|
#Borland, D., & Taylor, R. M. (2007). Rainbow Color Map (Still) Considered Harmful. Computer Graphics and Applications, IEEE, 27(2), 14--17.
|
||||||
#Moreland, K. (2009). Diverging Color Maps for Scientific Visualization. In Proc. 5th Int. Symp. Visual Computing (pp. 92--103).
|
#Moreland, K. (2009). Diverging Color Maps for Scientific Visualization. In Proc. 5th Int. Symp. Visual Computing (pp. 92--103).
|
||||||
outtypes = ['paraview','gmsh','raw','GOM']
|
outtypes = ['paraview','gmsh','raw','GOM']
|
||||||
extensions = ['.xml','.msh','.txt','.legend']
|
extensions = ['.json','.msh','.txt','.legend']
|
||||||
colormodels = ['RGB','HSL','XYZ','CIELAB','MSH']
|
colormodels = ['RGB','HSL','XYZ','CIELAB','MSH']
|
||||||
|
|
||||||
parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [file[s]]', description = """
|
parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [file[s]]', description = """
|
||||||
|
@ -34,11 +34,9 @@ parser.add_option('-r','--right', dest='right', type='float', nargs=3, metavar='
|
||||||
parser.add_option('-c','--colormodel', dest='colormodel', metavar='string',
|
parser.add_option('-c','--colormodel', dest='colormodel', metavar='string',
|
||||||
help='colormodel: '+', '.join(colormodels)+' [%default]')
|
help='colormodel: '+', '.join(colormodels)+' [%default]')
|
||||||
parser.add_option('-p','--predefined', dest='predefined', metavar='string',
|
parser.add_option('-p','--predefined', dest='predefined', metavar='string',
|
||||||
help='predefined colormap [%default]')
|
help='predefined colormap')
|
||||||
parser.add_option('-f','--format', dest='format', metavar='string',
|
parser.add_option('-f','--format', dest='format', metavar='string',
|
||||||
help='output format: '+', '.join(outtypes)+' [%default]')
|
help='output format: '+', '.join(outtypes)+' [%default]')
|
||||||
parser.add_option('-b','--basename', dest='basename', metavar='string',
|
|
||||||
help='basename of output file [%default]')
|
|
||||||
parser.set_defaults(colormodel = 'RGB')
|
parser.set_defaults(colormodel = 'RGB')
|
||||||
parser.set_defaults(predefined = None)
|
parser.set_defaults(predefined = None)
|
||||||
parser.set_defaults(basename = None)
|
parser.set_defaults(basename = None)
|
||||||
|
@ -48,7 +46,7 @@ parser.set_defaults(trim = (-1.0,1.0))
|
||||||
parser.set_defaults(left = (1.0,1.0,1.0))
|
parser.set_defaults(left = (1.0,1.0,1.0))
|
||||||
parser.set_defaults(right = (0.0,0.0,0.0))
|
parser.set_defaults(right = (0.0,0.0,0.0))
|
||||||
|
|
||||||
(options,filenames) = parser.parse_args()
|
(options,filename) = parser.parse_args()
|
||||||
|
|
||||||
if options.format not in outtypes:
|
if options.format not in outtypes:
|
||||||
parser.error('invalid format: "%s" (can be %s).'%(options.format,', '.join(outtypes)))
|
parser.error('invalid format: "%s" (can be %s).'%(options.format,', '.join(outtypes)))
|
||||||
|
@ -62,10 +60,10 @@ if options.trim[0] < -1.0 or \
|
||||||
parser.error('invalid trim range (-1 +1).')
|
parser.error('invalid trim range (-1 +1).')
|
||||||
|
|
||||||
|
|
||||||
name = options.format if options.basename is None\
|
name = options.format if filename[0] is None\
|
||||||
else options.basename
|
else filename[0]
|
||||||
output = sys.stdout if options.basename is None\
|
output = sys.stdout if filename[0] is None\
|
||||||
else open(os.path.basename(options.basename)+extensions[outtypes.index(options.format)],'w')
|
else open(os.path.basename(filename[0])+extensions[outtypes.index(options.format)],'w')
|
||||||
|
|
||||||
colorLeft = damask.Color(options.colormodel.upper(), list(options.left))
|
colorLeft = damask.Color(options.colormodel.upper(), list(options.left))
|
||||||
colorRight = damask.Color(options.colormodel.upper(), list(options.right))
|
colorRight = damask.Color(options.colormodel.upper(), list(options.right))
|
||||||
|
|
Loading…
Reference in New Issue