# tanmay-g1/brain-tumor-detection-implementation architecture

> Architecture diagram of the GitHub repository tanmay-g1/brain-tumor-detection-implementation, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/tanmay-g1/brain-tumor-detection-implementation
- Repository: https://github.com/tanmay-g1/brain-tumor-detection-implementation

## Overview

This repository is a brain-tumor MRI research implementation: it trains binary and four-class CNN classifiers, evaluates results, generates explainability visualizations, and offers an interactive Flask interface. The principal research workflow progresses from image preprocessing and model training to evaluation and interpretation; separate scripts implement the binary and multiclass variants. Model comparison and cross-dataset validation extend the research. The excerpts confirm dataset access and some interface behavior, but not most scripts’ runtime handoffs, so those links are omitted rather than inferred.

Main entry points: [`Brain_tumor-research-paper-implementation/data/multiclass`](https://github.com/tanmay-g1/brain-tumor-detection-implementation/tree/main/Brain_tumor-research-paper-implementation/data/multiclass) (Multiclass MRI Data), [`Brain_tumor-research-paper-implementation/data`](https://github.com/tanmay-g1/brain-tumor-detection-implementation/tree/main/Brain_tumor-research-paper-implementation/data) (Binary MRI Data), [`Brain_tumor-research-paper-implementation/2_train_cnn.py`](https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/2_train_cnn.py) (Binary CNN Training), [`Brain_tumor-research-paper-implementation/5_lime_explain.py`](https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/5_lime_explain.py) (Binary LIME)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data_models["Data and Models"]
  node_binary_data[("Binary MRI Data")]
  node_multiclass_data[("Multiclass MRI Data")]
end

subgraph group_binary_research["Binary Research"]
  node_preprocessing["Image Preprocessing<br/>[1_preprocessing.py]"]
  node_binary_training["Binary CNN Training<br/>[2_train_cnn.py]"]
  node_binary_evaluation["Binary Evaluation<br/>[3_evaluate.py]"]
  node_binary_gradcam["Binary Grad-CAM<br/>[4_gradcam.py]"]
  node_binary_lime["Binary LIME<br/>[5_lime_explain.py]"]
  node_binary_attribution["Binary Attributions<br/>[6_shap_explain.py]"]
  node_model_comparison["Literature Comparison"]
  node_binary_combined_xai["Combined Binary XAI<br/>[8_xai_combined.py]"]
  node_cross_validation["Cross-Dataset Validation"]
end

subgraph group_multiclass_research["Multiclass Research"]
  node_multiclass_training["Multiclass Training"]
  node_multiclass_gradcam["Multiclass Grad-CAM<br/>[11_mc_gradcam.py]"]
  node_multiclass_lime["Multiclass LIME<br/>[12_mc_lime.py]"]
  node_multiclass_attribution["Multiclass Attributions<br/>[13_mc_shap.py]"]
  node_multiclass_combined_xai["Combined Multiclass XAI"]
end

subgraph group_interface["Prediction Interface"]
  node_web_app["Flask Prediction App<br/>[app.py]"]
end

node_researcher(("Researcher"))

node_researcher -->|"uses"| node_web_app
node_binary_data -->|"loads images"| node_binary_training
node_multiclass_data -->|"loads images"| node_multiclass_training
node_binary_data -->|"selects samples"| node_binary_lime
node_multiclass_data -->|"loads samples"| node_multiclass_gradcam
node_multiclass_data -->|"loads samples"| node_multiclass_attribution
node_multiclass_data -->|"loads samples"| node_multiclass_combined_xai

click node_binary_data "https://github.com/tanmay-g1/brain-tumor-detection-implementation/tree/main/Brain_tumor-research-paper-implementation/data"
click node_multiclass_data "https://github.com/tanmay-g1/brain-tumor-detection-implementation/tree/main/Brain_tumor-research-paper-implementation/data/multiclass"
click node_preprocessing "https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/1_preprocessing.py"
click node_binary_training "https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/2_train_cnn.py"
click node_binary_evaluation "https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/3_evaluate.py"
click node_binary_gradcam "https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/4_gradcam.py"
click node_binary_lime "https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/5_lime_explain.py"
click node_binary_attribution "https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/6_shap_explain.py"
click node_model_comparison "https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/7_model_comparison.py"
click node_binary_combined_xai "https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/8_xai_combined.py"
click node_cross_validation "https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/9_cross_dataset_validation.py"
click node_multiclass_training "https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/10_multiclass_extension.py"
click node_multiclass_gradcam "https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/11_mc_gradcam.py"
click node_multiclass_lime "https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/12_mc_lime.py"
click node_multiclass_attribution "https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/13_mc_shap.py"
click node_multiclass_combined_xai "https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/14_mc_xai_combined.py"
click node_web_app "https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/app.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_binary_data,node_multiclass_data toneBlue
class node_preprocessing,node_binary_training,node_binary_evaluation,node_binary_gradcam,node_binary_lime,node_binary_attribution,node_model_comparison,node_binary_combined_xai,node_cross_validation toneAmber
class node_multiclass_training,node_multiclass_gradcam,node_multiclass_lime,node_multiclass_attribution,node_multiclass_combined_xai toneMint
class node_web_app toneRose
class node_researcher toneIndigo
```

## Components

### Data and Models

- [Binary MRI Data](https://github.com/tanmay-g1/brain-tumor-detection-implementation/tree/main/Brain_tumor-research-paper-implementation/data): `Brain_tumor-research-paper-implementation/data`
- [Multiclass MRI Data](https://github.com/tanmay-g1/brain-tumor-detection-implementation/tree/main/Brain_tumor-research-paper-implementation/data/multiclass): `Brain_tumor-research-paper-implementation/data/multiclass`

### Binary Research

- [Image Preprocessing](https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/1_preprocessing.py): `Brain_tumor-research-paper-implementation/1_preprocessing.py`
- [Binary CNN Training](https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/2_train_cnn.py): `Brain_tumor-research-paper-implementation/2_train_cnn.py`
- [Binary Evaluation](https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/3_evaluate.py): `Brain_tumor-research-paper-implementation/3_evaluate.py`
- [Binary Grad-CAM](https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/4_gradcam.py): `Brain_tumor-research-paper-implementation/4_gradcam.py`
- [Binary LIME](https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/5_lime_explain.py): `Brain_tumor-research-paper-implementation/5_lime_explain.py`
- [Binary Attributions](https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/6_shap_explain.py): `Brain_tumor-research-paper-implementation/6_shap_explain.py`
- [Literature Comparison](https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/7_model_comparison.py): `Brain_tumor-research-paper-implementation/7_model_comparison.py`
- [Combined Binary XAI](https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/8_xai_combined.py): `Brain_tumor-research-paper-implementation/8_xai_combined.py`
- [Cross-Dataset Validation](https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/9_cross_dataset_validation.py): `Brain_tumor-research-paper-implementation/9_cross_dataset_validation.py`

### Multiclass Research

- [Multiclass Training](https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/10_multiclass_extension.py): `Brain_tumor-research-paper-implementation/10_multiclass_extension.py`
- [Multiclass Grad-CAM](https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/11_mc_gradcam.py): `Brain_tumor-research-paper-implementation/11_mc_gradcam.py`
- [Multiclass LIME](https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/12_mc_lime.py): `Brain_tumor-research-paper-implementation/12_mc_lime.py`
- [Multiclass Attributions](https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/13_mc_shap.py): `Brain_tumor-research-paper-implementation/13_mc_shap.py`
- [Combined Multiclass XAI](https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/14_mc_xai_combined.py): `Brain_tumor-research-paper-implementation/14_mc_xai_combined.py`

### Prediction Interface

- [Flask Prediction App](https://github.com/tanmay-g1/brain-tumor-detection-implementation/blob/main/Brain_tumor-research-paper-implementation/app.py): `Brain_tumor-research-paper-implementation/app.py`

### Other components

- **Researcher**

## Connections

- Researcher → Flask Prediction App: uses (evidence: `Brain_tumor-research-paper-implementation/app.py`)
- Binary MRI Data → Binary CNN Training: loads images (evidence: `Brain_tumor-research-paper-implementation/2_train_cnn.py`)
- Multiclass MRI Data → Multiclass Training: loads images (evidence: `Brain_tumor-research-paper-implementation/10_multiclass_extension.py`)
- Binary MRI Data → Binary LIME: selects samples (evidence: `Brain_tumor-research-paper-implementation/5_lime_explain.py`)
- Multiclass MRI Data → Multiclass Grad-CAM: loads samples (evidence: `Brain_tumor-research-paper-implementation/11_mc_gradcam.py`)
- Multiclass MRI Data → Multiclass Attributions: loads samples (evidence: `Brain_tumor-research-paper-implementation/13_mc_shap.py`)
- Multiclass MRI Data → Combined Multiclass XAI: loads samples (evidence: `Brain_tumor-research-paper-implementation/14_mc_xai_combined.py`)
