# coding=utf-8 from __future__ import print_function, division import white_projection import white_rec import barrier_method import phantoms import scipy, scipy.stats import matplotlib.pyplot as plt import numpy as np import os, os.path from mpl_toolkits.axes_grid1 import make_axes_locatable import collections input_data_dict = phantoms.get_input('button_4_synth') energy_grid = input_data_dict['grid'] gt_concentrations = input_data_dict['gt_concentrations'] # tmp = gt_concentrations.copy() # gt_concentrations[0] = tmp[1] # gt_concentrations[1] = tmp[0] # gt_concentrations = tmp source = input_data_dict['source'] pixel_size = input_data_dict['pixel_size'] element_numbers = input_data_dict['element_numbers'] element_absorptions = input_data_dict['element_absorptions'] ph_size = gt_concentrations.shape[1:] # parameters of reconstruction n_angles = 360 # projection angles
plt.ylabel('Интенсивность, отн. ед.') ax.xaxis.set_major_formatter(FormatStrFormatter('%.1f')) # ax.set_xticks([2.5, 10]) ax.set_xticks(minor_xticks, minor=True) # ax.set_yticks([1, 2]) plt.grid(True, linestyle='--') plt.plot(X, spec, color='black') f.savefig('spectre.png', dpi=400) # Shot plots plt.show() # Lets plot the data. # plot_spectrums(grid, spec, [abs8, abs6 / 10000], ['8', '6']) teeth_data = phantoms.get_input('teeth_data') plot_spectrums(teeth_data['grid'], teeth_data['source'], teeth_data['element_absorptions'], ['Ca', 'Pb']) import sys sys.exit(0) def before_after_plot(x_before, f_before, x_after, f_after): plt.figure() ax = plt.subplot(211) plt.title('before') plt.plot(x_before, f_before) ax.set_xticks(x_before) plt.grid(True)
Нумерация экспериментов по восстановлению зуба с помощью white_rec начинается со 101. Данные: измерения зуба со свинцовой вставкой на молибденовом аноде, по высоте 820 слайс. Даунскейл до размера 256х256, углов проекции - ??? Спектральные кривые поглощения в соответствии с xraylib и физикой. Спектр анода соответстует присланному. В следующих экспериментах планируется уменьшить ширину фантома, сделать фиктивные спектры. ''' inp_name = 'teeth_data_256' input_data_dict = phantoms.get_input(inp_name) energy_grid = input_data_dict['grid'] angles = input_data_dict['angles'] proj_data = input_data_dict['proj_data'] source = input_data_dict['source'] pixel_size = input_data_dict['pixel_size'] element_numbers = input_data_dict['element_numbers'] element_absorptions = input_data_dict['element_absorptions'] ph_size = (proj_data.shape[1], proj_data.shape[1]) n_angles = angles.shape[0] plt.figure() plt.subplot(211) plt.plot(energy_grid[:, 0], element_absorptions[0]) plt.plot(energy_grid[:, 0], element_absorptions[1])