Welcome to the Neuroimaging and Machine Learning for Biomedicine coursebook#
Abstract#
Nowadays Computational Neuroscience and Neuroimaging are fast-growing areas mostly due to new methods of acquiring, storing, and processing of experimental data. Application of AI systems in clinics (for example, creating medical decision support systems) and in adjacent areas (education, pedagogics, etc.) includes processing of Neuroimaging data acquired from different devices (modern multichannel “dense” EEG systems, high-field MR-scanners, multichannel fNIRS systems, which allow precisely and non-invasively record brain activity with good spatial and temporal resolution), automation of these data analysis, and new knowledge extraction from it.
The majority of relevant tasks include classification tasks for diagnostics and prognosis, finding clinically (biophysically) significant patterns, highlighting areas of interest, and others. Neuroimaging data has several distinctive properties: it is multimodal, high-dimensional, and usually very noisy. An effective analysis of these data requires an understanding of the biophysical processes in the organism and the processes occurring in the scanning equipment, which are both reflected by neuroimaging data, as well as the use of a number of mathematical models that adequately describe these processes.
In the course we:
explain basic ideas and results in tasks and approaches for the neuroimaging data preprocessing based on biophysical principles and processes in scanning equipment,
review mathematical and ML models describing the neuroimaging data reflecting their specific properties,
use the conventional as well as SOTA Data Analysis and Machine Learning techniques for extracting meaningful biomarkers from the data and solving fundamental neuroscience problems as well the applied biomedical tasks.
Prerequisites#
Please check this list of prerequisites if needed. Each subject is a clickable link to an appropriate introductory course.
Python programming
Fundamentals of statistics
Fundamentals of linear algebra
Contribution#
This is an open project for everyone to improve it. If you would like to contribute to the book, please refer to the github page.
Acknowledgements#
We would like to thank Skoltech for the help in creating this book and the opportunity to test the material presented in it as part of the course of the same name.
Contents#
Introduction
- Links
- Intro to shell
- How to work with Python
- Python
- Libraries
- Part 1 - Basics of Python
- Working with NumPy
- Intro to ML
- How objects are set. Feature description
- Types of tasks
- Cross-validation (CV)
- Regression Training
- Training classification model:
- Analysis of classification errors
- Loss functions depending on the error penalty
- Definition of the ROC curve
- ROC-curve and AUC (Area Under Curve)
- Assessment of the quality of two-class classification
- Accuracy and completeness of multiclass classification
- Assessment of classification quality
- Aggregated estimates:
- How to choose model hyperparameters
- The curse of dimensionality
- Dimensionality reduction. The principal component analysis (PCA): problem statement
- Matrix notation
- Pytorch fundamentals
- Intro to computer vision
Seminar 1. Working with EEG
Seminars 2-3. Working with MRI
- Preparation to Seminar 2
- Seminar 2.1. MRI data analysis, databases and tools
- Transformations
- Affine transformations and rigid transformations
- Spatial Normalization Methods
- ANTs Registration
- ANTs initialize + ANTs transform
- File formats convertation - volume-to-volume
- FREESURFER
- Freesurfer Output Visualization
- Extract features from stats data:
- Seminar 3.1. MRI classification with 3D CNN
- Seminar 3.2. MRI segmentation with 3D U-net
Seminar 4-6. Working with fMRI
Seminar 7. Interpretation