FFTReconstruction#
- class patato.recon.fourier_transform_rec.FFTReconstruction(n_pixels: Sequence[int], field_of_view: Sequence[float], **kwargs)[source]#
Bases:
ReconstructionAlgorithmCircular FFT-based reconstruction.
Based on Python code by L. Kunyansky, University of Arizona. see: M. Eller, P. Hoskins, and L. Kunyansky Microlocally accurate solution of the inverse source problem of thermoacoustic tomography Inverse Problems 36(8), 2020, 094004
- __init__(n_pixels: Sequence[int], field_of_view: Sequence[float], **kwargs)#
Methods
__init__(n_pixels, field_of_view, **kwargs)add_child(child)Get the name of the algorithm.
pre_prepare_data(x)reconstruct(time_series, fs, geometry, ...)Reconstruct a photoacoustic image from a time series measurement taken from a circular (or circular arc) geometry.
run(time_series, pa_data[, speed_of_sound, ...])- static get_algorithm_name() str[source]#
Get the name of the algorithm.
- Returns:
The algorithm name.
- Return type:
str
- reconstruct(time_series: ndarray, fs: float, geometry: ndarray, n_pixels: Sequence[int], field_of_view: Sequence[float], speed_of_sound: float, **kwargs) ndarray[source]#
Reconstruct a photoacoustic image from a time series measurement taken from a circular (or circular arc) geometry.
- Parameters:
time_series (np.ndarray) – Time series data, shape (nruns, nwavelengths, ndetector, ntime).
fs (float) – Time sampling frequency.
geometry (np.ndarray) – The photacoustic detector positions (ndetector, 3), i.e. xyz position. Note this is 2d, so one of these should be 0.
n_pixels (Sequence[int]) – Number of pixels in each direction. Note: this algorithm only works for a square array in 2D, so one of these values must be 1.
field_of_view (Sequence[float]) – Field of view of the reconstruction grid. Again this must be equal in the two reconstruction axes.
speed_of_sound (float) – The speed of sound for the reconstruction.
- Returns:
The reconstructed iamge, (nruns, nwavelengths, nz, ny, nx).
- Return type:
np.ndarray