import numpy as np import matplotlib.pyplot as plt import os.path from utils import save_png_no_bounds from constants import EDGESHARPNESS_ROIS input_dir = "/media/metzner/Z/Data/Head/forbild-phantoms/simresults/1noise" file_stub = "999frms_5e+06flux_1noise_{}filter_fdk.raw" FMODES = ["pre", "post"] # fig, axes = plt.subplots(1, 2) # i = 0 for fm in FMODES: fname = file_stub.format(fm) volume = np.fromfile(os.path.join(input_dir, fname), dtype=np.float16).reshape((250, 512, 311)) x0, x1, y0, y1, s0, s1 = EDGESHARPNESS_ROIS["central-w10"] slice_index = (s0 + s1) // 2 roi = volume[slice_index, x0:x1, y0:y1] # """ save_png_no_bounds("jaw_edge_sharpness_rois-{}".format(fm), roi, subdir="jaw", vmin=-0.1, vmax=1.2) # """ # axes[i].imshow(roi, cmap="gray", vmin=-0.1, vmax=1.2) # axes[i].set_title(fm) # i += 1 # plt.show()
"unfiltered", "prefiltered", "postfiltered" ] ROIS = {} for fmode in FILTER_MODES: volume = np.fromfile( os.path.join(input_dir_raw, "{}_float32.raw".format(fmode)), dtype=np.float32).reshape((312, 512, 512)) roi = volume[91, 220:340, 370:480] ROIS[fmode] = roi continue save_png_no_bounds( "../figures/johann/{}_roi.png".format(fmode), roi, vmin=0.1, vmax=0.35 ) DIFFS = [ ("prefiltered", "unfiltered"), ("postfiltered", "unfiltered"), ("prefiltered", "postfiltered") ] for diff_a, diff_b in DIFFS: diff = ROIS[diff_a] - ROIS[diff_b] #fig = plt.figure() #plt.imshow(diff, cmap="gray", interpolation="none", vmin=-0.01, vmax=0.01) #plt.grid(False) #plt.axis('off')
simple_backprojection = iradon( sinogram, theta=angles, filter=None, output_size=phantomSize ) filtered_backprojection = iradon( sinogram, theta=angles, filter="ramp", output_size=phantomSize ) fig, axes = plt.subplots(1, 3) images = [phantom, simple_backprojection, filtered_backprojection] names = ["phantom", "sbp", "fbp"] for ax, img, name in zip(axes, images, names): save_png_no_bounds( "bp-demo-"+name, img, vmin=0, vmax=100 if name == "sbp" else 1 ) #ax.imshow(img, cmap="gray", interpolation="none") #plt.tight_layout() #plt.show()
input_dir = "/media/metzner/Z/Data/Head/forbild-phantoms/simresults/1noise" file_stub = "{frames}frms_{flux}flux_1noise_nofilter_fdk.raw" FLUXES = ["5e+05", "5e+08"] FRAMES = [239, 999] #fig, axes = plt.subplots(1, 4) #i = 0 for fl in FLUXES: for fr in FRAMES: fname = file_stub.format(frames=fr, flux=fl) volume = np.fromfile( os.path.join(input_dir, fname), dtype=np.float16).reshape((250, 512, 311)) slices = NOISELEVEL_ROIS["peripheral"] slice_index = (slices[0].start + slices[0].stop) // 2 roi = volume[slice_index, slices[1], slices[2]] save_png_no_bounds( "jaw_noise_level_rois-{}-{}".format(fr, fl), roi, subdir="jaw", vmin=0.7, vmax=1.3 ) #axes[i].imshow(roi, cmap="gray", vmin=0.7, vmax=1.3) #axes[i].set_title("{} {}".format(fr, fl)) #i += 1 #plt.show()