{"id":20893233,"url":"https://github.com/keiserlab/plaquebox-paper","last_synced_at":"2025-05-12T22:32:31.555Z","repository":{"id":84845366,"uuid":"155779414","full_name":"keiserlab/plaquebox-paper","owner":"keiserlab","description":"Repo for Tang et al, bioRxiv 454793 (2018)","archived":false,"fork":false,"pushed_at":"2019-03-24T03:48:08.000Z","size":33176,"stargazers_count":41,"open_issues_count":2,"forks_count":25,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-01T13:05:30.393Z","etag":null,"topics":["alzheimers-disease","amlyoid-plaques","convolutional-neural-networks","deep-learning","dementia","explainable-ai","immunohistochemical-images","interpretable-machine-learning","machine-learning","medical-image-analysis","pathology","plaques","saliency-map"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/keiserlab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-11-01T21:42:24.000Z","updated_at":"2025-01-23T11:15:42.000Z","dependencies_parsed_at":"2023-03-03T03:30:23.372Z","dependency_job_id":null,"html_url":"https://github.com/keiserlab/plaquebox-paper","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keiserlab%2Fplaquebox-paper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keiserlab%2Fplaquebox-paper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keiserlab%2Fplaquebox-paper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keiserlab%2Fplaquebox-paper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/keiserlab","download_url":"https://codeload.github.com/keiserlab/plaquebox-paper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253833350,"owners_count":21971401,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alzheimers-disease","amlyoid-plaques","convolutional-neural-networks","deep-learning","dementia","explainable-ai","immunohistochemical-images","interpretable-machine-learning","machine-learning","medical-image-analysis","pathology","plaques","saliency-map"],"created_at":"2024-11-18T10:15:02.181Z","updated_at":"2025-05-12T22:32:26.525Z","avatar_url":"https://github.com/keiserlab.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Interpretable Classification of Alzheimer's Disease Pathologies with a Convolutional Neural Network Pipeline\n## bioRxiv 454793\n## DOI: https://doi.org/10.1101/454793\n## Zenodo Data Available at: https://doi.org/10.5281/zenodo.1470797\nThis repository accompanies the publication above. Specifically, we include Jupyter notebooks to reproduce all image preprocessing and processing, training of convolutional neural networks, confidence visualizations, and saliency maps. The available code is provided as-is, and does not constitute a full-fledged software package for analysis.\n\n## Systems requirements\n\nThis code repository was developed on Linux CentOS 7 and Ubuntu 18 and has not been tested on on other systems (Windows, MacOS).\n\nCode requires the following Python packages:\n```\npython                    3.6.5                hc3d631a_2  \nipython                   6.4.0                    py36_0  \njupyter                   1.0.0                    py36_4  \nmatplotlib                2.2.2            py36h0e671d2_1  \nnumpy                     1.14.3           py36hcd700cb_1  \npandas                    0.23.0           py36h637b7d7_0  \nscikit-learn              0.19.1           py36h7aa7ec6_0     \nscikit-image              0.13.1           py36h14c3975_1    \nscipy                     1.1.0            py36hfc37229_0  \npytorch                   0.3.0            py35_cuda8.0.61_cudnn7.0.3hb362f6e_4    pytorch\ntorchvision               0.2.1                    py36_1    pytorch   \nlibopencv                 3.4.1                h1a3b859_1   \nopencv                    3.4.1            py36h6fd60c2_2  \npy-opencv                 3.4.1            py36h0676e08_1  \npyvips                    2.1.2                     \u003cpip\u003e\ntqdm                      4.23.4                   py36_0\n```\n\nIn addition, libvips (version 8.2.2-1) was used in this study for handling of whole slide images. The open-source python package pyvips is a wrapper for libvips ((https://jcupitt.github.io/libvips/), which can be installed in Linux with the following:\n\n```\nsudo apt-get install libvips\n```\n\n### Hardware Requirements\n\nGraphics Cards for Deep Learning - All deep learning models were trained using 4 X NVIDIA 1080 GPUs. As indicated above, PyTorch requires CUDA 8.0 and cuDNN 7.0 for compatibility.\n\n## Installation guide\n\nWe recommend creating a new Anaconda (https://www.anaconda.com/) environment with the dependencies above.\n\nThis repository can be cloned directly through:\n\n```\ngit clone https://github.com/keiserlab/plaquebox-paper.git\n```\n\n## Demo\n\nNotebook [2.2) CNN Models - Test Cases](https://github.com/keiserlab/plaquebox-paper/blob/master/2.2%29%20CNN%20Models%20-%20Test%20Cases.ipynb) is a demo that shows how to apply the trained CNN model on unseen dataset. Simply download the tiles from Zenodo repository and unzip it to the /data folder, then the notebook can be run through Jupyter.\n\n## Instructions for use\n\nThis repository contains 11 notebooks to reproduce the results from the linked paper. Each notebook includes details relevant to a portion of the described pipeline, with detailed descriptions at the top of each notebook. For results reproduction, these files are presented in sequential order and depend on the previous notebook.\n\n### Data Download\n\nBefore running the code, it is necessary to download the raw datafiles from the corresponding Zenodo repository above and unzip the files to the /data folder.\n\n### Modifying Filepaths\n\nThe filepaths must be specified as indicated in each notebook to specify the location of the downloaded data.\n\n\n### 1. Preprocessing Steps\n\n**Notebooks 1.1-1.3** describe necessary preprocessing steps, including: color normalization, whole slide image tiling, blob detection, and dataset splitting.\n\n### 2. Model Training and Development\n\n**Notebooks 2.1 and 2.2** detail model development, training, and testing.\n\n### 3. Visualizing Predictions\n\n**Notebook 3** describes prediction confidence heatmaps.\n\n### 4. Saliency Maps\n\n**Notebooks 4.1 and 4.2** describe feature interpretation studies, including feature occlusion and guided-grad cam studies.\n\n### 5. CERAD-like Scoring on Whole Slide Images\n**Notebooks 5.1-5.3** describe whole slide scoring.\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeiserlab%2Fplaquebox-paper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeiserlab%2Fplaquebox-paper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeiserlab%2Fplaquebox-paper/lists"}