Multimodal models of 20 normal brains
Project description
The relevant file is README.ipynb, accessible via any of the following:
BrainWeb: Multimodal models of 20 normal brains
Download and Preprocessing for PET-MR Simulations
This notebook will not re-download/re-process files if they already exist.
Output data
~/.brainweb/subject_*.npz: dtype(shape): float32(127, 344, 344)
~/.brainweb/subject_*.bin.gz: dtype(shape): uint16(362, 434, 362)
Prerequisites
Python: requirements.txt (e.g. pip install -r ../../requirements.txt)
Author: Casper da Costa-Luis <casper.dcl@physics.org>
Date: 2017-19
Licence: MPLv2.0
from __future__ import print_function, division
%matplotlib notebook
from utils import volshow
import utils as brainweb
import numpy as np
from os import path
from tqdm.auto import tqdm
import logging
logging.basicConfig(level=logging.INFO)
Raw Data
# download
files = brainweb.get_files()
# read
data = []
for f in tqdm(files, desc="Uncompressing into memory", unit="subject"):
data.append(brainweb.load_file(f))
# show last subject
print(files[-1])
volshow(data[-1]);
~/.brainweb/subject_54.bin.gz
Transform
Convert raw image data:
Siemens Biograph mMR resolution (~2mm) & dimensions (127, 344, 344)
PET/T1/T2/uMap intensities
randomised structure for PET/T1/T2
t (1 + g [2 G_sigma(r) - 1]), where
r = rand(127, 344, 344) in [0, 1),
Gaussian smoothing sigma = 1,
g = 1 for PET; 0.75 for MR, and
t = the PET or MR piecewise constant phantom
brainweb.seed(1337)
with tqdm(total=len(files), desc="mMR ground truths", unit="subject") as progress:
for (f, vol) in zip(files, data):
cache = f.replace('.bin.gz', '.npz')
vol = brainweb.get_mmr(cache, vol,
petNoise=1, t1Noise=0.75, t2Noise=0.75,
petSigma=1, t1Sigma=1, t2Sigma=1)
progress.update()
# show last subject
#f = files[-1].replace('.bin.gz', '.npz')
#vol = np.load(f)
print(f)
volshow([vol['PET' ][:, 100:-100, 100:-100],
vol['uMap'][:, 100:-100, 100:-100],
vol['T1' ][:, 100:-100, 100:-100],
vol['T2' ][:, 100:-100, 100:-100]],
cmaps=["hot", "bone", "Greys_r", "Greys_r"],
titles=["PET", "uMap", "T1", "T2"]);
~/.brainweb/subject_54.bin.gz
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for brainweb-0.2.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21505717ee9ce4659f1e967dbe2c1dcc16d6a85fc256c21ccf0c755423fc8607 |
|
MD5 | bef25a515e5fc8a10db8c32391ce12f5 |
|
BLAKE2b-256 | ef7aad88f6e70ed034fb7af398d276ddc7126637c80c8497f6d4309378a47af8 |