Dataset for: Moving beyond simulation: data-driven quantitative photoacoustic imaging using tissue-mimicking phantoms
Repository URI
Repository DOI
No Thumbnail Available
Type
Dataset
Change log
Authors
Description
Please refer to the paper, its supplemental materials, and the cited references for a full view on the experimental designs with which the data sets were acquired.
In short, this data set comprises photoacoustic imaging data of tissue mimicking material objects, of a blood flow phantom, and of mice. Furthermore, the data contain the weights of the trained models that can be loaded into pytorch and used to estimate optical absorption coefficients.
Version
Software / Usage instructions
### Phantom Data
The phantom data naming convention is P.BATCH.PHANTOM_WAVELENGTH, clearly identifying each phantom and wavelength.
The .npz files are zip folders containing numpy arrays and contain 2D arrays with 288x288 pixels with the following data:
- **features**
- PA images of experimentally acquired data, reconstructed with the time reversal algorithm
- **features_das**
- PA images of experimentally acquired data, reconstructed with the delay-and-sum algorithm,
which can be understood as a discrete implementation of the universal backprojection
- **features_sim**
- PA images of simulated data, reconstructed with the delay-and-sum algorithm,
which can be understood as a discrete implementation of the universal backprojection
- **fluence**
- A map of the light fluence based on a Monte Carlo model of a digital representation
of the used PA device and the optical properties detailed below
- **mua**
- A map of the optical absorption coefficient distribution inside the tissue-mimicking material
- **musp**
- A map of the reduced optical scattering coefficient distribution inside the tissue-mimicking material.
We assume an anisotropy of g=0.7
- **segmentation**
- A segmentation mask of the different regions of the phantom.
0 = Background coupling medium (water)
1 = Phantom base material
2+ = Instance segmentations of each inclusion in the phantom (N=0-4)
To load the data, simply call:
import numpy as np
data = np.load("path/to/npz_file.npz")
experiment = data["features_das"]
simulation = data["features_sim"]
...
### Flow Phantom Data
The flow phantom data are comprised of two file types: the segmentation mask (Scan13_0-labels.nrrd), and the
photoacoustic measurement data at different time steps (Scan13_XXX.npz).
The segmentation mask is a nrrd file that can be read with the pynrrd library and contains a 288x288 pixels
segmentation mask with the following labels being assigned: 1 = coupling medium (water); 3 = phantom; 4 = blood tube inside the phantom.
The photoacoustic measurement data contain only a single "data" field which is a (16, 288, 288) numpy array,
corresponding to 16 measurements at different wavelengths:
[660, 680, 700, 720, 740, 760, 780, 800, 820, 840, 860, 880, 900, 920, 940, 960] nm.
These data can be loaded analogously to the phantom data, keeping in mind that only the "data" array exists.
### Mouse Data
Analogous to the flow phantom data, the mouse data are segmentation mask / photoacoustic measurement data pairs.
The following label assignments were made:
1 = coupling medium (water)
2 = mouse body
3 = spleen
4 = kidney
5 = spine
6 = aorta
The photoacoustic data "data" are numpy array of shape (10, 288, 288), corresponding to the ten acquisition
wavelengths [700, 730, 750, 760, 770, 800, 820, 840, 850, 880] nm.
These data can be loaded analogously to the phantom data, keeping in mind that only the "data" array exists.
## Loading the model parameters into our U-Net implementation
import torch
from utils.networks import RegressionUNet
# TODO define BASE_PATH and fold
device = torch.device("cpu")
model = RegressionUNet(out_channels=2)
model.load_state_dict(torch.load(f"{BASE_PATH}{fold}/model_parameters.pt", map_location="cpu"))
model.to(device)
model.float()
Keywords
deep learning, image reconstruction, photoacoustic imaging, quantitative imaging
Publisher
Sponsorship
Cancer Research UK (C14303/A17197)
National Physical Laboratory (NPL) (unknown)
National Physical Laboratory (NPL) (unknown)
National Physical Laboratory (NPL) (unknown)
National Physical Laboratory (NPL) (unknown)
National Physical Laboratory (NPL) (unknown)
National Physical Laboratory (NPL) (unknown)