From 0ad189ea9d4b7a2967a04ec7561c393c2c64a4c0 Mon Sep 17 00:00:00 2001 From: Martin Diehl Date: Sat, 8 Aug 2020 18:18:32 +0200 Subject: [PATCH] not needed anymore --- processing/legacy/imageData.py | 184 ------------------------------ processing/legacy/imageDataRGB.py | 134 ---------------------- 2 files changed, 318 deletions(-) delete mode 100755 processing/legacy/imageData.py delete mode 100755 processing/legacy/imageDataRGB.py diff --git a/processing/legacy/imageData.py b/processing/legacy/imageData.py deleted file mode 100755 index 51547d4eb..000000000 --- a/processing/legacy/imageData.py +++ /dev/null @@ -1,184 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from optparse import OptionParser - -import numpy as np -from PIL import Image - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [file[s]]', description = """ -Generate PNG image from data in given column (or 2D data of overall table). - -""", version = scriptID) - -parser.add_option('-l','--label', - dest = 'label', - type = 'string', metavar = 'string', - help = 'column containing data [all]') -parser.add_option('-r','--range', - dest = 'range', - type = 'float', nargs = 2, metavar = 'float float', - help = 'data range (min max) [auto]') -parser.add_option('--gap', '--transparent', - dest = 'gap', - type = 'float', metavar = 'float', - help = 'value to treat as transparent [%default]') -parser.add_option('-d','--dimension', - dest = 'dimension', - type = 'int', nargs = 2, metavar = 'int int', - help = 'data dimension (width height) [native]') -parser.add_option('--color', - dest = 'color', - type = 'string', metavar = 'string', - help = 'color scheme [%default]') -parser.add_option('--invert', - dest = 'invert', - action = 'store_true', - help = 'invert color scheme') -parser.add_option('--abs', - dest = 'abs', - action = 'store_true', - help = 'magnitude of values') -parser.add_option('--log', - dest = 'log', - action = 'store_true', - help = 'log10 of values') -parser.add_option('--fliplr', - dest = 'flipLR', - action = 'store_true', - help = 'flip around vertical axis') -parser.add_option('--flipud', - dest = 'flipUD', - action = 'store_true', - help = 'flip around horizontal axis') -parser.add_option('--crop', - dest = 'crop', - type = 'int', nargs = 4, metavar = 'int int int int', - help = 'pixels cropped on left, right, top, bottom') -parser.add_option('-N','--pixelsize', - dest = 'pixelsize', - type = 'int', metavar = 'int', - help = 'pixel per data point') -parser.add_option('-x','--pixelsizex', - dest = 'pixelsizex', - type = 'int', metavar = 'int', - help = 'pixel per data point along x') -parser.add_option('-y','--pixelsizey', - dest = 'pixelsizey', - type = 'int', metavar = 'int', - help = 'pixel per data point along y') -parser.add_option('--show', - dest = 'show', - action = 'store_true', - help = 'show resulting image') - -parser.set_defaults(label = None, - range = [0.0,0.0], - gap = None, - dimension = [], - abs = False, - log = False, - flipLR = False, - flipUD = False, - color = "gray", - invert = False, - crop = [0,0,0,0], - pixelsize = 1, - pixelsizex = 1, - pixelsizey = 1, - show = False, - ) - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -if options.pixelsize > 1: (options.pixelsizex,options.pixelsizey) = [options.pixelsize]*2 - -# --- color palette --------------------------------------------------------------------------------- - -theMap = damask.Colormap(predefined = options.color) -if options.invert: theMap = theMap.invert() -theColors = np.uint8(np.array(theMap.export(format = 'list',steps = 256))*255) - -# --- loop over input files ------------------------------------------------------------------------- -for name in filenames: - try: - table = damask.ASCIItable(name = name, labeled = options.label is not None, readonly = True) - except IOError: - continue - damask.util.report(scriptName,name) - -# ------------------------------------------ read header ------------------------------------------ - - table.head_read() - -# ------------------------------------------ process data ------------------------------------------ - - missing_labels = table.data_readArray(options.label) - if len(missing_labels) > 0: - damask.util.croak('column {} not found.'.format(options.label)) - table.close(dismiss = True) # close ASCIItable and remove empty file - continue -# convert data to values between 0 and 1 and arrange according to given options - if options.dimension != []: table.data = table.data.reshape(options.dimension[1],options.dimension[0]) - if options.abs: table.data = np.abs(table.data) - if options.log: table.data = np.log10(table.data);options.range = np.log10(options.range) - if options.flipLR: table.data = np.fliplr(table.data) - if options.flipUD: table.data = np.flipud(table.data) - - mask = np.logical_or(table.data == options.gap, np.isnan(table.data))\ - if options.gap else np.logical_not(np.isnan(table.data)) # mask gap and NaN (if gap present) - if np.all(np.array(options.range) == 0.0): - options.range = [table.data[mask].min(), - table.data[mask].max()] - damask.util.croak('data range: {0} – {1}'.format(*options.range)) - - delta = max(options.range) - min(options.range) - avg = 0.5*(max(options.range) + min(options.range)) - - if delta * 1e8 <= avg: # delta around numerical noise - options.range = [min(options.range) - 0.5*avg, max(options.range) + 0.5*avg] # extend range to have actual data centered within - - table.data = (table.data - min(options.range)) / \ - (max(options.range) - min(options.range)) - - table.data = np.clip(table.data,0.0,1.0).\ - repeat(options.pixelsizex,axis = 1).\ - repeat(options.pixelsizey,axis = 0) - - mask = mask.\ - repeat(options.pixelsizex,axis = 1).\ - repeat(options.pixelsizey,axis = 0) - - (height,width) = table.data.shape - damask.util.croak('image dimension: {0} x {1}'.format(width,height)) - - im = Image.fromarray(np.dstack((theColors[np.array(255*table.data,dtype = np.uint8)], - 255*mask.astype(np.uint8))), 'RGBA').\ - crop(( options.crop[0], - options.crop[2], - width -options.crop[1], - height-options.crop[3])) - -# ------------------------------------------ output result ----------------------------------------- - - im.save(sys.stdout if not name else - os.path.splitext(name)[0]+ \ - ('' if options.label is None else '_'+options.label)+ \ - '.png', - format = "PNG") - - table.close() # close ASCII table - if options.show: im.show() diff --git a/processing/legacy/imageDataRGB.py b/processing/legacy/imageDataRGB.py deleted file mode 100755 index a34a48f4f..000000000 --- a/processing/legacy/imageDataRGB.py +++ /dev/null @@ -1,134 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -from optparse import OptionParser - -import numpy as np -from PIL import Image - -import damask - - -scriptName = os.path.splitext(os.path.basename(__file__))[0] -scriptID = ' '.join([scriptName,damask.version]) - - -# -------------------------------------------------------------------- -# MAIN -# -------------------------------------------------------------------- - -parser = OptionParser(option_class=damask.extendableOption, usage='%prog options [file[s]]', description = """ -Generate PNG image from data in given column vector containing RGB tuples. - -""", version = scriptID) - -parser.add_option('-l','--label', - dest = 'label', - type = 'string', metavar = 'string', - help = 'column containing RGB triplet') -parser.add_option('-d','--dimension', - dest = 'dimension', - type = 'int', nargs = 2, metavar = 'int int', - help = 'data dimension (width height)') -parser.add_option('--fliplr', - dest = 'flipLR', - action = 'store_true', - help = 'flip around vertical axis') -parser.add_option('--flipud', - dest = 'flipUD', - action = 'store_true', - help = 'flip around horizontal axis') -parser.add_option('--crop', - dest = 'crop', - type = 'int', nargs = 4, metavar = ' '.join(['int']*4), - help = 'pixels cropped on left, right, top, bottom') -parser.add_option('-N','--pixelsize', - dest = 'pixelsize', - type = 'int', metavar = 'int', - help = 'pixels per data point') -parser.add_option('-x','--pixelsizex', - dest = 'pixelsizex', - type = 'int', metavar = 'int', - help = 'pixels per data point along x') -parser.add_option('-y','--pixelsizey', - dest = 'pixelsizey', - type = 'int', metavar = 'int', - help = 'pixels per data point along y') -parser.add_option('--show', - dest = 'show', - action = 'store_true', - help = 'show resulting image') - -parser.set_defaults(label = None, - dimension = [], - flipLR = False, - flipUD = False, - crop = [0,0,0,0], - pixelsize = 1, - pixelsizex = 1, - pixelsizey = 1, - show = False, - ) - -(options,filenames) = parser.parse_args() -if filenames == []: filenames = [None] - -if options.dimension == []: parser.error('dimension of data array missing') -if options.pixelsize > 1: (options.pixelsizex,options.pixelsizey) = [options.pixelsize]*2 - -# --- loop over input files ------------------------------------------------------------------------- -for name in filenames: - try: - table = damask.ASCIItable(name = name, labeled = options.label is not None, readonly = True) - except IOError: - continue - damask.util.report(scriptName,name) - -# ------------------------------------------ read header ------------------------------------------ - - table.head_read() - -# ------------------------------------------ process data ------------------------------------------ - - errors = [] - - missing_labels = table.data_readArray(options.label) - if len(missing_labels) > 0: - errors.append('column{} {} not found'.format('s' if len(missing_labels) > 1 else '', - ', '.join(missing_labels))) - if table.label_dimension(options.label) != 3: - errors.append('column {} does not have dimension'.format(options.label)) - - if errors != []: - damask.util.croak(errors) - table.close(dismiss = True) # close ASCII table file handles and delete output file - continue -# convert data to shape and arrange according to given options - if options.dimension != []: table.data = table.data.reshape(options.dimension[1],options.dimension[0],3) - if options.flipLR: table.data = np.fliplr(table.data) - if options.flipUD: table.data = np.flipud(table.data) - - table.data = table.data.repeat(options.pixelsizex,axis=1).\ - repeat(options.pixelsizey,axis=0) - - table.data *= 1. if np.any(table.data > 1.0) else 255.0 # ensure 8 bit data range - - (height,width,bands) = table.data.shape - damask.util.croak('image dimension: {0} x {1}'.format(width,height)) - - im = Image.fromarray(table.data.astype('uint8'), 'RGB').\ - crop(( options.crop[0], - options.crop[2], - width -options.crop[1], - height-options.crop[3])) - -# ------------------------------------------ output result ----------------------------------------- - - im.save(os.path.splitext(name)[0]+ \ - ('_'+options.label if options.label else '')+ \ - '.png' if name else sys.stdout, - format = "PNG") - - table.close() # close ASCII table - if options.show: im.show()