Ejemplo n.º 1
0
def test_recon_mpi():
    from imars3d.recon.mpi import recon_mpi
    recon_template = os.path.join(outdir, "test_recon_mpi", "recon_%05i.tiff")
    recon_series = imars3d.io.ImageFileSeries(
        recon_template,
        mode = 'w', name = "Reconstructed", identifiers=layers,
        )
    recon_mpi(sinograms, theta, recon_series, stepsize=3)
    return
Ejemplo n.º 2
0
def test_recon_mpi():
    from imars3d.recon.mpi import recon_mpi
    recon_template = os.path.join(outdir, "test_recon_mpi", "recon_%05i.tiff")
    recon_series = imars3d.io.ImageFileSeries(
        recon_template,
        mode='w',
        name="Reconstructed",
        identifiers=layers,
    )
    recon_mpi(sinograms, theta, recon_series, stepsize=3)
    return
Ejemplo n.º 3
0
def test_recon_mpi_2cpu():
    workdir = dir
    pycode = """
import os, imars3d, numpy as np
datadir = os.path.join(%(workdir)r, "..", "..", "iMars3D_data_set")""" % locals(
    )
    pycode += """
outdir = "_tmp/test_mpi/test_recon_mpi_2cpu"
# sinogram
layers = range(900, 905)
sinogram_template = os.path.join(datadir, "turbine", "sinogram_%i.tiff")
sinograms = imars3d.io.ImageFileSeries(
    sinogram_template,
    name = "Sinogram", identifiers = layers,
    )
# recon output
recon_template = os.path.join(outdir, "recon_%05i.tiff")
#
recon_series = imars3d.io.ImageFileSeries(
    recon_template,
    mode = 'w', name = "Reconstructed", identifiers=layers,
    )

# angles
angles = np.arange(0, 182, .85)
theta = angles * np.pi / 180.

# process
from imars3d.recon.mpi import recon_mpi
recon_mpi(sinograms, theta, recon_series, stepsize=1)
"""
    pypath = os.path.join(outdir, "test_recon_mpi_2cpu.py")
    open(pypath, 'wt').write(pycode)

    cmd = "mpirun -np 2 python %s" % pypath
    if os.system(cmd):
        raise RuntimeError("%s failed" % cmd)
    return
Ejemplo n.º 4
0
def test_recon_mpi_2cpu():
    workdir = dir
    pycode = """
import os, imars3d, numpy as np
datadir = os.path.join(%(workdir)r, "..", "..", "iMars3D_data_set")""" % locals()
    pycode += """
outdir = "_tmp/test_mpi/test_recon_mpi_2cpu"
# sinogram
layers = range(900, 905)
sinogram_template = os.path.join(datadir, "turbine", "sinogram_%i.tiff")
sinograms = imars3d.io.ImageFileSeries(
    sinogram_template,
    name = "Sinogram", identifiers = layers,
    )
# recon output
recon_template = os.path.join(outdir, "recon_%05i.tiff")
#
recon_series = imars3d.io.ImageFileSeries(
    recon_template,
    mode = 'w', name = "Reconstructed", identifiers=layers,
    )

# angles
angles = np.arange(0, 182, .85)
theta = angles * np.pi / 180.

# process
from imars3d.recon.mpi import recon_mpi
recon_mpi(sinograms, theta, recon_series, stepsize=1)
"""
    pypath = os.path.join(outdir, "test_recon_mpi_2cpu.py")
    open(pypath, 'wt').write(pycode)
    
    cmd = "mpirun -np 2 python %s" % pypath
    if os.system(cmd):
        raise RuntimeError("%s failed" % cmd)
    return