from SPH import * if len(sys.argv) < 3: sys.exit('usage: %s infile.tif outfile.sph' % sys.argv[0]) try: t = libtiff3d.TIFF3D.open(sys.argv[1]) td = t.read_image() t.close() except: sys.exit('%s: load failed: %s' % (sys.argv[0], sys.argv[1])) if len(td.shape) != 3: sys.exit('%s: not 3D TIFF: %s' % (sys.argv[0], sys.argv[1])) sph = SPH() sph._veclen = 1 sph._dtype = SPH.DT_SINGLE sph._org = [0.0, 0.0, 0.0] sph._pitch = [1.0, 1.0, 1.0] sph._dims[0] = td.shape[2] sph._dims[1] = td.shape[1] sph._dims[2] = td.shape[0] dimSz = sph._dims[0] * sph._dims[1] * sph._dims[2] sph._data = numpy.array(0, dtype=float) sph._data.resize(dimSz) idx = 0 try: for k in range(sph._dims[2]):
#! /usr/bin/env python import sys, os import struct from SPH import * if len(sys.argv) < 3: sys.exit('usage: %s infile.sph outfile.vol' % sys.argv[0]) ifile = sys.argv[1] ofile = sys.argv[2] sph = SPH() if not sph.load(ifile): sys.exit('load failed: %s' % ifile) ofp = open(ofile, 'wb') # write header sz = 12 ofp.write(struct.pack('5i', sz, sph._dims[0], sph._dims[1], sph._dims[2], sz)) sz = 8 ofp.write(struct.pack('ifii', sz, sph._step, sph._time, sz)) sz = 24 gro = [sph._org[0] + sph._pitch[0]*(sph._dims[0]-1), sph._org[1] + sph._pitch[1]*(sph._dims[1]-1), sph._org[2] + sph._pitch[2]*(sph._dims[2]-1)] ofp.write(struct.pack('i6fi', sz, sph._org[0], sph._org[1], sph._org[2], gro[0], gro[1], gro[2], sz))