Beispiel #1
0
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]):
Beispiel #2
0
#! /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))