# 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
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
Нумерация экспериментов по восстановлению зуба с помощью 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])