# Multimodal Attention for Alzheimer's Disease Classification
Code for the paper [Multimodal Attention-based Deep Learning for Alzheimer's Disease Diagnosis](https://academic.oup.com/jamia/advance-article/doi/10.1093/jamia/ocac168/6712292).
## Dataset
We provide results on the [Alzheimer's Disease Neuroimaging Initiative (ADNI) dataset](https://adni.loni.usc.edu/). The data is not provided in this repository and needs to be requested directly from ADNI.
## Requirements:
Python 3.7.4 (and above)
Tensorflow 2.6.0
Further details on all packages used in this repository can be found in general/requirements.txt
## Description
In this work, we presented a multi-modal, multi-class, attention-based deep learning framework to detect Alzheimer's disease using genetic, clinical, and imaging data from ADNI.
<img src="https://user-images.githubusercontent.com/35315239/187262625-0f980b94-7cce-49ec-9041-421e56b67ecd.png" width="600">
This repository contains the code for the mentioned paper. The model architecture above is located in training/train_all_modalities.py.
## Preprocessing
To create a list of patient IDs with their diagnosis, run the notebook general/diagnosis_making.ipynb.
To preprocess clinical data run the notebook preprocess_clincal/create_clinical_dataset.ipynb, which will create a CSV file with the necessary data.
The CSVs used in the scripts above need to be obtained from ADNI directly and are thus not included with the notebooks.
To preprocess imaging data, first run preprocess_images.py with the directory where images are stored as the argument. Then, use the file created from the script to run the notebook in preprocess_images/splitting_image_data.ipynb to split your data into training and testing.
To preprocess genetic data (SNPs), first obtain VCF files from ADNI. Then use the vcftools package to filter the files based on your chosen criteria (Hardy-Weinberg equilibrium, genotype quality, minor allele frequency, etc.). To further filter the VCF files according to the AD-related genes from AlzGene Database (http://www.alzgene.org/), run filter_vcfs.py script. Next, to compile all the genetic files together run concat_vcfs.py. Finally, to further reduce the number of features, run the notebook create_genetic_dataset.ipynb. All scripts can be found in the preprocess_genetic folder.
## Training and Evaluation
To train and evaluate a uni-modal model baseline, run train_clinical.py, train_genetic.py, or train_imaging.py.
To train and evaluate the multimodal architecture, run train_all_modalities.py.
## Credits
Some of the structure in this repo was adopted from https://github.com/soujanyaporia/contextual-multimodal-fusion
## Authors
[Michal Golovanevsky](https://github.com/michalg04)
AI拉呱
- 粉丝: 2893
- 资源: 5551
最新资源
- 开发了一种基于COMSOL 5.5的损伤模型,专门用于模拟脆性材料在压缩、摩擦和剪切条件下的破坏行为 该模型采用非局部本构关系,通过考虑材料内部微观结构的影响,精确捕捉脆性材料在受力过程中的应力分布
- 如何在 Java Spring Boot 中创建基本应用程序
- 2-记录料理心得,规划用餐计划-家庭厨子的福音
- 遗传算法matlab源代码matlab实现遗传算法程序源码.zip
- droop+SVPWM,基于I型NPC三电平逆变器,下垂控制与SVPWM混合控制,采用电压电流双闭环控制,基于零序电压注入的中点电位平衡控制 1.下垂控制,SVPWM调制 2.中点电位平衡控制,电压
- 高精度车牌识别系统 基于YOLOv5和PPOCR的车牌识别 有GUI界面 可以读取车牌图像和视频,实现车牌检测 算法已封装成模块接口,输入图片,输出识别后标注的图片和结果,包含模型权重 功能:通过UI
- Java Spring Boot 微服务 – Eureka 和 Spring Cloud Gateway 的集成
- 2-简易本地桌面歌词 v1.0.1
- 基于PLC的三相异步电动机多段速度控制系统设计 西门子1200系列 提供:程序,HMI画面,IO分配表,PLC接线图,主电路电气原理图 《支持程序定制》 基于博图V16编写,v16以上版本都可以打开
- 数据库课程设计代码加实验报告
- MATLAB Simulink粒子群优化算法永磁同步电机PMSM参数辨识 附参考文献 永磁同步电机PMSM控制结构与常规的一致,就多了粒子群算法进行永磁同步电机PMSM参数辨识,辨识精度高,仿真效果好
- 32-汪茶美个人项目.zip
- 洛谷 入门与面试(Basic题)-2024.12.31(C).pdf
- 2- 唯美的电子日记本v4.3.3
- 自己封装STM32G4系列 HAL库的软件模拟IIC
- 基于自适应观测器的故障诊断及容错控制(推倒过程lmi求解simulink仿真)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈