Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
os.makedirs(adir)
except:
pass
else:
try:
import shutil
if os.path.exists(adir):
shutil.rmtree(adir)
os.makedirs(adir)
except:
pass
ret = 0
try:
with timemory.util.timer('\nTotal time for "{}"'.format(__file__)):
main(args)
except Exception as e:
exc_type, exc_value, exc_traceback = sys.exc_info()
traceback.print_exception(exc_type, exc_value, exc_traceback, limit=5)
print('Exception - {}'.format(e))
ret = 2
sys.exit(ret)
@timemory.util.auto_timer()
def generate(phantom="shepp3d", nsize=512, nangles=360):
with timemory.util.auto_timer("[tomopy.misc.phantom.{}]".format(phantom)):
obj = getattr(tomopy.misc.phantom, phantom)(size=nsize)
with timemory.util.auto_timer("[tomopy.angles]"):
ang = tomopy.angles(nangles)
with timemory.util.auto_timer("[tomopy.project]"):
prj = tomopy.project(obj, ang)
return [prj, ang, obj]
dname = os.path.join(bname, "diff_{}_".format(algorithm))
prj, ang, obj = generate(phantom, args.size, args.angles)
# always add algorithm
_kwargs = {"algorithm": algorithm}
# assign number of cores
_kwargs["ncore"] = ncores
# don't assign "num_iter" if gridrec or fbp
if algorithm not in ["fbp", "gridrec"]:
_kwargs["num_iter"] = args.num_iter
print("kwargs: {}".format(_kwargs))
with timemory.util.auto_timer("[tomopy.recon(algorithm='{}')]".format(
algorithm)):
rec = tomopy.recon(prj, ang, **_kwargs)
obj = normalize(obj)
rec = normalize(rec)
rec = trim_border(rec, rec.shape[0],
rec[0].shape[0] - obj[0].shape[0],
rec[0].shape[1] - obj[0].shape[1])
label = "{} @ {}".format(algorithm.upper(), phantom.upper())
quantify_difference(label, obj, rec)
if "orig" not in image_quality:
image_quality["orig"] = obj
def generate(phantom="shepp3d", nsize=512, nangles=360):
with timemory.util.auto_timer("[tomopy.misc.phantom.{}]".format(phantom)):
obj = getattr(tomopy.misc.phantom, phantom)(size=nsize)
with timemory.util.auto_timer("[tomopy.angles]"):
ang = tomopy.angles(nangles)
with timemory.util.auto_timer("[tomopy.project]"):
prj = tomopy.project(obj, ang)
return [prj, ang, obj]
@timemory.util.auto_timer()
def output_images(rec, fpath, format="jpeg", scale=1, ncol=1):
imgs = []
nitr = 0
nimages = rec.shape[0]
rec_i = None
fname = "{}".format(fpath)
if nimages < ncol:
ncol = nimages
rec_n = rec.copy()
if scale > 1:
rescale_image(rec, nimages, scale)
print("Image size: {} x {} x {}".format(
def generate(phantom="shepp3d", nsize=512, nangles=360):
with timemory.util.auto_timer("[tomopy.misc.phantom.{}]".format(phantom)):
obj = getattr(tomopy.misc.phantom, phantom)(size=nsize)
with timemory.util.auto_timer("[tomopy.angles]"):
ang = tomopy.angles(nangles)
with timemory.util.auto_timer("[tomopy.project]"):
prj = tomopy.project(obj, ang)
return [prj, ang, obj]
def time_fibonacci(n):
atimer = timing.auto_timer('({})@{}'.format(n, timing.FILE(use_dirname=True)))
key = ('fibonacci(%i)' % n)
timer = timing.timer(key)
timer.start()
fibonacci(n)
timer.stop()
fibonacci(27)
del autotimer
self.assertEqual(tman.size(), 1)
tman.clear()
timing.toggle(False)
if True:
autotimer = timing.auto_timer("off")
fibonacci(27)
del autotimer
self.assertEqual(tman.size(), 0)
tman.clear()
timing.toggle(True)
if True:
autotimer_on = timing.auto_timer("on")
timing.toggle(False)
autotimer_off = timing.auto_timer("off")
fibonacci(27)
del autotimer_off
del autotimer_on
self.assertEqual(tman.size(), 1)
timing.util.opts.set_report(join(self.outdir, "timing_toggle.out"))
timing.util.opts.set_serial(join(self.outdir, "timing_toggle.json"))
tman.report()
def create_timer(n):
autotimer = timing.auto_timer('{}'.format(n))
fibonacci(30)
if n < 8:
create_timer(n + 1)
output_images(comparison.array, fname,
args.format, args.scale, args.ncol))
imgs.extend(
output_images(comparison.delta, dname,
args.format, args.scale, args.ncol))
else:
print("Reconstructing with {}...".format(args.algorithm))
imgs = run(args.phantom, args.algorithm, args)
# timing report to stdout
print('{}\n'.format(manager))
timemory.options.output_dir = "{}/{}/{}".format(
args.output_dir, args.phantom, algorithm)
timemory.options.set_report("run_tomopy.out")
timemory.options.set_serial("run_tomopy.json")
manager.report()
# provide timing plots
try:
timemory.plotting.plot(files=[timemory.options.serial_filename],
echo_dart=True,
output_dir=timemory.options.output_dir)
except Exception as e:
print("Exception - {}".format(e))
# provide results to dashboard
try:
for i in range(0, len(imgs)):
img_base = "{}_{}_stack_{}".format(args.phantom, algorithm, i)
img_name = os.path.basename(imgs[i]).replace(
".{}".format(args.format), "").replace(