restored Martin's logic, not clear why seemed to be broken with PE's former tests...
This commit is contained in:
parent
962883d0dc
commit
bffeaa980d
|
@ -50,27 +50,25 @@ for name in filenames:
|
|||
geom = damask.Geom.from_file(StringIO(''.join(sys.stdin.read())) if name is None else name)
|
||||
origin = geom.get_origin()
|
||||
size = geom.get_size()
|
||||
grid = canvasgrid = geom.get_grid()
|
||||
old = new = geom.get_grid()
|
||||
offset = np.asarray(options.offset)
|
||||
|
||||
if options.grid is not None:
|
||||
canvasgrid = np.maximum(1,
|
||||
new = np.maximum(1,
|
||||
np.array([int(o*float(n.lower().replace('x',''))) if n.lower().endswith('x') \
|
||||
else int(n) for o,n in zip(grid,options.grid)],dtype=int))
|
||||
else int(n) for o,n in zip(old,options.grid)],dtype=int))
|
||||
|
||||
canvas = np.full(canvasgrid,options.fill if options.fill is not None
|
||||
canvas = np.full(new,options.fill if options.fill is not None
|
||||
else np.nanmax(geom.microstructure)+1,geom.microstructure.dtype)
|
||||
|
||||
l = np.clip( offset, 0,np.minimum(old +offset,new))
|
||||
r = np.clip( offset+old,0,np.minimum(old*2+offset,new))
|
||||
L = np.clip(-offset, 0,np.minimum(new -offset,old))
|
||||
R = np.clip(-offset+new,0,np.minimum(new*2-offset,old))
|
||||
canvas[l[0]:r[0],l[1]:r[1],l[2]:r[2]] = geom.microstructure[L[0]:R[0],L[1]:R[1],L[2]:R[2]]
|
||||
|
||||
l = np.maximum( 0, offset)
|
||||
r = np.minimum(grid,canvasgrid+offset)
|
||||
L = l - offset
|
||||
R = r - offset
|
||||
|
||||
canvas [L[0]:R[0],L[1]:R[1],L[2]:R[2]] \
|
||||
= geom.microstructure[l[0]:r[0],l[1]:r[1],l[2]:r[2]]
|
||||
|
||||
damask.util.croak(geom.update(canvas,origin=origin+offset*size/grid,rescale=True))
|
||||
damask.util.croak(geom.update(canvas,origin=origin+offset*size/old,rescale=True))
|
||||
geom.add_comments(scriptID + ' ' + ' '.join(sys.argv[1:]))
|
||||
|
||||
if name is None:
|
||||
|
|
Loading…
Reference in New Issue